Unreviewed, make distcheck fix.

Source/WebCore:

* GNUmakefile.list.am: Add missing headers to the sources list.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@116227 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed preparation for 1.9.2.

* configure.ac: bump version to 1.9.2 and bump libtool version.

Source/WebKit/gtk:

* NEWS: changes from 1.9.1.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@116228 268f45cc-cd09-0410-ab3c-d52691b4dbfc
webkitpy: Use os.pathsep instead of manually finding out the path separator in NRWT.
https://bugs.webkit.org/show_bug.cgi?id=85697

Reviewed by Eric Seidel.

* Scripts/new-run-webkit-tests: Instead of manually detecting whether
the path separator should be ':' or ';' by checking sys.platform, rely
on os.pathsep which has exactly the same information (os.pathsep is
':' for Cygwin, from what I could check in Python's sources).

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@116229 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add new Setting/Preference to disable requestAnimationFrame
https://bugs.webkit.org/show_bug.cgi?id=85693

Reviewed by Simon Fraser.

Source/WebCore:

Hook up the new WebPreference for disabling requestAnimationFrame
to Settings. This isn't disabling the feature in the typical
WebKit ENABLE() way - it's still available in the DOM, it's
just that the animations will never be serviced. This allows a client
to disable the machinery without breaking content (other than the
animations).

The new test is currently skipped on all platforms because toggling
the preference interferes with the other tests that are running
at the same time (and expect a working requestAnimationFrame).
https://bugs.webkit.org/show_bug.cgi?id=85689

Test: fast/animation/request-animation-frame-disabled.html

* dom/ScriptedAnimationController.cpp:
(WebCore::ScriptedAnimationController::serviceScriptedAnimations):
(WebCore::ScriptedAnimationController::windowScreenDidChange):
(WebCore::ScriptedAnimationController::scheduleAnimation):
Check the setting before deciding to act.
* page/Settings.cpp:
(WebCore::Settings::Settings):
* page/Settings.h:
(WebCore::Settings::setRequestAnimationFrameEnabled):
(WebCore::Settings::requestAnimationFrameEnabled):
(Settings):

Source/WebKit/mac:

Exposes a new WebPreference: WebKitRequestAnimationFrameEnabled.
The default value is true. The majority of applications will leave
it this way.

* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences requestAnimationFrameEnabled]):
(-[WebPreferences setRequestAnimationFrameEnabled:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):

Source/WebKit/win:

Exposes a new WebPreference: WebKitRequestAnimationFrameEnabled.
The default value is true. The majority of applications will leave
it this way.

* Interfaces/IWebPreferencesPrivate.idl:
* WebPreferenceKeysPrivate.h:
* WebPreferences.cpp:
(WebPreferences::initializeDefaultSettings):
(WebPreferences::setRequestAnimationFrameEnabled):
(WebPreferences::requestAnimationFrameEnabled):
* WebPreferences.h:
(WebPreferences):
* WebView.cpp:
(WebView::notifyPreferencesChanged):

Source/WebKit2:

Exposes a new WebPreference: WebKitRequestAnimationFrameEnabled.
The default value is true. The majority of applications will leave
it this way.

* Shared/WebPreferencesStore.h:
(WebKit):
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetRequestAnimationFrameEnabled):
(WKPreferencesGetRequestAnimationFrameEnabled):
* UIProcess/API/C/WKPreferencesPrivate.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):

LayoutTests:

A new test that exercises turning the requestAnimationFrame
preference off. Unfortunately this conflicts with the parallel
tests that expect the preference to be on (as it should by default),
so the test is skipped on all platforms. It can be run in isolation.
https://bugs.webkit.org/show_bug.cgi?id=85689

* fast/animation/request-animation-frame-disabled-expected.txt: Added.
* fast/animation/request-animation-frame-disabled.html: Added.
* fast/animation/script-tests/request-animation-frame-disabled.js: Added.
* platform/chromium/test_expectations.txt:
* platform/efl/test_expectations.txt:
* platform/gtk/test_expectations.txt:
* platform/mac/Skipped:
* platform/mac/test_expectations.txt:
* platform/qt/test_expectations.txt:
* platform/win/Skipped:
* platform/win/test_expectations.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@116230 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] WebKit should properly set the input method context window location
https://bugs.webkit.org/show_bug.cgi?id=84981

Patch by Martin Robinson <mrobinson@igalia.com> on 2012-05-05
Reviewed by Gustavo Noronha Silva.

Source/WebCore:

* platform/gtk/GtkInputMethodFilter.cpp:
(WebCore::GtkInputMethodFilter::setCursorRect): Add this method to plumb the
cursor rect through to the input method.
* platform/gtk/GtkInputMethodFilter.h: Add the new method declaration.

Source/WebKit/gtk:

* WebCoreSupport/ChromeClientGtk.cpp:
(WebKit::ChromeClient::paint): During painting, update the cursor rectangle
if possible.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@116231 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r116221.
http://trac.webkit.org/changeset/116221
https://bugs.webkit.org/show_bug.cgi?id=85722

broke builds that use -Wshorten-64-to-32 (Requested by pizlo
on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-05-05

Source/WebCore:

* html/canvas/WebGLRenderingContext.cpp:
(WebCore):
(WebCore::WebGLRenderingContext::bufferData):
(WebCore::WebGLRenderingContext::bufferSubData):
(WebCore::WebGLRenderingContext::drawElements):
(WebCore::WebGLRenderingContext::getVertexAttribOffset):
(WebCore::WebGLRenderingContext::vertexAttribPointer):
* html/canvas/WebGLRenderingContext.h:
(WebGLRenderingContext):
* html/canvas/WebGLRenderingContext.idl:

LayoutTests:

* fast/canvas/webgl/index-validation-expected.txt:
* fast/canvas/webgl/index-validation.html:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@116232 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove TrustedImm32::m_isPointer
https://bugs.webkit.org/show_bug.cgi?id=85726

Rubber stamped by Sam Weinig.

We used to rely on being able to generate code with known, fixed offsets – to do so we
would inhibit more optimal code generation for pointers. This is no longer necessary.

* assembler/AbstractMacroAssembler.h:
(JSC::AbstractMacroAssembler::TrustedImm32::TrustedImm32):
(TrustedImm32):
* assembler/MacroAssemblerARM.h:
(JSC::MacroAssemblerARM::store32):
(JSC::MacroAssemblerARM::move):
(JSC::MacroAssemblerARM::branch32):
* assembler/MacroAssemblerARMv7.h:
(JSC::MacroAssemblerARMv7::move):
* assembler/MacroAssemblerMIPS.h:
(JSC::MacroAssemblerMIPS::add32):
(JSC::MacroAssemblerMIPS::and32):
(JSC::MacroAssemblerMIPS::mul32):
(JSC::MacroAssemblerMIPS::or32):
(JSC::MacroAssemblerMIPS::sub32):
(JSC::MacroAssemblerMIPS::store32):
(JSC::MacroAssemblerMIPS::move):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@116233 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix the GTK+ TextureMapper accelerated compositing build.

* webkit/webkitwebview.cpp:
(webkit_web_view_realize): Properly access the private data
structure of the WebKitWebView.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@116234 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Share stylesheet data structures between documents
https://bugs.webkit.org/show_bug.cgi?id=85598

Source/WebCore: 

Reviewed by Darin Adler.

We currently make a copy of the data structures when restoring a cached stylesheet. This patch lets us share
the data until someone uses CSSOM to modify the sheet.
        
The patch implements copy-on-write for the internal style sheet data structures. If any mutation CSSOM API is
invoked, we check if the stylesheet can be safely mutated (we are the only client, it is not cached). If not
then the internal structures are copied and any existing CSSOM objects are re-attached to the new tree.
        
Sharing can save significant amount of memory on sites with large stylesheets. For example if you have
multiple articles open on wsj.com this saves ~2.6MB per tab.
        
Test: http/tests/css/shared-stylesheet-mutation.html
      http/tests/css/shared-stylesheet-mutation-preconstruct.html

* css/CSSFontFaceRule.cpp:
(WebCore::CSSFontFaceRule::reattach):
(WebCore):
* css/CSSFontFaceRule.h:
(CSSFontFaceRule):
* css/CSSMediaRule.cpp:
(WebCore::CSSMediaRule::insertRule):
(WebCore::CSSMediaRule::deleteRule):
(WebCore::CSSMediaRule::reattach):
(WebCore):
* css/CSSMediaRule.h:
(CSSMediaRule):
* css/CSSPageRule.cpp:
(WebCore::CSSPageRule::setSelectorText):
(WebCore::CSSPageRule::reattach):
(WebCore):
* css/CSSPageRule.h:
(CSSPageRule):
* css/CSSRule.cpp:
(WebCore::CSSRule::reattach):
        
    After the internal stylerule tree has been copied, the existing wrappers are re-attached using recursive reattach() function.

* css/CSSRule.h:
(WebCore):
(CSSRule):
* css/CSSStyleRule.cpp:
(WebCore::CSSStyleRule::setSelectorText):
(WebCore::CSSStyleRule::reattach):
(WebCore):
* css/CSSStyleRule.h:
(CSSStyleRule):
* css/CSSStyleSheet.cpp:
(WebCore::StyleSheetInternal::StyleSheetInternal):
(WebCore::StyleSheetInternal::isCacheable):
(WebCore::StyleSheetInternal::ruleAt):
        
    Add ruleAt(), use it for both wrapper creation and reattaching.  Remove createChildRuleCSSOMWrapper .

(WebCore):
(WebCore::StyleSheetInternal::wrapperInsertRule):
(WebCore::StyleSheetInternal::wrapperDeleteRule):
        
    Invalidation moves to the calling wrapper.

(WebCore::StyleSheetInternal::addedToMemoryCache):
(WebCore::StyleSheetInternal::removedFromMemoryCache):
(WebCore::CSSStyleSheet::willMutateRules):
        
    This is called whenever StyleSheetInternal is going to be mutated. It will do copy-on-write if needed.
            
    Usually invoked by CSSStyleSheet::RuleMutation RAII type.

(WebCore::CSSStyleSheet::didMutateRules):
        
    This is called after the mutation is complete and will trigger the style recalc in the document.

(WebCore::CSSStyleSheet::didMutate):
        
    This is called directly after mutations that don't change StyleSheetInternal so don't require copy-on-write.

(WebCore::CSSStyleSheet::reattachChildRuleCSSOMWrappers):
(WebCore::CSSStyleSheet::setDisabled):
(WebCore::CSSStyleSheet::insertRule):
(WebCore::CSSStyleSheet::deleteRule):
* css/CSSStyleSheet.h:
(StyleSheetInternal):
(WebCore::StyleSheetInternal::hasOneClient):
(WebCore::StyleSheetInternal::isMutable):
(WebCore::StyleSheetInternal::setMutable):
        
    Track mutability. Mutation is allowed only after willMutate call.

(WebCore::StyleSheetInternal::isInMemoryCache):
        
    Track if the object is in memory cache.

(WebCore::CSSStyleSheet::clearOwnerRule):
(CSSStyleSheet):
* css/MediaList.cpp:
(WebCore::MediaList::setMediaText):
(WebCore::MediaList::deleteMedium):
(WebCore::MediaList::appendMedium):
(WebCore::MediaList::didMutate):
(WebCore):
(WebCore::MediaList::reattach):
* css/MediaList.h:
(MediaList):
* css/PropertySetCSSStyleDeclaration.cpp:
(WebCore::PropertySetCSSStyleDeclaration::setCssText):
(WebCore::PropertySetCSSStyleDeclaration::setProperty):
(WebCore::PropertySetCSSStyleDeclaration::removeProperty):
(WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
(WebCore):
(WebCore::StyleRuleCSSStyleDeclaration::willMutate):
(WebCore::StyleRuleCSSStyleDeclaration::didMutate):
(WebCore::StyleRuleCSSStyleDeclaration::reattach):
(WebCore::InlineCSSStyleDeclaration::didMutate):
* css/PropertySetCSSStyleDeclaration.h:
(WebCore::PropertySetCSSStyleDeclaration::willMutate):
(WebCore::PropertySetCSSStyleDeclaration::didMutate):
(StyleRuleCSSStyleDeclaration):
* css/WebKitCSSKeyframesRule.cpp:
(WebCore::WebKitCSSKeyframesRule::setName):
(WebCore::WebKitCSSKeyframesRule::insertRule):
(WebCore::WebKitCSSKeyframesRule::deleteRule):
(WebCore::WebKitCSSKeyframesRule::reattach):
(WebCore):
* css/WebKitCSSKeyframesRule.h:
(WebKitCSSKeyframesRule):
* css/WebKitCSSRegionRule.cpp:
(WebCore::WebKitCSSRegionRule::reattach):
* css/WebKitCSSRegionRule.h:
(WebKitCSSRegionRule):
* inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyleSheet::reparseStyleSheet):
* loader/cache/CachedCSSStyleSheet.cpp:
(WebCore::CachedCSSStyleSheet::~CachedCSSStyleSheet):
(WebCore::CachedCSSStyleSheet::destroyDecodedData):
(WebCore::CachedCSSStyleSheet::restoreParsedStyleSheet):
        
    Don't copy when restoring. It is no longer necessary.
    Set the cache bit on the stylesheet.

(WebCore::CachedCSSStyleSheet::saveParsedStyleSheet):

LayoutTests: 

Reviewed by Darin Adler.
        
Test that mutations of a shared stylesheet work as expected. 
        
This is an http test due to cross-document security restrictions with file urls
(they can be overriden in DRT but I'd like this to work in browser too).

* http/tests/css/resources/shared.css: Added.
* http/tests/css/resources/shared-stylesheet-mutation.js: Added.
* http/tests/css/shared-stylesheet-mutation-expected.txt: Added.
* http/tests/css/shared-stylesheet-mutation-preconstruct-expected.txt: Added.
* http/tests/css/shared-stylesheet-mutation-preconstruct.html: Added.
* http/tests/css/shared-stylesheet-mutation.html: Added.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@116235 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Build fix.

Not reviewed.

* css/PropertySetCSSStyleDeclaration.cpp:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@116236 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: take timeline frame mode out of experimental
https://bugs.webkit.org/show_bug.cgi?id=85707

Reviewed by Pavel Feldman.

Source/WebCore:

- remove "Vertical timeline overview" experiment;
- add supportsFrameInstrumentation capability to InspectorTimelineAgent;
- show frame mode selector conditionally on supportsFrameInstrumentation capability.

* inspector/Inspector.json: Add Timeline.supportsFrameInstrumentation capability;
* inspector/InspectorClient.h: Add supportsFrameInstrumentation();
(InspectorClient):
(WebCore::InspectorClient::supportsFrameInstrumentation):
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::supportsFrameInstrumentation):
(WebCore):
(WebCore::InspectorTimelineAgent::InspectorTimelineAgent): Added FrameInstrumentationSupport parameter.
* inspector/InspectorTimelineAgent.h:
(WebCore):
(WebCore::InspectorTimelineAgent::create): ditto.
(InspectorTimelineAgent):
* inspector/WorkerInspectorController.cpp: Updated call site for InspectorTimelineAgent::create() to indicate frame instrumentation not supported.
(WebCore::WorkerInspectorController::WorkerInspectorController):
* inspector/front-end/Settings.js:
(WebInspector.ExperimentsSettings): Removed "Vertical Overview" experiment.
* inspector/front-end/TimelineOverviewPane.js: Expose frame mode conditionally on capability, not the experiment.
(WebInspector.TimelineOverviewPane):
* inspector/front-end/inspector.js: Added initialization for Capabilities.timelineSupportsFrameInstrumentation;
(WebInspector.doLoadedDone):

Source/WebKit/chromium:

- exposed supportFrameInstrumentation method to InspectorClient. Client must return true iff the platform will call
  InspectorInstrumentation::instrumentBeginFrame() upon beginning of frame rendering;

* src/InspectorClientImpl.cpp:
(WebKit::InspectorClientImpl::supportsFrameInstrumentation):
(WebKit):
* src/InspectorClientImpl.h:
(InspectorClientImpl):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@116237 268f45cc-cd09-0410-ab3c-d52691b4dbfc