WebKit-https.git
7 years ago[Gtk] NBSP are not replaced when using X clipboard
commit-queue@webkit.org [Tue, 12 Mar 2013 14:51:19 +0000 (14:51 +0000)]
[Gtk] NBSP are not replaced when using X clipboard
https://bugs.webkit.org/show_bug.cgi?id=112118

Patch by Tomas Popela <tpopela@redhat.com> on 2013-03-12
Reviewed by Martin Robinson.

We're not replacing nbsp with spaces when using X clipboard
(Shift+Insert or middle mouse button).

* platform/gtk/DataObjectGtk.cpp:
(WebCore::DataObjectGtk::text):

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

7 years agoSVG Pattern pixelated on inline SVG with CSS transforms
fmalita@chromium.org [Tue, 12 Mar 2013 14:38:48 +0000 (14:38 +0000)]
SVG Pattern pixelated on inline SVG with CSS transforms
https://bugs.webkit.org/show_bug.cgi?id=111587

Reviewed by Dirk Schulze.

Source/WebCore:

When calculating the resolution for resource image buffers, we need to also consider CSS
transforms. This patch updates calculateTransformationToOutermostSVGCoordinateSystem()
(renamed to calculateTransformationToOutermostCoordinateSystem) to include the affine
component from CSS transforms by walking the parent layer tree.

Test: svg/custom/resources-css-scaled.html

* rendering/svg/RenderSVGResourceClipper.cpp:
(WebCore::RenderSVGResourceClipper::applyClippingToContext):
* rendering/svg/RenderSVGResourceFilter.cpp:
(WebCore::RenderSVGResourceFilter::applyResource):
* rendering/svg/RenderSVGResourceGradient.cpp:
(WebCore::createMaskAndSwapContextForTextGradient):
(WebCore::clipToTextMask):
* rendering/svg/RenderSVGResourceMasker.cpp:
(WebCore::RenderSVGResourceMasker::applyResource):
* rendering/svg/RenderSVGResourcePattern.cpp:
(WebCore::RenderSVGResourcePattern::buildPattern):
* rendering/svg/SVGRenderingContext.cpp:
(WebCore::SVGRenderingContext::calculateScreenFontSizeScalingFactor):
(WebCore::SVGRenderingContext::calculateTransformationToOutermostCoordinateSystem):
* rendering/svg/SVGRenderingContext.h:
(SVGRenderingContext):

LayoutTests:

* svg/custom/resources-css-scaled-expected.html: Added.
* svg/custom/resources-css-scaled.html: Added.

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

7 years agoWeb Inspector: add html canvas memory details to the native memory overview
yurys@chromium.org [Tue, 12 Mar 2013 14:35:33 +0000 (14:35 +0000)]
Web Inspector: add html canvas memory details to the native memory overview
https://bugs.webkit.org/show_bug.cgi?id=112123

Reviewed by Alexander Pavlov.

Show memory occupied vby HTMLCanvasElements under Image category
in the native memory overview.

* inspector/front-end/NativeHeapSnapshot.js:
(WebInspector.NativeHeapSnapshot.prototype.images.getImageName):
(WebInspector.NativeHeapSnapshot.prototype.images.getCanvasName):
(WebInspector.NativeHeapSnapshot.prototype.images):
(WebInspector.NativeHeapSnapshot.prototype._addNodes):

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

7 years agoWeb Inspector: ResourceScriptFile diverged state should be correctly reset after...
vsevik@chromium.org [Tue, 12 Mar 2013 13:10:40 +0000 (13:10 +0000)]
Web Inspector: ResourceScriptFile diverged state should be correctly reset after debugger reset.
https://bugs.webkit.org/show_bug.cgi?id=112036

Reviewed by Alexander Pavlov.

Source/WebCore:

* inspector/front-end/ResourceScriptMapping.js:
(WebInspector.ResourceScriptFile):
(WebInspector.ResourceScriptFile.prototype._workingCopyChanged):
(WebInspector.ResourceScriptFile.prototype._maybeDirtyChanged):

LayoutTests:

* inspector/debugger/file-system-project-mapping-expected.txt:
* inspector/debugger/file-system-project-mapping.html:

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

7 years ago[V8] Move the GetRawTemplate and HasInstance logic from generated bindings to V8PerIs...
commit-queue@webkit.org [Tue, 12 Mar 2013 13:02:05 +0000 (13:02 +0000)]
[V8] Move the GetRawTemplate and HasInstance logic from generated bindings to V8PerIsolateData
https://bugs.webkit.org/show_bug.cgi?id=112136

Patch by Marja Hölttä <marja@chromium.org> on 2013-03-12
Reviewed by Kentaro Hara.

When templates for main world and non-main worlds will be separated (bug
111724), HasInstance logic will be a bit ugly: We cannot determine the
world type on the fly, because during GC there is no entered context,
and HasInstance is called during GC. So we need to check against
templates from all the worlds. It's cleaner if that logic is in
V8PerIsolateData.

No new tests (Updated existing bindings tests).

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateHeader):
(GenerateDomainSafeFunctionGetter):
(GenerateImplementation):
(CreateCustomSignature):
* bindings/scripts/test/V8/V8Float64Array.cpp:
(WebCore::ConfigureV8Float64ArrayTemplate):
(WebCore::V8Float64Array::GetTemplate):
(WebCore::V8Float64Array::HasInstance):
* bindings/scripts/test/V8/V8Float64Array.h:
(V8Float64Array):
* bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
(WebCore::TestActiveDOMObjectV8Internal::postMessageAttrGetter):
(WebCore::ConfigureV8TestActiveDOMObjectTemplate):
(WebCore::V8TestActiveDOMObject::GetTemplate):
(WebCore::V8TestActiveDOMObject::HasInstance):
* bindings/scripts/test/V8/V8TestActiveDOMObject.h:
(V8TestActiveDOMObject):
* bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
(WebCore::V8TestCustomNamedGetter::GetTemplate):
(WebCore::V8TestCustomNamedGetter::HasInstance):
* bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
(V8TestCustomNamedGetter):
* bindings/scripts/test/V8/V8TestEventConstructor.cpp:
(WebCore::V8TestEventConstructor::GetTemplate):
(WebCore::V8TestEventConstructor::HasInstance):
* bindings/scripts/test/V8/V8TestEventConstructor.h:
(V8TestEventConstructor):
* bindings/scripts/test/V8/V8TestEventTarget.cpp:
(WebCore::ConfigureV8TestEventTargetTemplate):
(WebCore::V8TestEventTarget::GetTemplate):
(WebCore::V8TestEventTarget::HasInstance):
* bindings/scripts/test/V8/V8TestEventTarget.h:
(V8TestEventTarget):
* bindings/scripts/test/V8/V8TestException.cpp:
(WebCore::V8TestException::GetTemplate):
(WebCore::V8TestException::HasInstance):
* bindings/scripts/test/V8/V8TestException.h:
(V8TestException):
* bindings/scripts/test/V8/V8TestInterface.cpp:
(WebCore::ConfigureV8TestInterfaceTemplate):
(WebCore::V8TestInterface::GetTemplate):
(WebCore::V8TestInterface::HasInstance):
* bindings/scripts/test/V8/V8TestInterface.h:
(V8TestInterface):
* bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
(WebCore::V8TestMediaQueryListListener::GetTemplate):
(WebCore::V8TestMediaQueryListListener::HasInstance):
* bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
(V8TestMediaQueryListListener):
* bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
(WebCore::V8TestNamedConstructor::GetTemplate):
(WebCore::V8TestNamedConstructor::HasInstance):
* bindings/scripts/test/V8/V8TestNamedConstructor.h:
(V8TestNamedConstructor):
* bindings/scripts/test/V8/V8TestNode.cpp:
(WebCore::V8TestNode::GetTemplate):
(WebCore::V8TestNode::HasInstance):
* bindings/scripts/test/V8/V8TestNode.h:
(V8TestNode):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::ConfigureV8TestObjTemplate):
(WebCore::V8TestObj::GetTemplate):
(WebCore::V8TestObj::HasInstance):
* bindings/scripts/test/V8/V8TestObj.h:
(V8TestObj):
* bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
(WebCore::V8TestOverloadedConstructors::GetTemplate):
(WebCore::V8TestOverloadedConstructors::HasInstance):
* bindings/scripts/test/V8/V8TestOverloadedConstructors.h:
(V8TestOverloadedConstructors):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
(WebCore::V8TestSerializedScriptValueInterface::GetTemplate):
(WebCore::V8TestSerializedScriptValueInterface::HasInstance):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
(V8TestSerializedScriptValueInterface):
* bindings/scripts/test/V8/V8TestTypedefs.cpp:
(WebCore::ConfigureV8TestTypedefsTemplate):
(WebCore::V8TestTypedefs::GetTemplate):
(WebCore::V8TestTypedefs::HasInstance):
* bindings/scripts/test/V8/V8TestTypedefs.h:
(V8TestTypedefs):
* bindings/v8/V8PerIsolateData.cpp:
(WebCore::V8PerIsolateData::rawTemplate):
(WebCore):
(WebCore::V8PerIsolateData::hasInstance):
* bindings/v8/V8PerIsolateData.h:
(V8PerIsolateData):
* bindings/v8/custom/V8LocationCustom.cpp:
(WebCore::V8Location::reloadAttrGetterCustom):
(WebCore::V8Location::replaceAttrGetterCustom):
(WebCore::V8Location::assignAttrGetterCustom):

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

7 years agoWeb Inspector: Fix JSDocs in TimelinePanel.js
eustas@chromium.org [Tue, 12 Mar 2013 12:45:30 +0000 (12:45 +0000)]
Web Inspector: Fix JSDocs in TimelinePanel.js
https://bugs.webkit.org/show_bug.cgi?id=112137

Reviewed by Vsevolod Vlasov.

Fix parameter type annotation of _loadFromFile.

* inspector/front-end/TimelinePanel.js: Fixed JSDoc.

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

7 years agoWeb Inspector: Add a test for Workspace add/removeMapping methods.
vsevik@chromium.org [Tue, 12 Mar 2013 12:42:14 +0000 (12:42 +0000)]
Web Inspector: Add a test for Workspace add/removeMapping methods.
https://bugs.webkit.org/show_bug.cgi?id=112035

Reviewed by Alexander Pavlov.

Source/WebCore:

Test: inspector/debugger/file-system-project-mapping.html

* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype._mapFileSystemToNetwork.mapFileSystemToNetwork):
(WebInspector.ScriptsPanel.prototype._mapFileSystemToNetwork):
(WebInspector.ScriptsPanel.prototype._mapNetworkToFileSystem.mapNetworkToFileSystem):
(WebInspector.ScriptsPanel.prototype._mapNetworkToFileSystem):
* inspector/front-end/Workspace.js:
(WebInspector.Project.prototype._fileAdded):
(WebInspector.Workspace.prototype.addMapping):

LayoutTests:

* http/tests/inspector/isolated-filesystem-test.js: Added.
(initialize_IsolatedFileSystemTest.InspectorTest.createIsolatedFileSystemManager):
(initialize_IsolatedFileSystemTest.MockIsolatedFileSystem):
(initialize_IsolatedFileSystemTest.MockIsolatedFileSystem.prototype.path):
(initialize_IsolatedFileSystemTest.MockIsolatedFileSystem.prototype.requestFileContent):
(initialize_IsolatedFileSystemTest.MockIsolatedFileSystem.prototype.setFileContent):
(initialize_IsolatedFileSystemTest.MockIsolatedFileSystem.prototype.requestFilesRecursive):
(initialize_IsolatedFileSystemTest.MockIsolatedFileSystemManager):
(initialize_IsolatedFileSystemTest.MockIsolatedFileSystemManager.prototype.addMockFileSystem):
(initialize_IsolatedFileSystemTest.MockIsolatedFileSystemManager.prototype.removeMockFileSystem):
(initialize_IsolatedFileSystemTest):
* inspector/debugger/file-system-project-mapping-expected.txt: Added.
* inspector/debugger/file-system-project-mapping.html: Added.
* inspector/debugger/resource-script-mapping.html:
* inspector/file-system-project.html:

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

7 years ago[WK2][EFL] Fix EwkContext class API
mikhail.pozdnyakov@intel.com [Tue, 12 Mar 2013 12:32:37 +0000 (12:32 +0000)]
[WK2][EFL] Fix EwkContext class API
https://bugs.webkit.org/show_bug.cgi?id=111706

Reviewed by Alexey Proskuryakov.

* UIProcess/API/C/efl/WKView.cpp:
(createWKView):
* UIProcess/API/efl/ewk_context.cpp:
(EwkContext::findOrCreateWrapper):

    Renamed from create() as it returns the same instance of EwkContext
    for the given WKContextRef if present.

(EwkContext::create):
(EwkContext::defaultContext):

    Returns raw pointer rather than PassRefPtr<EwkContext> as ownership
    is not transferred.

(ewk_context_default_get):
* UIProcess/API/efl/ewk_context_private.h:
(EwkContext):
* UIProcess/efl/WebInspectorProxyEfl.cpp:
(WebKit::WebInspectorProxy::platformCreateInspectorPage):

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

7 years ago[BlackBerry] SelectionHandler: fix truncated line
commit-queue@webkit.org [Tue, 12 Mar 2013 12:29:32 +0000 (12:29 +0000)]
[BlackBerry] SelectionHandler: fix truncated line
https://bugs.webkit.org/show_bug.cgi?id=112133

Patch by Alberto Garcia <agarcia@igalia.com> on 2013-03-12
Reviewed by Carlos Garcia Campos.

One of the calls to fatFingersResult.nodeAsElementIfApplicable()
was somehow truncated when the selection start animation was
upstreamed in r144640.

* WebKitSupport/SelectionHandler.cpp:
(BlackBerry::WebKit::SelectionHandler::selectAtPoint):

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

7 years agoWeb Inspector: SourceFrames are leaking on reload.
vsevik@chromium.org [Tue, 12 Mar 2013 12:29:03 +0000 (12:29 +0000)]
Web Inspector: SourceFrames are leaking on reload.
https://bugs.webkit.org/show_bug.cgi?id=111961

Reviewed by Alexander Pavlov.

Source/WebCore:

Added dispose method on UISourceCodeFrame.
Scripts panel now calls dispose when SourceFrame is removed and JavaScriptSourceFrame
could remove breakpoint manager listeners in it.
TabbedEditorContainer does not call viewForFile other than in appendFileTab methods to
avoid recreating SourceFrame for uiSourceCode when it was already removed.

Test: inspector/debugger/breakpoint-manager-listeners-count.html

* inspector/front-end/JavaScriptSourceFrame.js:
(WebInspector.JavaScriptSourceFrame.prototype.dispose):
* inspector/front-end/ScriptsPanel.js:
* inspector/front-end/TabbedEditorContainer.js:
(WebInspector.TabbedEditorContainer.prototype._addScrollAndSelectionListeners):
(WebInspector.TabbedEditorContainer.prototype._removeScrollAndSelectionListeners):
(WebInspector.TabbedEditorContainer.prototype._tabClosed):
* inspector/front-end/UISourceCodeFrame.js:
(WebInspector.UISourceCodeFrame.prototype.dispose):

LayoutTests:

* inspector/debugger/breakpoint-manager-listeners-count-expected.txt: Added.
* inspector/debugger/breakpoint-manager-listeners-count.html: Added.

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

7 years agoWeb Inspector: [Elements] Unable to undo "Edit as HTML" changes in the editor
apavlov@chromium.org [Tue, 12 Mar 2013 12:23:41 +0000 (12:23 +0000)]
Web Inspector: [Elements] Unable to undo "Edit as HTML" changes in the editor
https://bugs.webkit.org/show_bug.cgi?id=112119

Reviewed by Vsevolod Vlasov.

No new tests, a UI change.

* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel.prototype.handleShortcut): Do not undo/redo DOM/CSS changes if editing DOM text.
* inspector/front-end/ElementsTreeOutline.js:
(WebInspector.ElementsTreeOutline.prototype.editing): Added.

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

7 years agoWeb Inspector: [CodeMirror] there are bugs in TokenHighlight feature
commit-queue@webkit.org [Tue, 12 Mar 2013 12:15:21 +0000 (12:15 +0000)]
Web Inspector: [CodeMirror] there are bugs in TokenHighlight feature
https://bugs.webkit.org/show_bug.cgi?id=112039

Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-03-12
Reviewed by Vsevolod Vlasov.

Fix token highlight in codeMirror experiment
- rewrite token highlight overlay mode to highlight words, not
substrings
- add workaround to avoid selection of already selected word

No new tests.

* inspector/front-end/CodeMirrorTextEditor.js:
(WebInspector.CodeMirrorTextEditor.TokenHighlighter.prototype._cursorChange):
(WebInspector.CodeMirrorTextEditor.TokenHighlighter.prototype._removeHighlight):
(WebInspector.CodeMirrorTextEditor.TokenHighlighter.prototype.nextToken):
(WebInspector.CodeMirrorTextEditor.TokenHighlighter.prototype._addHighlight):
* inspector/front-end/cm/cmdevtools.css:
(.line-with-selection .cm-column-with-selection):

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

7 years ago[BlackBerry] Fix visible_units.h includes
commit-queue@webkit.org [Tue, 12 Mar 2013 12:11:58 +0000 (12:11 +0000)]
[BlackBerry] Fix visible_units.h includes
https://bugs.webkit.org/show_bug.cgi?id=112131

Patch by Alberto Garcia <agarcia@igalia.com> on 2013-03-12
Reviewed by Carlos Garcia Campos.

This file was renamed to VisibleUnits.h in r144911.

* WebKitSupport/DOMSupport.cpp:
* WebKitSupport/InputHandler.cpp:
* WebKitSupport/SelectionHandler.cpp:
* WebKitSupport/SpellingHandler.cpp:

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

7 years ago[GTK] Enable Web Audio in development builds
zandobersek@gmail.com [Tue, 12 Mar 2013 11:56:13 +0000 (11:56 +0000)]
[GTK] Enable Web Audio in development builds
https://bugs.webkit.org/show_bug.cgi?id=111831

Reviewed by Philippe Normand.

Source/WebKit2:

* GNUmakefile.am: Link the plugin process against libWebCoreModules.la as well.

Tools:

Web Audio is already quite well supported on the GTK port but still has a few issues
that must be addressed before it is enabled by default. Despite that it should be enabled
in development builds just so we are up-to-date with future feature infrastructure changes.
The Web Audio-related layout tests are not run yet due to missing support in DRT/WKTR, but
that's an obvious goal before enabling the feature in release builds.

* Scripts/webkitperl/FeatureList.pm:

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

7 years agoUnreviewed, rolling out r145514.
falken@chromium.org [Tue, 12 Mar 2013 11:38:57 +0000 (11:38 +0000)]
Unreviewed, rolling out r145514.
http://trac.webkit.org/changeset/145514
https://bugs.webkit.org/show_bug.cgi?id=112134

breaks Mac build (Requested by falken on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-03-12

* dom/Element.cpp:
* dom/Element.h:
* dom/EventDispatcher.cpp:
(WebCore::EventDispatcher::dispatchSimulatedClick):
* dom/GestureEvent.cpp:
(WebCore::GestureEventDispatchMediator::dispatchEvent):
* dom/MouseEvent.cpp:
(WebCore::MouseEventDispatchMediator::dispatchEvent):
* dom/Node.cpp:
(WebCore):
(WebCore::Node::isInert):
(WebCore::Node::handleLocalEvents):
(WebCore::Node::disabled):
(WebCore::Node::willRespondToMouseMoveEvents):
(WebCore::Node::willRespondToMouseClickEvents):
(WebCore::Node::willRespondToTouchEvents):
* dom/Node.h:
(Node):

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

7 years agoUnreviewed EFL gardening.
commit-queue@webkit.org [Tue, 12 Mar 2013 11:26:44 +0000 (11:26 +0000)]
Unreviewed EFL gardening.
https://bugs.webkit.org/show_bug.cgi?id=112130

Gardening; assigning bug numbers to failure accessibility tests.

Patch by Krzysztof Czech <k.czech@samsung.com> on 2013-03-12

* platform/efl-wk1/TestExpectations:
* platform/efl-wk2/TestExpectations:

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

7 years agoWeb Inspector: [CodeMirror] highlight matching braces
commit-queue@webkit.org [Tue, 12 Mar 2013 11:18:54 +0000 (11:18 +0000)]
Web Inspector: [CodeMirror] highlight matching braces
https://bugs.webkit.org/show_bug.cgi?id=112041

Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-03-12
Reviewed by Vsevolod Vlasov.

Add "matchbrackets" add-on to CodeMirror text editor add override
default styles for matched and unmatched braces.

No new tests.

* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* inspector/front-end/CodeMirrorTextEditor.js:
(WebInspector.CodeMirrorTextEditor):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/cm/cmdevtools.css:
(.CodeMirror-matchingbracket):
(.CodeMirror-nonmatchingbracket):
* inspector/front-end/cm/matchbrackets.js: Added.
(.):

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

7 years ago[Qt][WK2] Layer QtDownloadManager on the C API
jocelyn.turcotte@digia.com [Tue, 12 Mar 2013 11:18:29 +0000 (11:18 +0000)]
[Qt][WK2] Layer QtDownloadManager on the C API
https://bugs.webkit.org/show_bug.cgi?id=109562

Reviewed by Simon Hausmann.
Signed off for WebKit2 by Benjamin Poulain.

* UIProcess/API/cpp/qt/WKURLQt.cpp:
(WebKit::adoptToQString):
(WebKit):
(WebKit::adoptToQUrl):
* UIProcess/API/cpp/qt/WKURLQt.h:
(WebKit):
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::handleDownloadRequest):
* UIProcess/qt/QtDownloadManager.cpp:
(WebKit::toQtDownloadManager):
(WebKit):
(WebKit::QtDownloadManager::QtDownloadManager):
(WebKit::QtDownloadManager::addDownload):
(WebKit::QtDownloadManager::didReceiveResponse):
(WebKit::QtDownloadManager::didCreateDestination):
(WebKit::QtDownloadManager::didFinishDownload):
(WebKit::QtDownloadManager::didFailDownload):
(WebKit::QtDownloadManager::didReceiveDataForDownload):
* UIProcess/qt/QtDownloadManager.h:
(WebKit):
(QtDownloadManager):
* UIProcess/qt/QtWebContext.cpp:
(WebKit::QtWebContext::QtWebContext):
* UIProcess/qt/QtWebError.cpp:
(WebKit::QtWebError::url):
(WebKit::QtWebError::description):

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

7 years ago[Qt][WK2] Layer QtWebIconDatabaseClient on the C API
jocelyn.turcotte@digia.com [Tue, 12 Mar 2013 11:17:19 +0000 (11:17 +0000)]
[Qt][WK2] Layer QtWebIconDatabaseClient on the C API
https://bugs.webkit.org/show_bug.cgi?id=109564

Reviewed by Simon Hausmann.
Signed off for WebKit2 by Benjamin Poulain.

* Target.pri:
* UIProcess/API/C/qt/WKIconDatabaseQt.cpp: Added.
(WKIconDatabaseTryGetQImageForURL):
  - New API added to get a QImage from the IconDatabase.
    Based on WKIconDatabaseCG.h/cpp
* UIProcess/API/C/qt/WKIconDatabaseQt.h: Added.
* UIProcess/API/cpp/qt/WKURLQt.cpp:
(WKURLCreateWithQString):
(WKURLCopyQString):
(WKURLCreateWithQUrl):
(WKURLCopyQUrl):
  - The WKUrlRef behind the scene is a WTF::String and encoding it back and forth to
    a QUrl can slightly change its string representation. Allow converting a WKUrlRef
    to and from a QString to ensure this.
* UIProcess/API/cpp/qt/WKURLQt.h:
* UIProcess/API/qt/qwebiconimageprovider.cpp:
(QWebIconImageProvider::iconURLForPageURLInContext):
  - The icon URL isn't accessible form the C API and shouldn't need to be.
    Use an ID incremented on each update to trigger an update of the QML Image component.
(QWebIconImageProvider::requestImage):
  - The IconDatabase was previously assumed to resize the image to the requested size,
    but this parameter is ignored, as stated in a comment in WebIconDatabase::imageForPageURL.
    Explicitely do the resize after fetching the original icon to also be able to report
    the original size properly to QtQuick.
* UIProcess/API/qt/qwebiconimageprovider_p.h:
* UIProcess/API/qt/tests/qmltests/WebView/tst_favIconLoad.qml:
  - Set the image to load asynchronously to further test the possibility of threading issues
    in QtWebIconDatabaseClient::iconImageForPageURL
  - Add a few barriers to fix some issues where the load succeeded signal would be wrongly
    catched by init() before the next test.
* UIProcess/qt/QtWebContext.cpp:
(WebKit::QtWebContext::QtWebContext):
* UIProcess/qt/QtWebIconDatabaseClient.cpp:
(WebKit):
(WebKit::QtWebIconDatabaseClient::QtWebIconDatabaseClient):
(WebKit::QtWebIconDatabaseClient::~QtWebIconDatabaseClient):
(WebKit::QtWebIconDatabaseClient::updateID):
(WebKit::QtWebIconDatabaseClient::didChangeIconForPageURL):
(WebKit::QtWebIconDatabaseClient::iconImageForPageURL):
  - Remove the Mutex. This mutex was useless given that it would only
    be locked from a single thread. Since the IconDatabase runs in its own thread,
    it already is thread-safe to access.
(WebKit::QtWebIconDatabaseClient::retainIconForPageURL):
(WebKit::QtWebIconDatabaseClient::releaseIconForPageURL):
* UIProcess/qt/QtWebIconDatabaseClient.h:
(QtWebIconDatabaseClient):
* WebKit2.pri:

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

7 years ago[Qt][WK2] Specify storage paths through the C API
jocelyn.turcotte@digia.com [Tue, 12 Mar 2013 11:16:01 +0000 (11:16 +0000)]
[Qt][WK2] Specify storage paths through the C API
https://bugs.webkit.org/show_bug.cgi?id=111435

Reviewed by Simon Hausmann.
Signed off for WebKit2 by Benjamin Poulain.

The WKIconDatabase should be opened through a call to
WKContextSetIconDatabasePath. To avoid having some paths
returned through WebContext::platformDefault* and some others
through the C API, make sure that all those paths are set
through the C API.

* Shared/qt/QtDefaultDataLocation.cpp: Removed.
* Shared/qt/QtDefaultDataLocation.h: Removed.
* Target.pri:
* UIProcess/Plugins/qt/PluginProcessProxyQt.cpp:
(WebKit::cacheFile):
  - This part is left alone behind the C API.
    Since PluginProcessProxy have no knowledge of the WebContext
    it is rather difficult to fetch a configured directory that
    could be used for this purpose (like the disk cache storage).
    Hard-code a compatible logic to keep the current behavior.
(WebKit::removeCacheFile):
(WebKit):
(WebKit::readMetaDataFromCacheFile):
(WebKit::writeToCacheFile):
(WebKit::tryReadPluginMetaDataFromCacheFile):
  - Update the code to better handle an empty cache file path.
* UIProcess/qt/QtWebContext.cpp:
(WebKit::QtWebContext::defaultContext):
(WebKit::defaultLocation):
(WebKit):
(WebKit::QtWebContext::preparedStoragePath):
* UIProcess/qt/QtWebContext.h:
* UIProcess/qt/QtWebIconDatabaseClient.cpp:
(WebKit::QtWebIconDatabaseClient::QtWebIconDatabaseClient):
* UIProcess/qt/WebContextQt.cpp:
(WebKit::WebContext::applicationCacheDirectory):
(WebKit::WebContext::platformDefaultDatabaseDirectory):
(WebKit::WebContext::platformDefaultIconDatabasePath):
(WebKit::WebContext::platformDefaultLocalStorageDirectory):
(WebKit::WebContext::platformDefaultDiskCacheDirectory):
(WebKit::WebContext::platformDefaultCookieStorageDirectory):

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

7 years ago[Qt] Properly layer QtWebContext on top of the C API
jocelyn.turcotte@digia.com [Tue, 12 Mar 2013 11:14:42 +0000 (11:14 +0000)]
[Qt] Properly layer QtWebContext on top of the C API
https://bugs.webkit.org/show_bug.cgi?id=108475

Reviewed by Simon Hausmann.
Signed off for WebKit2 by Benjamin Poulain.

* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::initialize):
* UIProcess/qt/QtWebContext.cpp:
(WebKit::initializeContextInjectedBundleClient):
(WebKit::QtWebContext::QtWebContext):
(WebKit::QtWebContext::create):
(WebKit::QtWebContext::defaultContext):
* UIProcess/qt/QtWebContext.h:
(WebKit):
(QtWebContext):
(WebKit::QtWebContext::context):

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

7 years ago[Qt][WK2] Allow QtWebContext to call directly to QQuickWebView with a WKPageRef
jocelyn.turcotte@digia.com [Tue, 12 Mar 2013 11:13:31 +0000 (11:13 +0000)]
[Qt][WK2] Allow QtWebContext to call directly to QQuickWebView with a WKPageRef
https://bugs.webkit.org/show_bug.cgi?id=109829

Reviewed by Allan Sandfeld Jensen.
Signed off for WebKit2 by Benjamin Poulain.

Instead of going through WebPageProxy and PageClient to forward
injected bundle messages received by the context, maintain a static map
of WKPageRef to QQuickWebViewPrivate.

* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::get):
(QQuickWebViewPrivate::~QQuickWebViewPrivate):
(QQuickWebViewPrivate::initialize):
(QQuickWebViewPrivate::didReceiveMessageFromNavigatorQtObject):
* UIProcess/API/qt/qquickwebview_p_p.h:
(QQuickWebViewPrivate):
* UIProcess/API/qt/raw/qrawwebview.cpp:
* UIProcess/API/qt/raw/qrawwebview_p_p.h:
* UIProcess/PageClient.h:
(PageClient):
* UIProcess/WebPageProxy.h:
(WebPageProxy):
* UIProcess/qt/QtPageClient.cpp:
* UIProcess/qt/QtPageClient.h:
(QtPageClient):
* UIProcess/qt/QtWebContext.cpp:
(WebKit::didReceiveMessageFromInjectedBundle):
* UIProcess/qt/WebPageProxyQt.cpp:

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

7 years agoRefactoring: Pull Node::disabled() and Node::isInert() down to Element.
falken@chromium.org [Tue, 12 Mar 2013 11:13:02 +0000 (11:13 +0000)]
Refactoring: Pull Node::disabled() and Node::isInert() down to Element.
https://bugs.webkit.org/show_bug.cgi?id=112085

Reviewed by Hajime Morrita.

Node is too low a level for these methods.

No new tests, just refactoring.

* dom/Element.cpp:
(WebCore::Element::disabled):
(WebCore):
(WebCore::Element::isInert):
* dom/Element.h:
(Element):
* dom/EventDispatcher.cpp:
(WebCore::EventDispatcher::dispatchSimulatedClick):
* dom/GestureEvent.cpp:
(WebCore::GestureEventDispatchMediator::dispatchEvent):
* dom/MouseEvent.cpp:
(WebCore::MouseEventDispatchMediator::dispatchEvent):
* dom/Node.cpp:
(WebCore::Node::handleLocalEvents):
(WebCore::Node::willRespondToMouseMoveEvents):
(WebCore::Node::willRespondToMouseClickEvents):
(WebCore::Node::willRespondToTouchEvents):
* dom/Node.h:
(Node):

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

7 years ago[Qt][WK2] Keep the WebContext alive during the whole application's lifetime
jocelyn.turcotte@digia.com [Tue, 12 Mar 2013 11:12:28 +0000 (11:12 +0000)]
[Qt][WK2] Keep the WebContext alive during the whole application's lifetime
https://bugs.webkit.org/show_bug.cgi?id=109827

Reviewed by Simon Hausmann.
Signed off for WebKit2 by Benjamin Poulain.

The lifetime of the WebContext is difficult to manage because of a circular
reference kept with the WebProcessProxy until it shuts itself down, 60
seconds after the last page is closed. There was some notification
in place to handle this in the upper layer, but having to go through the
C API (done in a following patch) makes this quite awkward.

Keeping the WebContext alive also includes the icon database which is
quite heavy, in the future we should only enable it once the
QQuickWebView::icon property is read.

* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::QQuickWebViewPrivate):
(QQuickWebViewPrivate::handleDownloadRequest):
(QQuickWebViewPrivate::updateIcon):
* UIProcess/API/qt/qquickwebview_p_p.h:
(QQuickWebViewPrivate):
* UIProcess/API/qt/qwebiconimageprovider.cpp:
(QWebIconImageProvider::requestImage):
* UIProcess/qt/QtWebContext.cpp:
(WebKit):
(WebKit::QtWebContext::QtWebContext):
(WebKit::QtWebContext::~QtWebContext):
(WebKit::QtWebContext::create):
(WebKit::QtWebContext::defaultContext):
* UIProcess/qt/QtWebContext.h:
(QtWebContext):
(WebKit::QtWebContext::downloadManager):
(WebKit::QtWebContext::iconDatabase):
* UIProcess/qt/WebContextQt.cpp:
(WebKit::WebContext::platformInvalidateContext):

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

7 years ago[Qt][WK2] Favor QUrl and QString over WTF::String in the Qt API layer
jocelyn.turcotte@digia.com [Tue, 12 Mar 2013 11:11:14 +0000 (11:11 +0000)]
[Qt][WK2] Favor QUrl and QString over WTF::String in the Qt API layer
https://bugs.webkit.org/show_bug.cgi?id=109468

Reviewed by Allan Sandfeld Jensen.
Signed off for WebKit2 by Benjamin Poulain.

In preparation for patches using the C API types in some areas, remove the
usage of WTF::String on the affected line.

Use a QUrl for icon URL to avoid unnecessary conversion.
Use a QString for the page URL to keep it compatible with WebPageProxy and
WebIconDatabase and avoid QUrl parsing.

* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::_q_onIconChangedForPageURL):
(QQuickWebViewPrivate::updateIcon):
(QQuickWebView::emitUrlChangeIfNeeded):
(QQuickWebView::icon):
* UIProcess/API/qt/qquickwebview_p_p.h:
(QQuickWebViewPrivate):
* UIProcess/API/qt/qwebiconimageprovider.cpp:
(QWebIconImageProvider::iconURLForPageURLInContext):
* UIProcess/API/qt/qwebiconimageprovider_p.h:
* UIProcess/qt/QtWebIconDatabaseClient.cpp:
(WebKit::QtWebIconDatabaseClient::iconForPageURL):
(WebKit::QtWebIconDatabaseClient::iconImageForPageURL):
(WebKit::QtWebIconDatabaseClient::retainIconForPageURL):
(WebKit::QtWebIconDatabaseClient::releaseIconForPageURL):
* UIProcess/qt/QtWebIconDatabaseClient.h:
(QtWebIconDatabaseClient):

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

7 years ago[V8] Get rid of function-level static FunctionTemplates in generated bindings code
commit-queue@webkit.org [Tue, 12 Mar 2013 10:47:11 +0000 (10:47 +0000)]
[V8] Get rid of function-level static FunctionTemplates in generated bindings code
https://bugs.webkit.org/show_bug.cgi?id=111971

Patch by Marja Hölttä <marja@chromium.org> on 2013-03-12
Reviewed by Jochen Eisinger.

In the future we'll create and store function templates for main world
and non-main worlds separately (see bug 111724), having function
templates as static variables inside functions will break the
functionality.

No new tests (updated the bindings test expectations).

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateDomainSafeFunctionGetter):
* bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
(WebCore::TestActiveDOMObjectV8Internal::postMessageAttrGetter):
* bindings/v8/V8PerIsolateData.cpp:
(WebCore::V8PerIsolateData::V8PerIsolateData):
(WebCore::V8PerIsolateData::privateTemplate):
(WebCore):
* bindings/v8/V8PerIsolateData.h:
(V8PerIsolateData):
* bindings/v8/custom/V8LocationCustom.cpp:
(WebCore::V8Location::reloadAttrGetterCustom):
(WebCore::V8Location::replaceAttrGetterCustom):
(WebCore::V8Location::assignAttrGetterCustom):

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

7 years ago[Refactoring] Implement RuleCollector
tasak@google.com [Tue, 12 Mar 2013 10:14:53 +0000 (10:14 +0000)]
[Refactoring] Implement RuleCollector
https://bugs.webkit.org/show_bug.cgi?id=109916

Reviewed by Antti Koivisto.

Implemented rule collector for an element and collector for a page.
Not all members in class State are required entire while resolving
a style.

No new tests, because just refactoring.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSAllInOne.cpp:
Added ElementRuleCollector and PageRuleCollector.
* css/DocumentRuleSets.cpp:
(WebCore::ShadowDistributedRules::collectMatchRequests):
Since behaviorAtBoundary is a state owned by ElementRuleCollector,
removed from here.
* css/DocumentRuleSets.h:
(WebCore::ShadowDistributedRules::isEmpty):
Added to quickly check whether there exist any ShadowDistributedRules
or not.
* css/ElementRuleCollector.cpp: Copied from Source/WebCore/css/StyleResolver.cpp.
(WebCore):
(WebCore::ElementRuleCollector::matchedResult):
(WebCore::ElementRuleCollector::matchedRuleList):
(WebCore::ElementRuleCollector::addMatchedRule):
(WebCore::ElementRuleCollector::clearMatchedRules):
(WebCore::ElementRuleCollector::ensureRuleList):
(WebCore::ElementRuleCollector::addElementStyleProperties):
(WebCore::ElementRuleCollector::collectMatchingRules):
(WebCore::ElementRuleCollector::collectMatchingRulesForRegion):
(WebCore::ElementRuleCollector::sortAndTransferMatchedRules):
(WebCore::ElementRuleCollector::matchScopedAuthorRules):
(WebCore::ElementRuleCollector::matchHostRules):
(WebCore::ElementRuleCollector::matchShadowDistributedRules):
(WebCore::ElementRuleCollector::matchAuthorRules):
(WebCore::ElementRuleCollector::matchUserRules):
(WebCore::ElementRuleCollector::matchUARules):
(WebCore::ElementRuleCollector::ruleMatches):
(WebCore::ElementRuleCollector::collectMatchingRulesForList):
(WebCore::ElementRuleCollector::sortMatchedRules):
(WebCore::ElementRuleCollector::matchAllRules):
Moved these methods from StyleResolver to this class.
(WebCore::ElementRuleCollector::hasAnyMatchingRules):
This method is used for checking whether a given element can share
a cache.
* css/ElementRuleCollector.h: Copied from Source/WebCore/css/StyleResolver.h.
(WebCore):
(WebCore::ElementRuleCollector::ElementRuleCollector):
Use styleResolver instance to initialize its member variables, i.e.
SelectorFilter, RuleSets, InspectorCSSOMWrappers, and
StyleScopedResolver.
(ElementRuleCollector):
(WebCore::ElementRuleCollector::setMode):
(WebCore::ElementRuleCollector::setPseudoStyleRequest):
(WebCore::ElementRuleCollector::setSameOriginOnly):
(WebCore::ElementRuleCollector::setRegionForStyling):
Mode, SameOriginOnly, RegionForStyling are only used while collecting
matched rules.
(WebCore::ElementRuleCollector::setMedium):
Need to know which default stylesheet should be looked up.
(WebCore::ElementRuleCollector::document):
* css/PageRuleCollector.cpp: Copied from Source/WebCore/css/StyleResolver.cpp.
(WebCore::comparePageRules):
(WebCore::PageRuleCollector::isLeftPage):
(WebCore::PageRuleCollector::isFirstPage):
(WebCore::PageRuleCollector::pageName):
(WebCore::PageRuleCollector::matchAllPageRules):
(WebCore::PageRuleCollector::matchPageRules):
(WebCore::checkPageSelectorComponents):
(WebCore::PageRuleCollector::matchPageRulesForList):
Moved from StyleResolver.
* css/PageRuleCollector.h: Copied from Source/WebCore/css/StyleResolver.h.
(WebCore):
(WebCore::PageRuleCollector::PageRuleCollector):
(PageRuleCollector):
(WebCore::PageRuleCollector::matchedResult):
* css/StyleResolver.cpp:
(WebCore):
(WebCore::StyleResolver::State::clear):
(WebCore::StyleResolver::MatchResult::addMatchedProperties):
(WebCore::StyleResolver::State::initForStyleResolve):
(WebCore::StyleResolver::styleSharingCandidateMatchesRuleSet):
(WebCore::StyleResolver::styleForElement):
(WebCore::StyleResolver::styleForKeyframe):
(WebCore::StyleResolver::pseudoStyleForElement):
(WebCore::StyleResolver::styleForPage):
(WebCore::StyleResolver::pseudoStyleRulesForElement):
(WebCore::StyleResolver::applyMatchedProperties):
* css/StyleResolver.h:
(WebCore::MatchRequest::MatchRequest):
Removed behaviorAtBoundary. Instead, ElementRuleCollector have the
state.
(MatchRequest):
(WebCore::StyleResolver::selectorFilter):
Added to obtain SelectorFilter in ElementRuleCollector's constructor.
(StyleResolver):
(MatchResult):
(WebCore::StyleResolver::State::State):
To pass ASSERT in StyleResolver::applyProperties, need to keep
m_regionForStyling.
(State):
(WebCore::StyleResolver::State::regionForStyling):
(WebCore::StyleResolver::State::useSVGZoomRules):
(WebCore::StyleResolver::hasSelectorForId):
(WebCore):
(WebCore::checkRegionSelector):
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::willMatchRule):
Removed StyleResolver from its parameter list. Instead, added
InspectorCSSOMWrappers and DocumentStyleSheetCollection.
* inspector/InspectorCSSAgent.h:
(WebCore):
(InspectorCSSAgent):
* inspector/InspectorInstrumentation.cpp:
(WebCore):
(WebCore::InspectorInstrumentation::willMatchRuleImpl):
* inspector/InspectorInstrumentation.h:
(WebCore):
(InspectorInstrumentation):
(WebCore::InspectorInstrumentation::willMatchRule):

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

7 years ago[GTK][WK2] REGRESSION(r145081): Unit tests not working if locale is not English
commit-queue@webkit.org [Tue, 12 Mar 2013 10:07:32 +0000 (10:07 +0000)]
[GTK][WK2] REGRESSION(r145081): Unit tests not working if locale is not English
https://bugs.webkit.org/show_bug.cgi?id=111973

Patch by Manuel Rego Casasnovas <rego@igalia.com> on 2013-03-12
Reviewed by Carlos Garcia Campos.

The problem is that the UIProcess locale is reseted to C in
gtk_test_init, however the WebProcess does not inherit the locale set in
the UIProcess and it uses the system one (that could be different to
English). So, there were problems in some tests that are comparing
strings from both processes like WebKit2APITests/TestPrinting and
WebKit2APITests/TestWebKitWebContext. The solution is to set the locale
environment variable LC_ALL to C in order to reset WebProcess locale
too.

* UIProcess/API/gtk/tests/TestMain.cpp:
(main): Set environment variable LC_ALL to C.

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

7 years agoNot reviewed: chromium gardening.
pfeldman@chromium.org [Tue, 12 Mar 2013 09:52:03 +0000 (09:52 +0000)]
Not reviewed: chromium gardening.

* platform/chromium/TestExpectations:

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

7 years ago[Qt] WebKit fails to compile if EGL headers are not in default INCLUDEPATH
commit-queue@webkit.org [Tue, 12 Mar 2013 09:41:46 +0000 (09:41 +0000)]
[Qt] WebKit fails to compile if EGL headers are not in default INCLUDEPATH
https://bugs.webkit.org/show_bug.cgi?id=111859

Patch by Floris Bos <bos@je-eigen-domein.nl> on 2013-03-12
Reviewed by Jocelyn Turcotte.

The 3D graphics code wants to include EGL header files.
But on some platforms such as the Raspberry Pi those are not in /usr/include
but in another folder.
Fix adds "egl" to CONFIG when OpenGL ES2 is used, so the right include
paths are added.

* WebCore.pri:

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

7 years agoMaking more sophisticated cache flush on ARM Linux platform
rgabor@webkit.org [Tue, 12 Mar 2013 09:41:37 +0000 (09:41 +0000)]
Making more sophisticated cache flush on ARM Linux platform
https://bugs.webkit.org/show_bug.cgi?id=111854

Reviewed by Zoltan Herczeg.

The cache flush on ARM Linux invalidates whole pages
instead of just the required area.

* assembler/ARMAssembler.h:
(ARMAssembler):
(JSC::ARMAssembler::linuxPageFlush):
(JSC::ARMAssembler::cacheFlush):
* assembler/ARMv7Assembler.h:
(ARMv7Assembler):
(JSC::ARMv7Assembler::linuxPageFlush):
(JSC::ARMv7Assembler::cacheFlush):

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

7 years agoRenaming the armv7.rb LLINT backend to arm.rb
rgabor@webkit.org [Tue, 12 Mar 2013 09:30:33 +0000 (09:30 +0000)]
Renaming the armv7.rb LLINT backend to arm.rb
https://bugs.webkit.org/show_bug.cgi?id=110565

Reviewed by Zoltan Herczeg.

This is the first step of a unified ARM backend for
all ARM 32 bit architectures in LLInt.

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.gypi:
* LLIntOffsetsExtractor.pro:
* offlineasm/arm.rb: Copied from Source/JavaScriptCore/offlineasm/armv7.rb.
* offlineasm/armv7.rb: Removed.
* offlineasm/backends.rb:
* offlineasm/risc.rb:

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

7 years agoXSSAuditor should send only one console error when blocking a page.
mkwst@chromium.org [Tue, 12 Mar 2013 09:28:12 +0000 (09:28 +0000)]
XSSAuditor should send only one console error when blocking a page.
https://bugs.webkit.org/show_bug.cgi?id=110733

Reviewed by Daniel Bates.

Source/WebCore:

Currently, we send two console errors when XSSAuditor blocks a page:
"Refused to execute a JavaScript script. Source code of script found
within request.\n", and "Entire page will be blocked.".

We should only send one message, tuning it properly for the context, and
including the URL of the page effected by the XSSAuditor's work.

Covered by rebaselines of all the XSSAuditor and 'reflected-xss' tests.

* html/parser/XSSAuditor.cpp:
* html/parser/XSSAuditor.h:
(WebCore::XSSAuditor::XSSAuditor):
    Add two booleans to track the headers used to set the XSSAuditor state.
(WebCore::XSSAuditor::init):
(WebCore::XSSAuditor::filterToken):
    Add detail about the header status to the constructed XSSInfo object.
* html/parser/XSSAuditorDelegate.cpp:
(WebCore::buildConsoleError):
    Move message construction out into a separate inlined function, as
    it's becoming complex.
(WebCore::XSSAuditorDelegate::didBlockScript):
    Fold the "Entire page will be blocked" message into the main console
    error.
* html/parser/XSSAuditorDelegate.h:
(WebCore::XSSInfo::create):
(WebCore::XSSInfo::XSSInfo):
    Add detail about header status to XSSInfo in order to correctly
    construct the console error.

LayoutTests:

* fast/frames/xss-auditor-handles-file-urls-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-allow-block-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-allow-filter-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-allow-invalid-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-allow-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-block-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-filter-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-invalid-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-unset-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-allow-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-block-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-filter-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-invalid-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-unset-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-allow-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-block-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-filter-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-invalid-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-unset-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-block-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-filter-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-invalid-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-unset-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-block-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-empty-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-filter-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-invalid-expected.txt:
* http/tests/security/xssAuditor/anchor-url-dom-write-location-expected.txt:
* http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event-expected.txt:
* http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event-null-char-expected.txt:
* http/tests/security/xssAuditor/anchor-url-dom-write-location-javascript-URL-expected.txt:
* http/tests/security/xssAuditor/anchor-url-dom-write-location2-expected.txt:
* http/tests/security/xssAuditor/base-href-control-char-expected.txt:
* http/tests/security/xssAuditor/base-href-expected.txt:
* http/tests/security/xssAuditor/base-href-null-char-expected.txt:
* http/tests/security/xssAuditor/base-href-scheme-relative-expected.txt:
* http/tests/security/xssAuditor/block-does-not-leak-location-expected.txt:
* http/tests/security/xssAuditor/block-does-not-leak-referrer-expected.txt:
* http/tests/security/xssAuditor/cached-frame-expected.txt:
* http/tests/security/xssAuditor/cookie-injection-expected.txt:
* http/tests/security/xssAuditor/dom-write-URL-expected.txt:
* http/tests/security/xssAuditor/dom-write-location-expected.txt:
* http/tests/security/xssAuditor/dom-write-location-inline-event-expected.txt:
* http/tests/security/xssAuditor/dom-write-location-javascript-URL-expected.txt:
* http/tests/security/xssAuditor/embed-tag-code-attribute-2-expected.txt:
* http/tests/security/xssAuditor/embed-tag-code-attribute-expected.txt:
* http/tests/security/xssAuditor/embed-tag-control-char-expected.txt:
* http/tests/security/xssAuditor/embed-tag-expected.txt:
* http/tests/security/xssAuditor/embed-tag-javascript-url-expected.txt:
* http/tests/security/xssAuditor/embed-tag-null-char-expected.txt:
* http/tests/security/xssAuditor/formaction-on-button-expected.txt:
* http/tests/security/xssAuditor/formaction-on-input-expected.txt:
* http/tests/security/xssAuditor/form-action-expected.txt:
* http/tests/security/xssAuditor/full-block-base-href-expected.txt:
* http/tests/security/xssAuditor/full-block-get-from-iframe-expected.txt:
* http/tests/security/xssAuditor/full-block-iframe-javascript-url-expected.txt:
* http/tests/security/xssAuditor/full-block-iframe-no-inherit-expected.txt:
* http/tests/security/xssAuditor/full-block-javascript-link-expected.txt:
* http/tests/security/xssAuditor/full-block-link-onclick-expected.txt:
* http/tests/security/xssAuditor/full-block-object-tag-expected.txt:
* http/tests/security/xssAuditor/full-block-post-from-iframe-expected.txt:
* http/tests/security/xssAuditor/full-block-script-tag-cross-domain-expected.txt:
* http/tests/security/xssAuditor/full-block-script-tag-expected.txt:
* http/tests/security/xssAuditor/full-block-script-tag-with-source-expected.txt:
* http/tests/security/xssAuditor/get-from-iframe-expected.txt:
* http/tests/security/xssAuditor/iframe-injection-expected.txt:
* http/tests/security/xssAuditor/iframe-javascript-url-expected.txt:
* http/tests/security/xssAuditor/iframe-javascript-url-more-encoding-expected.txt:
* http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode-expected.txt:
* http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode2-expected.txt:
* http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode3-expected.txt:
* http/tests/security/xssAuditor/iframe-javascript-url-url-encoded-expected.txt:
* http/tests/security/xssAuditor/iframe-onload-GBK-char-expected.txt:
* http/tests/security/xssAuditor/iframe-onload-in-svg-tag-expected.txt:
* http/tests/security/xssAuditor/iframe-srcdoc-expected.txt:
* http/tests/security/xssAuditor/img-onerror-GBK-char-expected.txt:
* http/tests/security/xssAuditor/img-onerror-accented-char-expected.txt:
* http/tests/security/xssAuditor/img-onerror-non-ASCII-char-default-encoding-expected.txt:
* http/tests/security/xssAuditor/img-onerror-non-ASCII-char-expected.txt:
* http/tests/security/xssAuditor/img-onerror-non-ASCII-char2-default-encoding-expected.txt:
* http/tests/security/xssAuditor/img-onerror-non-ASCII-char2-expected.txt:
* http/tests/security/xssAuditor/inline-event-HTML-entities-expected.txt:
* http/tests/security/xssAuditor/javascript-link-HTML-entities-control-char-expected.txt:
* http/tests/security/xssAuditor/javascript-link-HTML-entities-expected.txt:
* http/tests/security/xssAuditor/javascript-link-HTML-entities-named-expected.txt:
* http/tests/security/xssAuditor/javascript-link-HTML-entities-null-char-expected.txt:
* http/tests/security/xssAuditor/javascript-link-ampersand-expected.txt:
* http/tests/security/xssAuditor/javascript-link-control-char-expected.txt:
* http/tests/security/xssAuditor/javascript-link-expected.txt:
* http/tests/security/xssAuditor/javascript-link-null-char-expected.txt:
* http/tests/security/xssAuditor/javascript-link-one-plus-one-expected.txt:
* http/tests/security/xssAuditor/javascript-link-url-encoded-expected.txt:
* http/tests/security/xssAuditor/link-onclick-ampersand-expected.txt:
* http/tests/security/xssAuditor/link-onclick-control-char-expected.txt:
* http/tests/security/xssAuditor/link-onclick-entities-expected.txt:
* http/tests/security/xssAuditor/link-onclick-expected.txt:
* http/tests/security/xssAuditor/link-onclick-null-char-expected.txt:
* http/tests/security/xssAuditor/link-opens-new-window-expected.txt:
* http/tests/security/xssAuditor/malformed-HTML-expected.txt:
* http/tests/security/xssAuditor/malformed-xss-protection-header-1-expected.txt:
* http/tests/security/xssAuditor/malformed-xss-protection-header-2-expected.txt:
* http/tests/security/xssAuditor/malformed-xss-protection-header-3-expected.txt:
* http/tests/security/xssAuditor/malformed-xss-protection-header-4-expected.txt:
* http/tests/security/xssAuditor/malformed-xss-protection-header-5-expected.txt:
* http/tests/security/xssAuditor/malformed-xss-protection-header-6-expected.txt:
* http/tests/security/xssAuditor/malformed-xss-protection-header-7-expected.txt:
* http/tests/security/xssAuditor/malformed-xss-protection-header-8-expected.txt:
* http/tests/security/xssAuditor/malformed-xss-protection-header-9-expected.txt:
* http/tests/security/xssAuditor/meta-tag-http-refresh-javascript-url-expected.txt:
* http/tests/security/xssAuditor/object-embed-tag-control-char-expected.txt:
* http/tests/security/xssAuditor/object-embed-tag-expected.txt:
* http/tests/security/xssAuditor/object-embed-tag-null-char-expected.txt:
* http/tests/security/xssAuditor/object-tag-expected.txt:
* http/tests/security/xssAuditor/object-tag-javascript-url-expected.txt:
* http/tests/security/xssAuditor/open-attribute-body-expected.txt:
* http/tests/security/xssAuditor/open-event-handler-iframe-expected.txt:
* http/tests/security/xssAuditor/open-iframe-src-01-expected.txt:
* http/tests/security/xssAuditor/open-iframe-src-02-expected.txt:
* http/tests/security/xssAuditor/open-script-src-01-expected.txt:
* http/tests/security/xssAuditor/open-script-src-02-expected.txt:
* http/tests/security/xssAuditor/open-script-src-03-expected.txt:
* http/tests/security/xssAuditor/open-script-src-04-expected.txt:
* http/tests/security/xssAuditor/post-from-iframe-expected.txt:
* http/tests/security/xssAuditor/property-escape-comment-01-expected.txt:
* http/tests/security/xssAuditor/property-escape-comment-02-expected.txt:
* http/tests/security/xssAuditor/property-escape-comment-03-expected.txt:
* http/tests/security/xssAuditor/property-escape-entity-01-expected.txt:
* http/tests/security/xssAuditor/property-escape-entity-02-expected.txt:
* http/tests/security/xssAuditor/property-escape-entity-03-expected.txt:
* http/tests/security/xssAuditor/property-escape-expected.txt:
* http/tests/security/xssAuditor/property-escape-long-expected.txt:
* http/tests/security/xssAuditor/property-escape-quote-01-expected.txt:
* http/tests/security/xssAuditor/property-escape-quote-02-expected.txt:
* http/tests/security/xssAuditor/property-escape-quote-03-expected.txt:
* http/tests/security/xssAuditor/report-script-tag-expected.txt:
* http/tests/security/xssAuditor/report-script-tag-full-block-expected.txt:
* http/tests/security/xssAuditor/script-tag-Big5-char-expected.txt:
* http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode-16bit-unicode-expected.txt:
* http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode-expected.txt:
* http/tests/security/xssAuditor/script-tag-Big5-char2-expected.txt:
* http/tests/security/xssAuditor/script-tag-addslashes-backslash-expected.txt:
* http/tests/security/xssAuditor/script-tag-addslashes-double-quote-expected.txt:
* http/tests/security/xssAuditor/script-tag-addslashes-null-char-expected.txt:
* http/tests/security/xssAuditor/script-tag-addslashes-single-quote-expected.txt:
* http/tests/security/xssAuditor/script-tag-control-char-expected.txt:
* http/tests/security/xssAuditor/script-tag-convoluted-expected.txt:
* http/tests/security/xssAuditor/script-tag-entities-expected.txt:
* http/tests/security/xssAuditor/script-tag-expected.txt:
* http/tests/security/xssAuditor/script-tag-inside-svg-tag-expected.txt:
* http/tests/security/xssAuditor/script-tag-inside-svg-tag2-expected.txt:
* http/tests/security/xssAuditor/script-tag-inside-svg-tag3-expected.txt:
* http/tests/security/xssAuditor/script-tag-null-char-expected.txt:
* http/tests/security/xssAuditor/script-tag-open-redirect-expected.txt:
* http/tests/security/xssAuditor/script-tag-post-control-char-expected.txt:
* http/tests/security/xssAuditor/script-tag-post-expected.txt:
* http/tests/security/xssAuditor/script-tag-post-null-char-expected.txt:
* http/tests/security/xssAuditor/script-tag-redirect-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-16bit-unicode-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-16bit-unicode-surrogate-pair-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-16bit-unicode2-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-16bit-unicode3-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-16bit-unicode4-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-16bit-unicode5-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-actual-comma-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-callbacks-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-comma-01-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-comma-02-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-fancy-unicode-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-invalid-closing-tag-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-invalid-url-encoding-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-source-control-char-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-source-data-url-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-source-data-url2-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-source-data-url3-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-source-double-quote-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-source-entities-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-source-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-source-no-quote-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-source-null-char-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-source-relative-scheme-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-source-same-host-with-query-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-source-unterminated-01-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-source-unterminated-02-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-source-unterminated-03-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-three-times-url-encoded-16bit-unicode-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-trailing-comment-U2028-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-trailing-comment-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-trailing-comment2-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-trailing-comment3-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-trailing-comment4-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-trailing-comment5-expected.txt:
* http/tests/security/xssAuditor/svg-script-tag-expected.txt:
* http/tests/security/xssAuditor/xss-filter-bypass-big5-expected.txt:
* http/tests/security/xssAuditor/xss-filter-bypass-long-string-expected.txt:
* http/tests/security/xssAuditor/xss-filter-bypass-sjis-expected.txt:
* http/tests/security/xssAuditor/xss-protection-parsing-01-expected.txt:
* http/tests/security/xssAuditor/xss-protection-parsing-02-expected.txt:
* http/tests/security/xssAuditor/xss-protection-parsing-03-expected.txt:
* http/tests/security/xssAuditor/xss-protection-parsing-04-expected.txt:
* platform/chromium/http/tests/security/xssAuditor/javascript-link-control-char2-expected.txt:

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

7 years agoUnreviewed, rolling out r145494.
commit-queue@webkit.org [Tue, 12 Mar 2013 09:11:24 +0000 (09:11 +0000)]
Unreviewed, rolling out r145494.
http://trac.webkit.org/changeset/145494
https://bugs.webkit.org/show_bug.cgi?id=112117

Breaks Chromium Mac (Requested by pfeldman on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-03-12

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateDomainSafeFunctionGetter):
* bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
(WebCore::TestActiveDOMObjectV8Internal::postMessageAttrGetter):
* bindings/v8/V8PerIsolateData.cpp:
(WebCore::V8PerIsolateData::V8PerIsolateData):
* bindings/v8/V8PerIsolateData.h:
(V8PerIsolateData):
* bindings/v8/custom/V8LocationCustom.cpp:
(WebCore::V8Location::reloadAttrGetterCustom):
(WebCore::V8Location::replaceAttrGetterCustom):
(WebCore::V8Location::assignAttrGetterCustom):

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

7 years agoWeb Inspector: add memory instrumentation for ImageLoader
yurys@chromium.org [Tue, 12 Mar 2013 09:00:25 +0000 (09:00 +0000)]
Web Inspector: add memory instrumentation for ImageLoader
https://bugs.webkit.org/show_bug.cgi?id=112115

Reviewed by Alexander Pavlov.

Added memory instrumentation to ImageLoader. CachedImage referenced
by the loader is reported as having retaining reference. This allows
to see in the native memory graph CachedImages that are not reachable
from MemoryCache but referenced by HTMLImageElement.

* loader/ImageLoader.cpp:
(WebCore::ImageLoader::reportMemoryUsage):
(WebCore):
* loader/ImageLoader.h:
(ImageLoader):

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

7 years agoREGRESSION(r145482): It broke 33 jsc tests and zillion layout tests on all platform
ossy@webkit.org [Tue, 12 Mar 2013 08:53:41 +0000 (08:53 +0000)]
REGRESSION(r145482): It broke 33 jsc tests and zillion layout tests on all platform
https://bugs.webkit.org/show_bug.cgi?id=112112

Reviewed by Oliver Hunt.

Rolling out https://trac.webkit.org/changeset/145482 to unbreak the bots.

* runtime/JSStringJoiner.cpp:
(JSC::JSStringJoiner::build):
* runtime/JSStringJoiner.h:
(JSStringJoiner):
(JSC::JSStringJoiner::JSStringJoiner):
(JSC::JSStringJoiner::append):

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

7 years agoWeb Inspector: Broken shortcuts in Snippets SourceFrame
vsevik@chromium.org [Tue, 12 Mar 2013 08:43:05 +0000 (08:43 +0000)]
Web Inspector: Broken shortcuts in Snippets SourceFrame
https://bugs.webkit.org/show_bug.cgi?id=112038

Reviewed by Pavel Feldman.

* inspector/front-end/SnippetJavaScriptSourceFrame.js:
(WebInspector.SnippetJavaScriptSourceFrame):
(WebInspector.SnippetJavaScriptSourceFrame.prototype._onKeyDown):

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

7 years agoWeb Inspector: Several inspector tests are flaky beacuse of beforeonload event handler.
vsevik@chromium.org [Tue, 12 Mar 2013 08:25:21 +0000 (08:25 +0000)]
Web Inspector: Several inspector tests are flaky beacuse of beforeonload event handler.
https://bugs.webkit.org/show_bug.cgi?id=112111

Reviewed by Alexander Pavlov.

Added removeEventListener call.
Beforeunload message was updated so that it is possible to find it's source from it.

* inspector-protocol/page/javascriptDialogEvents-expected.txt:
* inspector-protocol/page/javascriptDialogEvents.html:

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

7 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Tue, 12 Mar 2013 08:07:32 +0000 (08:07 +0000)]
Unreviewed GTK gardening.

* platform/gtk/TestExpectations: Adding failure expectations for tests introduced in r145397 and r145474.
* platform/gtk/fast/js/global-constructors-expected.txt: Rebaselining after r145400.

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

7 years agoWeb Inspector: [Timeline] File selector control becomes visible on "tab" navigation.
eustas@chromium.org [Tue, 12 Mar 2013 07:59:18 +0000 (07:59 +0000)]
Web Inspector: [Timeline] File selector control becomes visible on "tab" navigation.
https://bugs.webkit.org/show_bug.cgi?id=111710

Reviewed by Pavel Feldman.

Solution: Exclude file selector control from tab-navigation flow.

* inspector/front-end/FileUtils.js: Set tab-index to control.
* inspector/front-end/TimelinePanel.js: Remove duplicating code.
* inspector/front-end/inspector.css:
(.status-bar-item): Make scroll height equal to offset height.

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

7 years ago[V8] Get rid of function-level static FunctionTemplates in generated bindings code
commit-queue@webkit.org [Tue, 12 Mar 2013 07:52:32 +0000 (07:52 +0000)]
[V8] Get rid of function-level static FunctionTemplates in generated bindings code
https://bugs.webkit.org/show_bug.cgi?id=111971

Patch by Marja Hölttä <marja@chromium.org> on 2013-03-12
Reviewed by Kentaro Hara.

In the future we'll create and store function templates for main world
and non-main worlds separately (see bug 111724), having function
templates as static variables inside functions will break the
functionality.

No new tests (updated the bindings test expectations).

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateDomainSafeFunctionGetter):
* bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
(WebCore::TestActiveDOMObjectV8Internal::postMessageAttrGetter):
* bindings/v8/V8PerIsolateData.cpp:
(WebCore::V8PerIsolateData::V8PerIsolateData):
(WebCore::V8PerIsolateData::privateTemplate):
(WebCore):
* bindings/v8/V8PerIsolateData.h:
(V8PerIsolateData):
* bindings/v8/custom/V8LocationCustom.cpp:
(WebCore::V8Location::reloadAttrGetterCustom):
(WebCore::V8Location::replaceAttrGetterCustom):
(WebCore::V8Location::assignAttrGetterCustom):

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

7 years agoNeed to notify ScrollingCoordinator when frame scrollbars are destroyed
commit-queue@webkit.org [Tue, 12 Mar 2013 07:46:42 +0000 (07:46 +0000)]
Need to notify ScrollingCoordinator when frame scrollbars are destroyed
https://bugs.webkit.org/show_bug.cgi?id=112104

Patch by Tien-Ren Chen <trchen@chromium.org> on 2013-03-12
Reviewed by James Robinson.

Need to notify ScrollingCoordinatorChromium whenever m_layerForHorizontalScrollbar /
m_layerForVerticalScrollbar changes, for correct lifetime management.

No new tests. Difficult to test lifetime management internal to ScrollingCoordinatorChromium.

* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::destroyRootLayer):

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

7 years agoUnreviewed test flakiness fix.
vsevik@chromium.org [Tue, 12 Mar 2013 07:34:29 +0000 (07:34 +0000)]
Unreviewed test flakiness fix.

* inspector/debugger/event-listener-breakpoints.html:

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

7 years agoDFG prediction propagation phase should not rerun forward propagation if double votin...
fpizlo@apple.com [Tue, 12 Mar 2013 07:02:51 +0000 (07:02 +0000)]
DFG prediction propagation phase should not rerun forward propagation if double voting has already converged
https://bugs.webkit.org/show_bug.cgi?id=111920

Reviewed by Oliver Hunt.

I don't know why we weren't exiting early after double voting if !m_changed.

This change also removes backwards propagation from the voting fixpoint, since at that
point short-circuiting loops is probably not particularly profitable. Profiling shows
that this reduces the time spent in prediction propagation even further.

This change appears to be a 1% SunSpider speed-up.

* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::run):

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

7 years agoUnreviewed test flakiness fix.
vsevik@chromium.org [Tue, 12 Mar 2013 06:52:47 +0000 (06:52 +0000)]
Unreviewed test flakiness fix.

* inspector/debugger/xhr-breakpoints.html:
* platform/chromium/TestExpectations:

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

7 years agoDFG overflow check elimination is too smart for its own good
fpizlo@apple.com [Tue, 12 Mar 2013 06:43:54 +0000 (06:43 +0000)]
DFG overflow check elimination is too smart for its own good
https://bugs.webkit.org/show_bug.cgi?id=111832

Source/JavaScriptCore:

Reviewed by Oliver Hunt and Gavin Barraclough.

Rolling this back in after fixing accidental misuse of JSValue. The code was doing value < someInt
rather than value.asInt32() < someInt. This "worked" when isWithinPowerOfTwo wasn't templatized.
It worked by always being false and always disabling the relvant optimization.

This improves overflow check elimination in three ways:

1) It reduces the amount of time the compiler will spend doing it.

2) It fixes bugs where overflow check elimination was overzealous. Precisely, for a binary operation
   over @a and @b where both @a and @b will type check that their inputs (@a->children, @b->children)
   are int32's and then perform a possibly-overflowing operation, we must be careful not to assume
   that @a's non-int32 parts don't matter if at the point that @a runs we have as yet not proved that
   @b->children are int32's and that hence @b might produce a large enough result that doubles would
   start chopping low bits. The specific implication of this is that for a binary operation to not
   propagate that it cares about non-int32 parts (NodeUsedAsNumber), we must prove that at least one
   of the inputs is guaranteed to produce a result within 2^32 and that there won't be a tower of such
   operations large enough to ultimately produce a double greater than 2^52 (roughly). We achieve the
   latter by disabling this optimization for very large basic blocks. It's noteworthy that blocks that
   large won't even make it into the DFG currently.

3) It makes the overflow check elimination more precise for cases where the inputs to an Add or Sub
   are the outputs of a bit-op. For example in (@a + (@b | 0)) | 0, we don't need to propagate
   NodeUsedAsNumber to either @a or @b.

This is neutral on V8v7 and a slight speed-up on compile time benchmarks.

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri:
* dfg/DFGArrayMode.cpp:
(JSC::DFG::ArrayMode::refine):
* dfg/DFGBackwardsPropagationPhase.cpp: Added.
(DFG):
(BackwardsPropagationPhase):
(JSC::DFG::BackwardsPropagationPhase::BackwardsPropagationPhase):
(JSC::DFG::BackwardsPropagationPhase::run):
(JSC::DFG::BackwardsPropagationPhase::isNotNegZero):
(JSC::DFG::BackwardsPropagationPhase::isNotZero):
(JSC::DFG::BackwardsPropagationPhase::isWithinPowerOfTwoForConstant):
(JSC::DFG::BackwardsPropagationPhase::isWithinPowerOfTwoNonRecursive):
(JSC::DFG::BackwardsPropagationPhase::isWithinPowerOfTwo):
(JSC::DFG::BackwardsPropagationPhase::mergeDefaultFlags):
(JSC::DFG::BackwardsPropagationPhase::propagate):
(JSC::DFG::performBackwardsPropagation):
* dfg/DFGBackwardsPropagationPhase.h: Added.
(DFG):
* dfg/DFGCPSRethreadingPhase.cpp:
(JSC::DFG::CPSRethreadingPhase::run):
(JSC::DFG::CPSRethreadingPhase::clearIsLoadedFrom):
(CPSRethreadingPhase):
(JSC::DFG::CPSRethreadingPhase::canonicalizeGetLocalFor):
(JSC::DFG::CPSRethreadingPhase::canonicalizeFlushOrPhantomLocalFor):
* dfg/DFGDriver.cpp:
(JSC::DFG::compile):
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::dump):
* dfg/DFGNodeFlags.cpp:
(JSC::DFG::dumpNodeFlags):
(DFG):
* dfg/DFGNodeFlags.h:
(DFG):
* dfg/DFGPredictionPropagationPhase.cpp:
(PredictionPropagationPhase):
(JSC::DFG::PredictionPropagationPhase::propagate):
* dfg/DFGUnificationPhase.cpp:
(JSC::DFG::UnificationPhase::run):
* dfg/DFGVariableAccessData.h:
(JSC::DFG::VariableAccessData::VariableAccessData):
(JSC::DFG::VariableAccessData::mergeIsLoadedFrom):
(VariableAccessData):
(JSC::DFG::VariableAccessData::setIsLoadedFrom):
(JSC::DFG::VariableAccessData::isLoadedFrom):

LayoutTests:

Reviewed by Oliver Hunt and Gavin Barraclough.

* fast/js/dfg-arith-add-overflow-check-elimination-predicted-but-not-proven-int-expected.txt: Added.
* fast/js/dfg-arith-add-overflow-check-elimination-predicted-but-not-proven-int.html: Added.
* fast/js/dfg-arith-add-overflow-check-elimination-tower-of-large-numbers-expected.txt: Added.
* fast/js/dfg-arith-add-overflow-check-elimination-tower-of-large-numbers.html: Added.
* fast/js/jsc-test-list:
* fast/js/script-tests/dfg-arith-add-overflow-check-elimination-predicted-but-not-proven-int.js: Added.
(foo):
(bar):
* fast/js/script-tests/dfg-arith-add-overflow-check-elimination-tower-of-large-numbers.js: Added.
(foo):
(bar):

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

7 years agoNot reviewed: Chromium expectations updated.
pfeldman@chromium.org [Tue, 12 Mar 2013 06:26:22 +0000 (06:26 +0000)]
Not reviewed: Chromium expectations updated.

* platform/chromium-linux/media/track/track-cue-rendering-horizontal-expected.txt: Removed.
* platform/chromium-linux/media/track/track-cue-rendering-vertical-expected.txt: Removed.
* platform/chromium-win/media/track/track-cue-rendering-horizontal-expected.txt:
* platform/chromium-win/media/track/track-cue-rendering-vertical-expected.txt:

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

7 years agoNot reviewed: Chromium expectations updated.
pfeldman@chromium.org [Tue, 12 Mar 2013 06:20:46 +0000 (06:20 +0000)]
Not reviewed: Chromium expectations updated.

* platform/chromium-mac/fast/borders/border-radius-with-box-shadow-expected.png:
* platform/chromium-win/fast/borders/border-radius-with-box-shadow-expected.png:

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

7 years agoWe'll get there eventually.
simon.fraser@apple.com [Tue, 12 Mar 2013 06:20:19 +0000 (06:20 +0000)]
We'll get there eventually.

* platform/graphics/ca/win/PlatformCAFiltersWin.cpp:

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

7 years agoLoads are never canceled in the NetworkProcess
beidson@apple.com [Tue, 12 Mar 2013 06:12:25 +0000 (06:12 +0000)]
Loads are never canceled in the NetworkProcess
<rdar://problem/12890500> and https://bugs.webkit.org/show_bug.cgi?id=112103

Reviewed by Alexey Proskuryakov.

If a connection to a WebProcess is closed (gracefully or by crashing) then:
- All scheduled loads for that connection should be forgotten.
- All in-progress loads for that connection should be aborted asap.

* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::requestsToCleanupMutex): The "request to stop" mechanism is now called "request to cleanup"
(WebKit::requestsToCleanup):
(WebKit::NetworkResourceLoader::scheduleCleanupOnMainThread):
(WebKit::NetworkResourceLoader::performCleanups):
(WebKit::NetworkResourceLoader::cleanup):
(WebKit::NetworkResourceLoader::didFinishLoading):
(WebKit::NetworkResourceLoader::didFail):

(WebKit::NetworkResourceLoader::connectionToWebProcessDidClose): If there is a resource handle, let
  the loading thread notice the connection is invalid. Otherwise request to cleanup the loader.
(WebKit::NetworkResourceLoader::sendAbortingOnFailure):
(WebKit::NetworkResourceLoader::sendSyncAbortingOnFailure):
(WebKit::NetworkResourceLoader::abortInProgressLoad): Cancel the resource handle and schedule main thread cleanup.
(WebKit::NetworkResourceLoader::didReceiveResponse): Use sendAbortingOnFailure instead of send.
(WebKit::NetworkResourceLoader::didReceiveData): Ditto.

(WebKit::NetworkResourceLoader::willSendRequest): Call abortInProgressLoad if the sync message failed.
(WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpace): Ditto.
* NetworkProcess/NetworkResourceLoader.h:

Make connectionToWebProcessDidClose() pure virtual, moving its implementation to the subclasses:
* NetworkProcess/SchedulableLoader.cpp:
* NetworkProcess/SchedulableLoader.h:

* NetworkProcess/SyncNetworkResourceLoader.cpp:
(WebKit::SyncNetworkResourceLoader::start): Call cleanup().
(WebKit::SyncNetworkResourceLoader::connectionToWebProcessDidClose): Call cleanup().
(WebKit::SyncNetworkResourceLoader::cleanup): Factor out the sync loader cleanup code.
* NetworkProcess/SyncNetworkResourceLoader.h:

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

7 years agoFumbled adding new files to the vcproj. Fixing.
simon.fraser@apple.com [Tue, 12 Mar 2013 06:10:21 +0000 (06:10 +0000)]
Fumbled adding new files to the vcproj. Fixing.

* WebCore.vcproj/WebCore.vcproj:

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

7 years agoFix the Windows build by providing implementations of PlatformCAFilters::setFiltersOn...
simon.fraser@apple.com [Tue, 12 Mar 2013 05:51:46 +0000 (05:51 +0000)]
Fix the Windows build by providing implementations of PlatformCAFilters::setFiltersOnLayer(),
PlatformCAFilters::numAnimatedFilterProperties() and PlatformCAFilters::animatedFilterPropertyName(),
adding PlatformCAFiltersWin.cpp to the vcproj.

* WebCore.vcproj/WebCore.vcproj:
* platform/graphics/ca/PlatformCAFilters.h:
(PlatformCAFilters):
* platform/graphics/ca/win/PlatformCAFiltersWin.cpp: Copied from Source/WebCore/platform/graphics/ca/PlatformCAFilters.h.
(PlatformCAFilters::setFiltersOnLayer):
(PlatformCAFilters::numAnimatedFilterProperties):
(PlatformCAFilters::animatedFilterPropertyName):

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

7 years agoHarden JSStringJoiner
oliver@apple.com [Tue, 12 Mar 2013 05:51:05 +0000 (05:51 +0000)]
Harden JSStringJoiner
https://bugs.webkit.org/show_bug.cgi?id=112093

Reviewed by Filip Pizlo.

Harden JSStringJoiner, make it use our CheckedArithmetic
class to simplify everything.

* runtime/JSStringJoiner.cpp:
(JSC::JSStringJoiner::build):
* runtime/JSStringJoiner.h:
(JSStringJoiner):
(JSC::JSStringJoiner::JSStringJoiner):
(JSC::JSStringJoiner::append):

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

7 years agoDon't create multiple user gesture indicators when forwarding events to sub frames
jochen@chromium.org [Tue, 12 Mar 2013 05:45:19 +0000 (05:45 +0000)]
Don't create multiple user gesture indicators when forwarding events to sub frames
https://bugs.webkit.org/show_bug.cgi?id=111923

Reviewed by Adam Barth.

Ports that implement consumable user gestures depend on a single user
gesture indicator being created in response to a single user gesture.

Source/WebCore:

Test: platform/chromium/fast/events/popup-allowed-from-gesture-only-once-iframes.html

* dom/UserGestureIndicator.cpp:
(WebCore::isDefinite):
(WebCore::UserGestureIndicator::UserGestureIndicator):
(WebCore::UserGestureIndicator::processingUserGesture):
* dom/UserGestureIndicator.h:
* page/EventHandler.cpp:
(WebCore::EventHandler::handleMousePressEvent):
(WebCore::EventHandler::handleMouseDoubleClickEvent):
(WebCore::EventHandler::handleMouseReleaseEvent):
(WebCore::EventHandler::keyEvent):
(WebCore::EventHandler::handleTouchEvent):

LayoutTests:

* platform/chromium/fast/events/popup-allowed-from-gesture-only-once-iframes-expected.txt: Added.
* platform/chromium/fast/events/popup-allowed-from-gesture-only-once-iframes.html: Added.

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

7 years agoFix Windows build.
simon.fraser@apple.com [Tue, 12 Mar 2013 05:37:50 +0000 (05:37 +0000)]
Fix Windows build.

* platform/graphics/ca/win/PlatformCAAnimationWin.cpp:

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

7 years agoNot reviewed: Chromium expectations updated.
pfeldman@chromium.org [Tue, 12 Mar 2013 05:23:08 +0000 (05:23 +0000)]
Not reviewed: Chromium expectations updated.

* platform/chromium/TestExpectations:

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

7 years agoNot reviewed: Chromium rebaselines.
pfeldman@chromium.org [Tue, 12 Mar 2013 05:10:33 +0000 (05:10 +0000)]
Not reviewed: Chromium rebaselines.

* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt: Removed.
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt: Removed.
* platform/chromium-mac-lion/compositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt: Removed.
* platform/chromium-mac-lion/compositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt: Removed.
* platform/chromium-mac-snowleopard/compositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt: Removed.
* platform/chromium-mac-snowleopard/compositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt: Removed.
* platform/chromium-mac/compositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt: Removed.
* platform/chromium-mac/compositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt: Removed.
* platform/chromium-win/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt: Removed.
* platform/chromium-win/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt: Removed.
* platform/chromium/compositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt: Renamed from LayoutTests/platform/chromium-linux/compositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt.
* platform/chromium/compositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt: Renamed from LayoutTests/platform/chromium-linux/compositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt.

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

7 years agoPDFPlugin: Return PDFKit's data instead of the original resource data for save/etc.
timothy_horton@apple.com [Tue, 12 Mar 2013 05:10:03 +0000 (05:10 +0000)]
PDFPlugin: Return PDFKit's data instead of the original resource data for save/etc.
https://bugs.webkit.org/show_bug.cgi?id=111956
<rdar://problem/13352282>

Reviewed by Alexey Proskuryakov.

If we return the original resource data, we lose changes made to annotations.

* WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::pdfDocumentDidLoad): Adopt the renamed rawData().
(WebKit::PDFPlugin::saveToPDF): Use liveData so that "Save to PDF" persists changes to annotations.
(WebKit::PDFPlugin::openWithNativeApplication): Use liveData so that "Open With [native application]" persists changes to annotations.

* WebProcess/Plugins/PDF/PDFPluginAnnotation.h:
* WebProcess/Plugins/PDF/PDFPluginAnnotation.mm:
(WebKit::PDFPluginAnnotation::commit): Added, inform PDFPlugin that we're mutating the document.
* WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.mm:
(WebKit::PDFPluginChoiceAnnotation::commit): Let PDFPluginAnnotation do what it needs to inform PDFPlugin that we're going to mutate the document.
* WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm:
(WebKit::PDFPluginTextAnnotation::commit): Let PDFPluginAnnotation do what it needs to inform PDFPlugin that we're going to mutate the document.

* WebProcess/Plugins/PDF/SimplePDFPlugin.h:
(WebKit::SimplePDFPlugin::didMutatePDFDocument): Added.
(WebKit::SimplePDFPlugin::liveData): Added.
(WebKit::SimplePDFPlugin::rawData): Renamed from data(). Return NSData for consistency.
(WebKit::SimplePDFPlugin::pdfDocumentWasMutated): Added.
* WebProcess/Plugins/PDF/SimplePDFPlugin.mm:
(WebKit::SimplePDFPlugin::liveData): Return PDFKit's data if the user has mutated the
document, otherwise the raw data. This way, PDFs that PDFKit can't process will still
be downloadable as long as the user doesn't interact with annotations.
(WebKit::SimplePDFPlugin::liveResourceData): Return a SharedData wrapping the PDFDocument's data.

* WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
* WebProcess/Plugins/Netscape/NetscapePlugin.h:
* WebProcess/Plugins/PDF/SimplePDFPlugin.h:
* WebProcess/Plugins/Plugin.h:
* WebProcess/Plugins/PluginProxy.h:
* WebProcess/Plugins/PluginView.cpp:
* WebProcess/Plugins/PluginView.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::getMainResourceDataOfFrame):
Use a SharedData instead of raw data for getResourceData, and rename it liveResourceData().

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

7 years agoNot reviewed: Chromium rebaselines.
pfeldman@chromium.org [Tue, 12 Mar 2013 05:00:00 +0000 (05:00 +0000)]
Not reviewed: Chromium rebaselines.

* platform/chromium/compositing/overflow/composited-scrolling-paint-phases-expected.txt:
* platform/chromium/platform/chromium/virtual/gpu/compositedscrolling/overflow/composited-scrolling-paint-phases-expected.txt:
* platform/chromium/platform/chromium/virtual/softwarecompositing/overflow/composited-scrolling-paint-phases-expected.txt:

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

7 years agoUnreviewed build fix after http://trac.webkit.org/changeset/145472.
timothy_horton@apple.com [Tue, 12 Mar 2013 04:58:55 +0000 (04:58 +0000)]
Unreviewed build fix after trac.webkit.org/changeset/145472.

* platform/graphics/ca/mac/PlatformCAFiltersMac.mm:
(PlatformCAFilters::colorMatrixValueForFilter):

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

7 years ago[CSS] shadow from radius has wrong render in webkit
tasak@google.com [Tue, 12 Mar 2013 04:55:16 +0000 (04:55 +0000)]
[CSS] shadow from radius has wrong render in webkit
https://bugs.webkit.org/show_bug.cgi?id=99928

Reviewed by Simon Fraser.

Source/WebCore:

No rounded cornder should be expanded in the mixed case, i.e. some
corners are rounded, but others are not rounded.
Need to look at each corner independently,
i.e. top-left, top-right, bottom-left and bottom-right, and
to expand corners whose width and height are larger than 0.

Test: fast/box-shadow/box-shadow-with-zero-radius.html

* platform/graphics/RoundedRect.cpp:
(WebCore::RoundedRect::Radii::expand):

LayoutTests:

* fast/box-shadow/box-shadow-with-zero-radius-expected.html: Added.
* fast/box-shadow/box-shadow-with-zero-radius.html: Added.
* platform/chromium-linux/fast/borders/border-radius-with-box-shadow-expected.png:
Rebaselined. Comparing the old one with the new one, both ones look almost
the same.

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

7 years ago[chromium] Fix flaky timeouts in platform/chromium/events/fast/events/intercept-postm...
commit-queue@webkit.org [Tue, 12 Mar 2013 04:22:44 +0000 (04:22 +0000)]
[chromium] Fix flaky timeouts in platform/chromium/events/fast/events/intercept-postmessage.html
https://bugs.webkit.org/show_bug.cgi?id=112089

Patch by James Robinson <jamesr@chromium.org> on 2013-03-11
Reviewed by Adam Barth.

This test had a few problems. The most serious is it raced a window.postMessage() from an inline <script> in the
<head> with the HTML parser processing the rest of the testcase. If the HTML parser yielded before parsing out
the <pre id="console">, function recvMsg1 would generate an error accessing the undefined pre. The test also
set up a setTimeout with a timeout of 50ms to run after a postMessage handler. There's no need to wait after
yielding for a timeout, these events are processed in order.

* platform/chromium/fast/events/intercept-postmessage.html:

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

7 years ago[CA] Animations of CSS filters don't work correctly
simon.fraser@apple.com [Tue, 12 Mar 2013 04:02:52 +0000 (04:02 +0000)]
[CA] Animations of CSS filters don't work correctly
https://bugs.webkit.org/show_bug.cgi?id=111905

Reviewed by Dean Jackson.

Fix various issues with transitions of composited filters on Mac,
most of which stemmed from the conversion to use CAFilter.

Put the Mac CA filter-related code into a new file, PlatformCAFilters,
to group code that creates filter properties into a single place.

Animations of CIFilters using multiple values never worked correctly,
because we would clobber all but the last property for each filter,
so fix that.

Changes in the moved filter code:
    - Made use of sepiaFullConstants in the CIFilter and CAFilter code.
    - For CI, return CIVectors instead of NSArrays of NSNumbers.
    - Fudge the inputColor for the CI grayscale filter to better match software filters.
    - fix some cases where the behavior was wrong in the isDefault() case.

* WebCore.xcodeproj/project.pbxproj: Add PlatformCAFilters.h, PlatformCAFiltersMac.mm.
* platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::animationNameForTransition): This function was creating a string
containing non-ASCII characters.
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::animationIdentifier): To handle CIFilter animations, we need to tack another
index onto the animation identifier, since some animations require animating multiple
properties of the same CIFilter. Add "subIndex" for this.
(WebCore::GraphicsLayerCA::moveOrCopyAnimations): Ditto.
(WebCore::GraphicsLayerCA::updateAnimations): Ditto.
(WebCore::GraphicsLayerCA::setAnimationOnLayer): Ditto.
(WebCore::GraphicsLayerCA::removeCAAnimationFromLayer): Ditto.
(WebCore::GraphicsLayerCA::pauseCAAnimationOnLayer): Ditto.
(WebCore::GraphicsLayerCA::createAnimationFromKeyframes): Ditto.
(WebCore::GraphicsLayerCA::appendToUncommittedAnimations): Ditto.
* platform/graphics/ca/GraphicsLayerCA.h: Ditto.
(WebCore::GraphicsLayerCA::LayerPropertyAnimation::LayerPropertyAnimation):
(LayerPropertyAnimation):
* platform/graphics/ca/PlatformCAAnimation.h:
(PlatformCAAnimation): Functions moved.
* platform/graphics/ca/PlatformCAFilters.h: Added.
(PlatformCAFilters):
* platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
(PlatformCAAnimation::setFromValue):
(PlatformCAAnimation::setToValue):
(PlatformCAAnimation::setValues):
* platform/graphics/ca/mac/PlatformCAFiltersMac.mm: Added.
(PlatformCAFilters::filterValueForOperation):
(PlatformCAFilters::colorMatrixValueForFilter):
(PlatformCAFilters::numAnimatedFilterProperties):
(PlatformCAFilters::animatedFilterPropertyName):
* platform/graphics/ca/mac/PlatformCALayerMac.mm:
(PlatformCALayer::PlatformCALayer):
(PlatformCALayer::addAnimationForKey):
(PlatformCALayer::setFilters):
(PlatformCALayer::filtersCanBeComposited):

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

7 years agoUnreviewed, rolling out r145462.
commit-queue@webkit.org [Tue, 12 Mar 2013 03:00:16 +0000 (03:00 +0000)]
Unreviewed, rolling out r145462.
http://trac.webkit.org/changeset/145462
https://bugs.webkit.org/show_bug.cgi?id=112097

Compilation failure in PluginView.cpp (Requested by jamesr_ on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-03-11

Source/WebCore:

* accessibility/AccessibilityMenuList.cpp:
(WebCore::AccessibilityMenuList::canSetFocusAttribute):
* bindings/objc/DOM.mm:
(kitClass):
* bindings/v8/V8LazyEventListener.cpp:
(WebCore::V8LazyEventListener::prepareListenerObject):
* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOne):
* editing/ApplyStyleCommand.cpp:
(WebCore::isLegacyAppleStyleSpan):
(WebCore::isEmptyFontTag):
(WebCore::ApplyStyleCommand::applyBlockStyle):
* editing/FormatBlockCommand.cpp:
(WebCore::isElementForFormatBlock):
* editing/ReplaceSelectionCommand.cpp:
(WebCore::isMailPasteAsQuotationNode):
(WebCore::haveSameTagName):
(WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
(WebCore::ReplaceSelectionCommand::makeInsertedContentRoundTrippableWithHTMLTreeBuilder):
* history/CachedPage.cpp:
(WebCore::CachedPage::restore):
* html/ColorInputType.cpp:
(WebCore::ColorInputType::suggestions):
* html/HTMLTableRowsCollection.cpp:
(WebCore::isInHead):
(WebCore::isInBody):
(WebCore::isInFoot):
* inspector/DOMPatchSupport.cpp:
(WebCore::DOMPatchSupport::innerPatchNode):
* page/PageSerializer.cpp:
(WebCore::SerializerMarkupAccumulator::appendCustomAttributes):
* plugins/PluginView.cpp:
(WebCore::PluginView::getValue):
* rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::paintContents):
(WebCore::RenderEmbeddedObject::handleUnavailablePluginIndicatorEvent):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::name):
* rendering/RenderMedia.cpp:
(WebCore::RenderMedia::mediaElement):
* rendering/RenderSearchField.cpp:
(WebCore::RenderSearchField::autosaveName):
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::textFormControlElement):
(WebCore::updateUserModifyProperty):
* rendering/mathml/RenderMathMLFenced.cpp:
(WebCore::RenderMathMLFenced::updateFromElement):
* rendering/mathml/RenderMathMLFraction.cpp:
(WebCore::RenderMathMLFraction::updateFromElement):
* xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::XMLDocumentParser):
(WebCore::XMLDocumentParser::endElementNs):

Source/WebKit/chromium:

* src/ChromeClientImpl.cpp:
(WebKit::ChromeClientImpl::focusedNodeChanged):
* src/ContextMenuClientImpl.cpp:
(WebKit::ContextMenuClientImpl::getCustomMenuFromDefaultItems):
* src/DOMUtilitiesPrivate.cpp:
(WebCore::toHTMLElement):
* src/WebSearchableFormData.cpp:
(HTMLNames::IsSelectInDefaultState):

Source/WebKit/mac:

* WebView/WebView.mm:
(-[WebView _enterFullscreenForNode:WebCore::]):

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

7 years ago[Mac][WK1] Add support for alert() in MiniBrowser.
akling@apple.com [Tue, 12 Mar 2013 02:38:04 +0000 (02:38 +0000)]
[Mac][WK1] Add support for alert() in MiniBrowser.
<http://webkit.org/b/112090>

Reviewed by Anders Carlsson.

* MiniBrowser/mac/WK1BrowserWindowController.m:
(-[WK1BrowserWindowController webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:]):

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

7 years agoMove SharedWorkerRepository functions out of DefaultSharedWorkerRepository
ap@apple.com [Tue, 12 Mar 2013 02:24:17 +0000 (02:24 +0000)]
Move SharedWorkerRepository functions out of DefaultSharedWorkerRepository
https://bugs.webkit.org/show_bug.cgi?id=100418

Reviewed by Sam Weinig.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
Added SharedWorkerRepository.cpp.

* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
Chromium uses WebKit/chromium/src/SharedWorkerRepository.cpp instead of
WebCore/workers/DefaultSharedWorkerRepository.cpp. Not sure why it's added and
then excluded, but did the same with the new SharedWorkerRepository.cpp, which
just contains some code moved from that file.

* workers/DefaultSharedWorkerRepository.cpp:
(WebCore::SharedWorkerScriptLoader::load): Removed a PLATFORM(CHROMIUM) clause,
chromium doesn't compile this file.
(WebCore::DefaultSharedWorkerRepository::connectToWorker): Added a FIXME about
seemingly wrong code.

* workers/SharedWorkerRepository.cpp: Added.
(WebCore::SharedWorkerRepository::isAvailable):
(WebCore::SharedWorkerRepository::connect):
(WebCore::SharedWorkerRepository::documentDetached):
(WebCore::SharedWorkerRepository::hasSharedWorkers):
Moved from DefaultSharedWorkerRepository.cpp, because this is part of SharedWorkerRepository.

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

7 years agoMake BackgroundHTMLParser work with doc.writes that enter or leave foreign content
abarth@webkit.org [Tue, 12 Mar 2013 02:09:50 +0000 (02:09 +0000)]
Make BackgroundHTMLParser work with doc.writes that enter or leave foreign content
https://bugs.webkit.org/show_bug.cgi?id=109764

Reviewed by Eric Seidel.

Source/WebCore:

Previously, we were not reseting the state of the
HTMLTreeBuilderSimulator when we failed speculative parsing. This had a
number of observable consequences, including not parsing CDATA sections
correctly when document.write caused us to enter foreign content.

Test: fast/parser/document-write-svg-cdata.html

* html/parser/BackgroundHTMLParser.cpp:
(WebCore::BackgroundHTMLParser::BackgroundHTMLParser):
(WebCore::BackgroundHTMLParser::resumeFrom):
(WebCore::BackgroundHTMLParser::pumpTokenizer):
(WebCore::BackgroundHTMLParser::sendTokensToMainThread):
* html/parser/BackgroundHTMLParser.h:
(Checkpoint):
(BackgroundHTMLParser):
* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::validateSpeculations):
(WebCore::HTMLDocumentParser::didFailSpeculation):
* html/parser/HTMLDocumentParser.h:
(ParsedChunk):
* html/parser/HTMLElementStack.h:
(WebCore::HTMLElementStack::ElementRecord::namespaceURI):
* html/parser/HTMLTreeBuilder.h:
(WebCore::HTMLTreeBuilder::options):
(WebCore::HTMLTreeBuilder::openElements):
(HTMLTreeBuilder):
* html/parser/HTMLTreeBuilderSimulator.cpp:
(WebCore::HTMLTreeBuilderSimulator::stateFor):
(WebCore):
* html/parser/HTMLTreeBuilderSimulator.h:
(WebCore):
(WebCore::HTMLTreeBuilderSimulator::state):
(WebCore::HTMLTreeBuilderSimulator::setState):
(HTMLTreeBuilderSimulator):

LayoutTests:

* fast/parser/document-write-svg-cdata-expected.txt: Added.
* fast/parser/document-write-svg-cdata.html: Added.

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

7 years agoReplace static_casts with to* functions.
inferno@chromium.org [Tue, 12 Mar 2013 01:59:09 +0000 (01:59 +0000)]
Replace static_casts with to* functions.
https://bugs.webkit.org/show_bug.cgi?id=112072

Reviewed by Philip Rogers.

to* functions are preferred over static_cast calls since they
help to catch bad casts easily on the testing infrastructure.

Source/WebCore:

* accessibility/AccessibilityMenuList.cpp:
(WebCore::AccessibilityMenuList::canSetFocusAttribute):
* bindings/objc/DOM.mm:
(kitClass):
* bindings/v8/V8LazyEventListener.cpp:
(WebCore::V8LazyEventListener::prepareListenerObject):
* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOne):
* editing/ApplyStyleCommand.cpp:
(WebCore::isLegacyAppleStyleSpan):
(WebCore::isEmptyFontTag):
(WebCore::ApplyStyleCommand::applyBlockStyle):
* editing/FormatBlockCommand.cpp:
(WebCore::isElementForFormatBlock):
* editing/ReplaceSelectionCommand.cpp:
(WebCore::isMailPasteAsQuotationNode):
(WebCore::haveSameTagName):
(WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
(WebCore::ReplaceSelectionCommand::makeInsertedContentRoundTrippableWithHTMLTreeBuilder):
* history/CachedPage.cpp:
(WebCore::CachedPage::restore):
* html/ColorInputType.cpp:
(WebCore::ColorInputType::suggestions):
* html/HTMLTableRowsCollection.cpp:
(WebCore::isInHead):
(WebCore::isInBody):
(WebCore::isInFoot):
* inspector/DOMPatchSupport.cpp:
(WebCore::DOMPatchSupport::innerPatchNode):
* page/PageSerializer.cpp:
(WebCore::SerializerMarkupAccumulator::appendCustomAttributes):
* plugins/PluginView.cpp:
(WebCore::PluginView::getValue):
* rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::paintContents):
(WebCore::RenderEmbeddedObject::handleUnavailablePluginIndicatorEvent):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::name):
* rendering/RenderMedia.cpp:
(WebCore::RenderMedia::mediaElement):
* rendering/RenderSearchField.cpp:
(WebCore::RenderSearchField::autosaveName):
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::textFormControlElement):
(WebCore::updateUserModifyProperty):
* rendering/mathml/RenderMathMLFenced.cpp:
(WebCore::RenderMathMLFenced::updateFromElement):
* rendering/mathml/RenderMathMLFraction.cpp:
(WebCore::RenderMathMLFraction::updateFromElement):
* xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::XMLDocumentParser):
(WebCore::XMLDocumentParser::endElementNs):

Source/WebKit/chromium:

* src/ChromeClientImpl.cpp:
(WebKit::ChromeClientImpl::focusedNodeChanged):
* src/ContextMenuClientImpl.cpp:
(WebKit::ContextMenuClientImpl::getCustomMenuFromDefaultItems):
* src/DOMUtilitiesPrivate.cpp:
(WebCore::toHTMLElement):
* src/WebSearchableFormData.cpp:
(HTMLNames::IsSelectInDefaultState):

Source/WebKit/mac:

* WebView/WebView.mm:
(-[WebView _enterFullscreenForNode:WebCore::]):

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

7 years agoUnreviewed. Rolled Chromium DEPS to r187216. Requested by
commit-queue@webkit.org [Tue, 12 Mar 2013 01:56:40 +0000 (01:56 +0000)]
Unreviewed.  Rolled Chromium DEPS to r187216.  Requested by
"James Robinson" <jamesr@chromium.org> via sheriffbot.

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-03-11

* DEPS:

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

7 years agoReplace static_casts for SVGSVGElement and SVGStopElement
pdr@google.com [Tue, 12 Mar 2013 01:50:07 +0000 (01:50 +0000)]
Replace static_casts for SVGSVGElement and SVGStopElement
https://bugs.webkit.org/show_bug.cgi?id=111651

Reviewed by Stephen Chenney.

toSVGSVGElement and toSVGStopElement are preferred over static_casts because bad casts
can be caught on our testing infrastructure. This patches replaces all static_casts for
SVGSVGElement and SVGStopElement with toSVGSVGElement and toSVGStopElement, respectively.

Additionaly, this patch renames SVGElement::isSVG to SVGElement::isSVGSVGElement to
remove ambiguity for callers who may confuse this with isSVGElement.

No new tests as this is covered with existing tests.

* rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::computeIntrinsicRatioInformation):
(WebCore::RenderSVGRoot::computeReplacedLogicalWidth):
(WebCore::RenderSVGRoot::computeReplacedLogicalHeight):
(WebCore::RenderSVGRoot::layout):
(WebCore::RenderSVGRoot::buildLocalToBorderBoxTransform):
(WebCore::RenderSVGRoot::hasRelativeDimensions):
(WebCore::RenderSVGRoot::hasRelativeIntrinsicLogicalWidth):
(WebCore::RenderSVGRoot::hasRelativeLogicalHeight):
* rendering/svg/RenderSVGViewportContainer.cpp:
(WebCore::RenderSVGViewportContainer::determineIfLayoutSizeChanged):
(WebCore::RenderSVGViewportContainer::calcViewport):
(WebCore::RenderSVGViewportContainer::viewportTransform):
* svg/SVGDocument.cpp:
(WebCore::SVGDocument::rootElement):
(WebCore::SVGDocument::childShouldCreateRenderer):
* svg/SVGElement.cpp:
(WebCore::SVGElement::ownerSVGElement):
* svg/SVGElement.h:
(WebCore::SVGElement::isSVGSVGElement):
* svg/SVGGradientElement.cpp:
(WebCore::SVGGradientElement::buildStops):
* svg/SVGLengthContext.cpp:
(WebCore::SVGLengthContext::determineViewport):
* svg/SVGSVGElement.h:
(WebCore):
(WebCore::toSVGSVGElement):
* svg/SVGStopElement.h:
(WebCore::toSVGStopElement):
(WebCore):

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

7 years ago[wk2] WebProcess and WebContentService don't respect system localization
timothy_horton@apple.com [Tue, 12 Mar 2013 01:42:07 +0000 (01:42 +0000)]
[wk2] WebProcess and WebContentService don't respect system localization
https://bugs.webkit.org/show_bug.cgi?id=112091
<rdar://problem/13233590>

Reviewed by Dan Bernstein.

Allow CFBundle to use localizations that don't exist in the main bundle,
so that, for example, injected bundles can load and use strings from localized frameworks.

* WebProcess/EntryPoint/mac/LegacyProcess/Info.plist:
* WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info.plist:
* WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist:

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

7 years agoSmall code cleanup in RenderFlexibleBox
tony@chromium.org [Tue, 12 Mar 2013 01:39:24 +0000 (01:39 +0000)]
Small code cleanup in RenderFlexibleBox
https://bugs.webkit.org/show_bug.cgi?id=112076

Reviewed by Ojan Vafai.

No new tests, this is a refactor and existing tests in css3/flexbox should pass.

* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutBlock): Remove unused param from repositionLogicalHeightDependentFlexItems.
(WebCore::RenderFlexibleBox::repositionLogicalHeightDependentFlexItems): Remove unused param from repositionLogicalHeightDependentFlexItems.
The clientLogicalBottom can't have changed in this time (the only thing we've done is align children).
(WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes): Just call layout() if we marked the flexitem as needing layout.
(WebCore::RenderFlexibleBox::applyStretchAlignmentToChild): Just call layout() if we marked the flexitem as needing layout.
* rendering/RenderFlexibleBox.h:
(RenderFlexibleBox): Remove unused param from repositionLogicalHeightDependentFlexItems.

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

7 years agoRename DefinitelyProcessingUserGesture to DefinitelyProcessingNewUserGesture
jochen@chromium.org [Tue, 12 Mar 2013 01:15:57 +0000 (01:15 +0000)]
Rename DefinitelyProcessingUserGesture to DefinitelyProcessingNewUserGesture
https://bugs.webkit.org/show_bug.cgi?id=111959

Reviewed by Alexey Proskuryakov.

Source/WebCore:

The rationale is that the UserGestureIndicator will increase the number
of consumable user gestures when it's invoked with what is now
DefinitelyProcessingNewUserGesture.

In a follow-up change I will reintroduce DefinitelyProcessingUserGesture
which will only increase the consumable user gesture count if we are
not already processing a user gesture.

No new tests, no change in functionality.

* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::increment):
(WebCore::AccessibilityNodeObject::decrement):
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::press):
* bindings/ScriptControllerBase.cpp:
(WebCore::ScriptController::executeScript):
* bindings/js/ScriptController.cpp:
(WebCore::ScriptController::executeScriptInWorld):
* bindings/v8/NPV8Object.cpp:
(_NPN_EvaluateHelper):
* dom/UserGestureIndicator.cpp:
(WebCore::isDefinite):
(WebCore::UserGestureIndicator::UserGestureIndicator):
(WebCore::UserGestureIndicator::processingUserGesture):
* dom/UserGestureIndicator.h:
* inspector/InspectorFrontendClientLocal.cpp:
(WebCore::InspectorFrontendClientLocal::openInNewTab):
* inspector/InspectorFrontendHost.cpp:
(WebCore::FrontendMenuProvider::contextMenuItemSelected):
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::navigate):
* loader/NavigationScheduler.cpp:
(WebCore::ScheduledURLNavigation::fire):
(WebCore::ScheduledURLNavigation::didStartTimer):
(WebCore::ScheduledRedirect::fire):
(WebCore::ScheduledRefresh::fire):
(WebCore::ScheduledHistoryNavigation::fire):
(WebCore::ScheduledFormSubmission::fire):
(WebCore::ScheduledFormSubmission::didStartTimer):
* page/EventHandler.cpp:
(WebCore::EventHandler::handleMousePressEvent):
(WebCore::EventHandler::handleMouseDoubleClickEvent):
(WebCore::EventHandler::handleMouseReleaseEvent):
(WebCore::EventHandler::keyEvent):
(WebCore::EventHandler::handleTouchEvent):
* platform/chromium/PopupContainer.cpp:
(WebCore::PopupContainer::handleMouseDownEvent):
(WebCore::PopupContainer::handleMouseMoveEvent):
(WebCore::PopupContainer::handleMouseReleaseEvent):
(WebCore::PopupContainer::handleWheelEvent):
(WebCore::PopupContainer::handleKeyEvent):

Source/WebKit/blackberry:

* WebKitSupport/NotificationManager.cpp:
(BlackBerry::WebKit::NotificationManager::notificationClicked):

Source/WebKit/chromium:

* src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::executeScriptAndReturnValue):
* src/WebNotification.cpp:
(WebKit::WebNotification::dispatchClickEvent):
* src/WebPluginContainerImpl.cpp:
(WebKit::WebPluginContainerImpl::handleEvent):
(WebKit::WebPluginContainerImpl::loadFrameRequest):
* src/WebScopedUserGesture.cpp:
(WebKit::WebScopedUserGesture::initialize):
* tests/WebUserGestureTokenTest.cpp:
(WebCore::TEST):

Source/WebKit/mac:

* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::evaluate):
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView sendEvent:isDrawRect:]):

Source/WebKit/qt:

* WebCoreSupport/NotificationPresenterClientQt.cpp:
(WebCore::NotificationPresenterClientQt::notificationClicked):

Source/WebKit/win:

* WebCoreSupport/WebContextMenuClient.cpp:
(WebContextMenuClient::searchWithGoogle):

Source/WebKit2:

* WebProcess/Notifications/WebNotificationManager.cpp:
(WebKit::WebNotificationManager::didClickNotification):
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::evaluate):
* WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
(WebKit::WebContextMenuClient::searchWithGoogle):

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

7 years ago[Chromium] Move WebFileSystemCallbacks to Platform/
pilgrim@chromium.org [Tue, 12 Mar 2013 01:13:50 +0000 (01:13 +0000)]
[Chromium] Move WebFileSystemCallbacks to Platform/
https://bugs.webkit.org/show_bug.cgi?id=112049

Reviewed by Adam Barth.

In preparation for moving filesystem-related methods from
WebFrameClient to Platform.

Source/Platform:

* Platform.gypi:
* chromium/public/WebFileError.h: Copied from Source/WebKit/chromium/public/WebFileError.h.
(WebKit):
* chromium/public/WebFileSystemCallbacks.h: Copied from Source/WebKit/chromium/public/WebFileSystemCallbacks.h.
(WebKit):
(WebFileSystemCallbacks):
(WebKit::WebFileSystemCallbacks::didCreateSnapshotFile):
(WebKit::WebFileSystemCallbacks::~WebFileSystemCallbacks):
* chromium/public/WebFileSystemEntry.h: Copied from Source/WebKit/chromium/public/WebFileSystemEntry.h.
(WebKit):
(WebKit::WebFileSystemEntry::WebFileSystemEntry):
(WebFileSystemEntry):

Source/WebKit/chromium:

* WebKit.gyp:
* public/WebFileError.h:
* public/WebFileSystemCallbacks.h:
* public/WebFileSystemEntry.h:
* public/WebFileWriterClient.h:
* src/AssertMatchingEnums.cpp:
* src/AsyncFileWriterChromium.h:
* src/LocalFileSystemChromium.cpp:
* src/WebFileSystemCallbacksImpl.cpp:
* src/WebFileSystemCallbacksImpl.h:
* src/WebSharedWorkerImpl.cpp:
* src/WebWorkerClientImpl.cpp:
* src/WorkerFileSystemCallbacksBridge.cpp:
* src/WorkerFileSystemCallbacksBridge.h:
* src/WorkerFileWriterCallbacksBridge.h:

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

7 years agoRuby text is incorrectly positioned when its writing-mode is changed to vertical...
commit-queue@webkit.org [Tue, 12 Mar 2013 01:12:11 +0000 (01:12 +0000)]
Ruby text is incorrectly positioned when its writing-mode is changed to vertical after layout is done
https://bugs.webkit.org/show_bug.cgi?id=96592

Patch by Yuki Sekiguchi <yuki.sekiguchi@access-company.com> on 2013-03-11
Reviewed by Hajime Morrita.

Source/WebCore:

Fixed logical left of RenderRubyText is not cleared.

This causes trouble when RenderRubyTest is laid out vertically after horizontally.
Horizontal layout set logical top(== y).
Vertical layout don't set logical left(== y).
RenderRubyText::y remain old one.
We clear old RenderRubyText::y at the first part of layout().

Test: fast/writing-mode/ruby-text-logical-left.html

* rendering/RenderRubyRun.cpp:
(WebCore::RenderRubyRun::layout): Reset logicalLeft not to reuse old one.

LayoutTests:

* fast/writing-mode/ruby-text-logical-left-expected.html: Added.
* fast/writing-mode/ruby-text-logical-left.html: Added.

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

7 years ago[css3-text] Add partial parsing support for text-underline-position property from...
commit-queue@webkit.org [Tue, 12 Mar 2013 01:10:35 +0000 (01:10 +0000)]
[css3-text] Add partial parsing support for text-underline-position property from CSS3 Text
https://bugs.webkit.org/show_bug.cgi?id=102491

Patch by Lamarque V. Souza <Lamarque.Souza@basyskom.com> on 2013-03-11
Reviewed by Julien Chaffraix.

Source/WebCore:

This patch extends the existing parsing to support 'auto', 'alphabetic' and 'under'. We don't fully match
the specification as we don't support [ left | right ] and this is left for another implementation
as the rendering will need to be added.

Test: fast/css3-text/css3-text-decoration/getComputedStyle/getComputedStyle-text-underline-position.html

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseTextUnderlinePosition):
* css/CSSParser.h:
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator TextUnderlinePosition):
* css/CSSProperty.cpp:
(WebCore::CSSProperty::isInheritedProperty):
Added parsing-related checks for text-underline-position property.
* css/CSSPropertyNames.in: Added '-webkit-underline-position' property.
* css/CSSValueKeywords.in:
* css/SVGCSSValueKeywords.in:
* css/StyleBuilder.cpp:
(ApplyPropertyTextUnderlinePosition):
(WebCore::ApplyPropertyTextUnderlinePosition::applyValue):
(WebCore::ApplyPropertyTextUnderlinePosition::createHandler):
(WebCore::StyleBuilder::StyleBuilder):
Set property handler for text-underline-position.
* css/StyleResolver.cpp:
(WebCore::StyleResolver::applyProperty):
* rendering/style/RenderStyle.h:
* rendering/style/RenderStyleConstants.h:
* rendering/style/StyleRareInheritedData.cpp:
(WebCore::StyleRareInheritedData::StyleRareInheritedData):
(WebCore::StyleRareInheritedData::operator==):
Added support for m_textUnderlinePosition on copy constructor and operator
assignment functions.
* rendering/style/StyleRareInheritedData.h:
(StyleRareInheritedData): Added m_textUnderlinePosition here as it won't be used regularly.

LayoutTests:

Added getComputedStyle layout tests for 'text-underline-position' CSS3
property, with 'webkit' prefix.

* fast/css3-text/css3-text-decoration/getComputedStyle/getComputedStyle-text-underline-position-expected.txt: Added.
* fast/css3-text/css3-text-decoration/getComputedStyle/getComputedStyle-text-underline-position.html: Added.
* fast/css3-text/css3-text-decoration/getComputedStyle/script-tests/getComputedStyle-text-underline-position.js: Added.
(testElementStyle):
(testComputedStyle):

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

7 years agoHit testing should use ancestorInThisScope to get the non-shadow ancestor
commit-queue@webkit.org [Tue, 12 Mar 2013 01:08:34 +0000 (01:08 +0000)]
Hit testing should use ancestorInThisScope to get the non-shadow ancestor
https://bugs.webkit.org/show_bug.cgi?id=112068

Patch by Christian Biesinger <cbiesinger@chromium.org> on 2013-03-11
Reviewed by Dimitri Glazkov.

Source/WebCore:

Tests: media/nodesFromRect-shadowContent.html

* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::setToNonShadowAncestor):
(WebCore::HitTestResult::addNodeToRectBasedTestResult):
Use ancestorInThisScope which is not deprecated and which produces
correct results for nested shadow trees (e.g. in case of <video>,
which contains <input> elements for the controls, which themselves
have shadow trees)

LayoutTests:

* media/nodesFromRect-shadowContent.html: Extend the hit testing rect
to guarantee reaching a nested shadow tree.

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

7 years agoDashboard cleanup: Create ui.Errors
jparent@chromium.org [Tue, 12 Mar 2013 01:07:10 +0000 (01:07 +0000)]
Dashboard cleanup: Create ui.Errors
https://bugs.webkit.org/show_bug.cgi?id=111785

Reviewed by Ojan Vafai.

Create ui.Errors for handling errors the dashboards
encounter. Loader now has a Error object that it can add to,
and individual dashboards can show errors when desired.
Currently, only flakiness_db shows errors, but this is
generic and there is no reason why other dbs wouldn't want to
show errors.

* TestResultServer/static-dashboards/dashboard_base.js:
(resourceLoadingComplete):
* TestResultServer/static-dashboards/flakiness_dashboard.js:
(generatePage):
* TestResultServer/static-dashboards/loader.js:
(.):
* TestResultServer/static-dashboards/ui.js:
(.):

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

7 years agoMore chromium layer tree rebaselines for r145422
jamesr@google.com [Tue, 12 Mar 2013 00:53:06 +0000 (00:53 +0000)]
More chromium layer tree rebaselines for r145422

* platform/chromium-mac-lion/compositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt: Copied from LayoutTests/platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt.
* platform/chromium-mac-lion/compositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt: Copied from LayoutTests/platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt.
* platform/chromium-mac-snowleopard/compositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt: Copied from LayoutTests/platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt.
* platform/chromium-mac-snowleopard/compositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt: Copied from LayoutTests/platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt.
* platform/chromium-mac/compositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt: Copied from LayoutTests/platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt.
* platform/chromium-mac/compositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt: Copied from LayoutTests/platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt.
* platform/chromium-win/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt: Copied from LayoutTests/platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt.
* platform/chromium-win/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt: Copied from LayoutTests/platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt.
* platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt:
* platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt:

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

7 years agoReplace static_cast with to* helper functions.
inferno@chromium.org [Tue, 12 Mar 2013 00:50:46 +0000 (00:50 +0000)]
Replace static_cast with to* helper functions.
https://bugs.webkit.org/show_bug.cgi?id=112045

Reviewed by Eric Seidel.

Source/WebCore:

* bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
(WebCore::V8HTMLOptionsCollection::removeMethodCustom):
(WebCore::V8HTMLOptionsCollection::indexedPropertySetter):
* bindings/v8/custom/V8NamedNodesCollection.cpp:
(WebCore::V8NamedNodesCollection::namedItem):
* bindings/v8/custom/V8NodeCustom.cpp:
(WebCore::wrap):
* editing/BreakBlockquoteCommand.cpp:
(WebCore::BreakBlockquoteCommand::doApply):
* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::insertNodeAt):
(WebCore::CompositeEditCommand::pushAnchorElementDown):
(WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
(WebCore::CompositeEditCommand::splitTreeToNode):
* editing/InsertParagraphSeparatorCommand.cpp:
(WebCore::InsertParagraphSeparatorCommand::doApply):
* loader/archive/cf/LegacyWebArchive.cpp:
(WebCore::LegacyWebArchive::create):
* platform/chromium/PasteboardChromium.cpp:
(WebCore::Pasteboard::writeImage):
* platform/mac/HTMLConverter.mm:
(+[WebHTMLConverter editingAttributedStringFromRange:]):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::frameContentsCompositor):
(WebCore::RenderLayerCompositor::requiresCompositingForVideo):
* rendering/RenderSnapshottedPlugIn.cpp:
(WebCore::RenderSnapshottedPlugIn::plugInImageElement):
* rendering/mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::updateFromElement):
* rendering/svg/RenderSVGResourceContainer.cpp:
(WebCore::RenderSVGResourceContainer::idChanged):

Source/WebKit/chromium:

* src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::findChildByExpression):
(WebKit::WebFrameImpl::fromFrameOwnerElement):
* src/WebHelperPluginImpl.cpp:
(WebKit::WebHelperPluginImpl::getPlugin):
* src/WebMediaPlayerClientImpl.cpp:
(WebKit::WebMediaPlayerClientImpl::loadInternal):
(WebKit::WebMediaPlayerClientImpl::create):
* src/WebPageSerializerImpl.cpp:
(WebKit::WebPageSerializerImpl::preActionBeforeSerializeOpenTag):
(WebKit::WebPageSerializerImpl::endTagToString):
(WebKit::WebPageSerializerImpl::buildContentForNode):
(WebKit::WebPageSerializerImpl::collectTargetFrames):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::autocompleteHandleKeyEvent):
(WebKit::WebViewImpl::enterFullScreenForElement):

Source/WebKit/mac:

* WebView/WebRenderLayer.mm:
(+[WebRenderLayer nameForLayer:]):

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

7 years ago[chromium] Use SkMatrix44 instead of WebTransformationMatrix in animation APIs
commit-queue@webkit.org [Tue, 12 Mar 2013 00:45:33 +0000 (00:45 +0000)]
[chromium] Use SkMatrix44 instead of WebTransformationMatrix in animation APIs
https://bugs.webkit.org/show_bug.cgi?id=111791

Patch by James Robinson <jamesr@chromium.org> on 2013-03-11
Reviewed by Adrienne Walker.

Source/Platform:

This adds SkMatrix44 overrides for animation APIs that deal with matrices and slims the interface
down for WebTransformationMatrix to the minimum needed to compile. With this patch, there are no
live codepaths that use WebTransformationMatrix but some downstream code still needs a type and a
few functions to compile. After the downstream code is patched this type can go away completely.

* chromium/public/WebLayer.h:
(WebKit):
(WebLayer):
* chromium/public/WebTransformAnimationCurve.h:
(WebTransformAnimationCurve):
* chromium/public/WebTransformOperations.h:
(WebTransformOperations):
* chromium/public/WebTransformationMatrix.h:
(WebTransformationMatrix):

Source/WebCore:

Adds a new utility function to convert a TransformationMatrix to an SkMatrix44 and
uses it in AnimationTranslationUtil and GraphicsLayerChromium.

* WebCore.gypi:
* platform/chromium/support/WebTransformationMatrix.cpp:
(WebKit::WebTransformationMatrix::WebTransformationMatrix):
* platform/graphics/chromium/AnimationTranslationUtil.cpp:
(WebCore::toWebTransformOperations):
* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::updateTransform):
(WebCore::GraphicsLayerChromium::updateChildrenTransform):
* platform/graphics/chromium/TransformSkMatrix44Conversions.cpp:
(WebCore::TransformSkMatrix44Conversions::convert):
* platform/graphics/chromium/TransformSkMatrix44Conversions.h:
(TransformSkMatrix44Conversions):

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

7 years agoUnreviewed, rolling out r145435.
commit-queue@webkit.org [Tue, 12 Mar 2013 00:16:50 +0000 (00:16 +0000)]
Unreviewed, rolling out r145435.
http://trac.webkit.org/changeset/145435
https://bugs.webkit.org/show_bug.cgi?id=112082

Still does not compile (Requested by jamesr on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-03-11

Source/WebCore:

* Modules/indexeddb/IDBBackingStore.cpp:
(WebCore::IDBBackingStore::getObjectStores):
(WebCore::IDBBackingStore::createObjectStore):
(WebCore::IDBBackingStore::deleteObjectStore):
(WebCore::IDBBackingStore::getRecord):
(WebCore::IDBBackingStore::putRecord):
(WebCore::IDBBackingStore::clearObjectStore):
(WebCore::IDBBackingStore::deleteRecord):
(WebCore::IDBBackingStore::getKeyGeneratorCurrentNumber):
(WebCore::IDBBackingStore::maybeUpdateKeyGeneratorCurrentNumber):
(WebCore::IDBBackingStore::keyExistsInObjectStore):
(WebCore::IDBBackingStore::getIndexes):
(WebCore::IDBBackingStore::createIndex):
(WebCore::IDBBackingStore::deleteIndex):
(WebCore::IDBBackingStore::putIndexDataForRecord):
(WebCore::IDBBackingStore::findKeyInIndex):
(WebCore::IDBBackingStore::getPrimaryKeyViaIndex):
(WebCore::IDBBackingStore::keyExistsInIndex):
(WebCore::indexCursorOptions):
* Modules/indexeddb/IDBBackingStore.h:
(IDBBackingStore):
* Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
(WebCore::DeleteIndexOperation::create):
(WebCore::DeleteIndexOperation::DeleteIndexOperation):
(DeleteIndexOperation):
(WebCore::IDBDatabaseBackendImpl::openInternal):
(WebCore::IDBDatabaseBackendImpl::deleteIndex):
(WebCore::DeleteIndexOperation::perform):
(WebCore::DeleteRangeOperation::perform):
(WebCore::ClearOperation::perform):
* Modules/indexeddb/IDBLevelDBCoding.cpp:
(WebCore::IDBLevelDBCoding::KeyPrefix::KeyPrefix):
(WebCore::IDBLevelDBCoding::KeyPrefix::encode):
(WebCore::IDBLevelDBCoding::SchemaVersionKey::encode):
(WebCore::IDBLevelDBCoding::MaxDatabaseIdKey::encode):
(WebCore::IDBLevelDBCoding::DataVersionKey::encode):
(WebCore::IDBLevelDBCoding::DatabaseFreeListKey::encode):
(WebCore::IDBLevelDBCoding::DatabaseNameKey::encode):
(WebCore::IDBLevelDBCoding::DatabaseMetaDataKey::encode):
(WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::encode):
(WebCore::IDBLevelDBCoding::IndexMetaDataKey::encode):
(WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::encode):
(WebCore::IDBLevelDBCoding::IndexFreeListKey::encode):
(WebCore::IDBLevelDBCoding::ObjectStoreNamesKey::encode):
(WebCore::IDBLevelDBCoding::IndexNamesKey::encode):
(WebCore::IDBLevelDBCoding::ObjectStoreDataKey::encode):
(WebCore::IDBLevelDBCoding::ExistsEntryKey::encode):
* Modules/indexeddb/IDBLevelDBCoding.h:
(IDBLevelDBCoding):
(KeyPrefix):
* Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
(WebCore::IDBObjectStoreBackendImpl::IndexWriter::writeIndexKeys):

Source/WebKit/chromium:

* tests/IDBBackingStoreTest.cpp:
(WebCore::IDBBackingStoreTest::SetUp):
(IDBBackingStoreTest):
(WebCore::TEST_F):
* tests/IDBFakeBackingStore.h:
* tests/IDBLevelDBCodingTest.cpp:
(IDBLevelDBCoding):
(IDBLevelDBCoding::TEST):

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

7 years agoFirst (of probably many) layer tree rebaselines for r145422
jamesr@google.com [Tue, 12 Mar 2013 00:07:40 +0000 (00:07 +0000)]
First (of probably many) layer tree rebaselines for r145422

* platform/chromium-linux-x86/compositing/overflow/composited-scrolling-paint-phases-expected.txt: Copied from LayoutTests/platform/chromium-linux/compositing/overflow/composited-scrolling-paint-phases-expected.txt.
* platform/chromium-linux/compositing/iframes/become-overlapped-iframe-expected.txt:
* platform/chromium-linux/compositing/iframes/composited-parent-iframe-expected.txt:
* platform/chromium-linux/compositing/iframes/connect-compositing-iframe-delayed-expected.txt:
* platform/chromium-linux/compositing/iframes/connect-compositing-iframe-expected.txt:
* platform/chromium-linux/compositing/iframes/connect-compositing-iframe2-expected.txt:
* platform/chromium-linux/compositing/iframes/connect-compositing-iframe3-expected.txt:
* platform/chromium-linux/compositing/iframes/enter-compositing-iframe-expected.txt:
* platform/chromium-linux/compositing/iframes/iframe-resize-expected.txt:
* platform/chromium-linux/compositing/iframes/iframe-size-from-zero-expected.txt:
* platform/chromium-linux/compositing/iframes/invisible-nested-iframe-show-expected.txt:
* platform/chromium-linux/compositing/iframes/overlapped-iframe-expected.txt:
* platform/chromium-linux/compositing/iframes/resizer-expected.txt:
* platform/chromium-linux/compositing/iframes/scrolling-iframe-expected.txt:
* platform/chromium-linux/compositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt: Added.
* platform/chromium-linux/compositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt: Added.
* platform/chromium-linux/compositing/overflow/composited-scrolling-paint-phases-expected.txt:
* platform/chromium-linux/compositing/overflow/textarea-scroll-touch-expected.txt:
* platform/chromium-linux/platform/chromium/virtual/gpu/compositedscrolling/overflow/composited-scrolling-paint-phases-expected.txt:
* platform/chromium-linux/platform/chromium/virtual/gpu/compositedscrolling/overflow/textarea-scroll-touch-expected.txt:
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/become-overlapped-iframe-expected.txt:
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/composited-parent-iframe-expected.txt:
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/connect-compositing-iframe-delayed-expected.txt:
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/connect-compositing-iframe-expected.txt:
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/connect-compositing-iframe2-expected.txt:
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/connect-compositing-iframe3-expected.txt:
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/enter-compositing-iframe-expected.txt:
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/iframe-resize-expected.txt:
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/iframe-size-from-zero-expected.txt:
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/invisible-nested-iframe-show-expected.txt:
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/overlapped-iframe-expected.txt:
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/resizer-expected.txt:
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/scrolling-iframe-expected.txt:
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt: Added.
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt: Added.
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/overflow/composited-scrolling-paint-phases-expected.txt:
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/overflow/textarea-scroll-touch-expected.txt:

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

7 years agoIndexedDB: Protect against key prefix overflows
alecflett@chromium.org [Mon, 11 Mar 2013 23:57:21 +0000 (23:57 +0000)]
IndexedDB: Protect against key prefix overflows
https://bugs.webkit.org/show_bug.cgi?id=111138

Reviewed by Tony Chang.

Source/WebCore:

This reworks the boundary checking for all databaseId,
objectStoreId, and indexId, including negative and
zero-based ids. All entrypoints into IDBLevelDBCoding
are protected with explicit checks and all internal
uses of KeyPrefix are protected with ASSERTs in the
various constructors.

Tests: WebKit unit tests IDBBackingStoreTest.cpp in WebKit/chromium

* Modules/indexeddb/IDBBackingStore.h: Make all public methods boolean-based for errors.
* Modules/indexeddb/IDBLevelDBCoding.h: Add methods for checking databaseId, objectStoreId, and indexId.

Source/WebKit/chromium:

Add tests for invalid indexIds in basic get/put operations.

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

7 years agoReplace static_cast<SVGStyledElement> with toSVGStyledElement()
pdr@google.com [Mon, 11 Mar 2013 23:48:37 +0000 (23:48 +0000)]
Replace static_cast<SVGStyledElement> with toSVGStyledElement()
https://bugs.webkit.org/show_bug.cgi?id=111651

Reviewed by Abhishek Arya.

toSVGStyledElement is preferred over static_cast<SVGStyledElement*> because bad casts
can be caught on our testing infrastructure. This patch replaces all
static_cast<SVGStyledElement> instances with toSVGStyledElement.

Additionally, this patch renames SVGElement::isStyled to SVGElement::isSVGStyledElement to
remove a confusing overlap with html styled elements. This name differs slighly from the
other is*() functions in SVGElement but this will be resolved up with webkit.org/b/107386.

No new tests as this is covered with existing tests.

* rendering/svg/RenderSVGModelObject.cpp:
(WebCore::getElementCTM):
* rendering/svg/RenderSVGResourceClipper.cpp:
(WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
(WebCore::RenderSVGResourceClipper::calculateClipContentRepaintRect):
(WebCore::RenderSVGResourceClipper::hitTestClipContent):
* rendering/svg/RenderSVGResourceMasker.cpp:
(WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
(WebCore::RenderSVGResourceMasker::calculateMaskContentRepaintRect):
* rendering/svg/RenderSVGResourcePattern.cpp:
(WebCore::RenderSVGResourcePattern::createTileImage):
* rendering/svg/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::layoutChildren):
* rendering/svg/SVGResources.cpp:
(WebCore::registerPendingResource):
* svg/SVGAnimationElement.cpp:
(WebCore::SVGAnimationElement::isTargetAttributeCSSProperty):
(WebCore::SVGAnimationElement::computeCSSPropertyValue):
(WebCore::SVGAnimationElement::adjustForInheritance):
(WebCore::inheritsFromProperty):
* svg/SVGElement.cpp:
(WebCore::collectInstancesForSVGElement):
(WebCore::SVGElement::isAnimatableAttribute):
* svg/SVGElement.h:
(WebCore::SVGElement::isSVGStyledElement):
* svg/SVGElementInstance.cpp:
(WebCore::SVGElementInstance::invalidateAllInstancesOfElement):
(WebCore::SVGElementInstance::InstanceUpdateBlocker::InstanceUpdateBlocker):
* svg/SVGLocatable.cpp:
(WebCore::SVGLocatable::computeCTM):
* svg/SVGStyledElement.cpp:
(WebCore::SVGStyledElement::updateRelativeLengthsInformation):
* svg/SVGStyledElement.h:
(WebCore::SVGStyledElement::isSVGStyledElement):
* svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::selfHasRelativeLengths):
* svg/graphics/filters/SVGFEImage.cpp:
(WebCore::FEImage::platformApplySoftware):

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

7 years agoPDFPlugin: Make scrolling between pages in non-continuous modes work
timothy_horton@apple.com [Mon, 11 Mar 2013 23:47:20 +0000 (23:47 +0000)]
PDFPlugin: Make scrolling between pages in non-continuous modes work
https://bugs.webkit.org/show_bug.cgi?id=111415
<rdar://problem/12555320>

Reviewed by Alexey Proskuryakov.

* WebProcess/Plugins/PDF/PDFLayerControllerDetails.h:
Add some more PDFLayerController SPI.

* WebProcess/Plugins/PDF/PDFPlugin.h:
(PDFPlugin): Override handleWheelEvent.

* WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::handleWheelEvent):
If PDFLayerController is in non-continuous mode, allow scrolling between
pages by intercepting scroll events, and checking whether we're at the
top or bottom of a page. If we are, and a single event exceeds the threshold
of 20px (0px for legacy scroll wheels), we jump to the next or previous
page and scroll to the right place. Do not allow momentum scrolling to
switch pages.

* WebCore.exp.in: Export ScrollableArea::scrollToOffsetWithoutAnimation.

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

7 years agoRemove the use of the quotaMap cache in DatabaseTracker.
mark.lam@apple.com [Mon, 11 Mar 2013 23:44:01 +0000 (23:44 +0000)]
Remove the use of the quotaMap cache in DatabaseTracker.
https://bugs.webkit.org/show_bug.cgi?id=111805.

Reviewed by Geoffrey Garen.

This change is needed because using the quotaMap cache can result in
an inaccurate read (in a multi-process system) on what database files
are actually present on the filesystem. Instead of using the quotaMap
cache, we rely on the tracker database and query it every time we need
the origin/quota information.

No new tests.

* Modules/webdatabase/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::hasAdequateQuotaForOrigin):
(WebCore::DatabaseTracker::hasEntryForOriginNoLock):
(WebCore::DatabaseTracker::origins):
(WebCore::DatabaseTracker::quotaForOriginNoLock):
(WebCore::DatabaseTracker::setQuota):
(WebCore::DatabaseTracker::addDatabase):
(WebCore::DatabaseTracker::deleteOrigin):
* Modules/webdatabase/DatabaseTracker.h:

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

7 years agoDe-flake fast/dom/title-directionality.html
jamesr@google.com [Mon, 11 Mar 2013 23:40:36 +0000 (23:40 +0000)]
De-flake fast/dom/title-directionality.html
https://bugs.webkit.org/show_bug.cgi?id=112075

Reviewed by Adam Barth.

This moves the test logic from an inline script to an onload handler. Otherwise, the whitespace collapsing logic
creates a race between the style recalc timer and the HTML parser which sometimes produces an extra newline at
the end of the text output.

* fast/dom/title-directionality-expected.txt:
* fast/dom/title-directionality.html:

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

7 years agoDon't rely on the fact that StaticPosition happens to be defined as 0
commit-queue@webkit.org [Mon, 11 Mar 2013 23:40:19 +0000 (23:40 +0000)]
Don't rely on the fact that StaticPosition happens to be defined as 0
https://bugs.webkit.org/show_bug.cgi?id=110123

Also made the expression slightly less convoluted.

Patch by Morten Stenshorne <mstensho@opera.com> on 2013-03-11
Reviewed by Alexey Proskuryakov.

No new tests. This is just code cleanup.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::containingBlock):

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

7 years ago[Autotools] Set ENABLE_GTK_DOC to false if gtk-doc is not installed
commit-queue@webkit.org [Mon, 11 Mar 2013 23:39:05 +0000 (23:39 +0000)]
[Autotools] Set ENABLE_GTK_DOC to false if gtk-doc is not installed
https://bugs.webkit.org/show_bug.cgi?id=111980

Patch by Tobias Mueller <tobiasmue@gnome.org> on 2013-03-11
Reviewed by Martin Robinson.

WebKit did not configure if gtk-doc-am was not installed with the error:
Tools/GNUmakefile.am:419: ENABLE_GTK_DOC does not appear in AM_CONDITIONAL

* Source/autotools/FindDependencies.m4:

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

7 years agoFix some WebDatabaseManagerProxy methods to only send to one WebProcsess
mark.lam@apple.com [Mon, 11 Mar 2013 23:36:07 +0000 (23:36 +0000)]
Fix some WebDatabaseManagerProxy methods to only send to one WebProcsess
instead of broadcasting to all WebProcesses.
https://bugs.webkit.org/show_bug.cgi?id=112074.

Reviewed by Alexey Proskuryakov.

The reason for this is because the intent of these messages is to act on
the tracker database that is shared between all WebProcesses. It is
redundant and inefficient for multiple WebProcesses to service the same
request/message. And because of multi-process contention on accessing
the tracker database, the results returned to the UIProcess may also be
erroneous.

For example, if getDatabaseOrigins() is broadcasted to all WebProcesses,
they will contend to open the tracker database at the same time. If one
of these processes fails because the database is already in use, then
it may return with an empty list when it should not be empty.

With this fix, only one WebProcess gets the message and will perform the
requested query/action on behalf of all WebProcesses.

* UIProcess/WebContext.h:
(WebKit::WebContext::sendToOneProcess):
* UIProcess/WebDatabaseManagerProxy.cpp:
(WebKit::WebDatabaseManagerProxy::getDatabasesByOrigin):
(WebKit::WebDatabaseManagerProxy::getDatabaseOrigins):
(WebKit::WebDatabaseManagerProxy::deleteDatabaseWithNameForOrigin):
(WebKit::WebDatabaseManagerProxy::deleteDatabasesForOrigin):
(WebKit::WebDatabaseManagerProxy::deleteAllDatabases):
(WebKit::WebDatabaseManagerProxy::setQuotaForOrigin):

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

7 years agoUnreviewed attempt to fix build after http://trac.webkit.org/changeset/145421.
abarth@webkit.org [Mon, 11 Mar 2013 23:25:41 +0000 (23:25 +0000)]
Unreviewed attempt to fix build after trac.webkit.org/changeset/145421.

* html/HTMLPlugInImageElement.cpp:

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

7 years agoIntrinsic width keyword values don't work for tables
ojan@chromium.org [Mon, 11 Mar 2013 23:20:56 +0000 (23:20 +0000)]
Intrinsic width keyword values don't work for tables
https://bugs.webkit.org/show_bug.cgi?id=111515

Reviewed by Julien Chaffraix.

Source/WebCore:

Tests: fast/css-intrinsic-dimensions/css-tables.html
       fast/css-intrinsic-dimensions/tables.html

* rendering/RenderBox.cpp:
(WebCore::RenderBox::computeIntrinsicLogicalWidthUsing):
(WebCore::RenderBox::computeLogicalWidthInRegionUsing):
(WebCore::RenderBox::computeReplacedLogicalWidthUsing):
(WebCore::RenderBox::computePositionedLogicalWidthUsing):
* rendering/RenderBox.h:
Pass in the border and padding as an argument since RenderTable needs
to pass in a different value. Unfortunately, the math doesn't work out right
in the positioned/replaced cases if we just pass 0. We need to pass in the correct
border and padding and then subtract it from the result.

* rendering/RenderTable.cpp:
(WebCore::RenderTable::updateLogicalWidth):
Compute intrinsic widths as well as specified ones. Down the road
we may want to consider having intrinsic width values return true for
isSpecified.

(WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
Compute intrinsic widths as well.

(WebCore::RenderTable::computeIntrinsicLogicalWidths):
Implement this method so that the RenderBox::computeIntrinsicLogicalWidthUsing
gets the right intrinsic values instead of the preferred values.

(WebCore::RenderTable::computePreferredLogicalWidths):
* rendering/RenderTable.h:

LayoutTests:

* fast/css-intrinsic-dimensions/css-tables-expected.txt: Added.
* fast/css-intrinsic-dimensions/css-tables.html: Added.
* fast/css-intrinsic-dimensions/tables-expected.txt: Added.
* fast/css-intrinsic-dimensions/tables.html: Added.

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

7 years agoHTMLInputElement can delete an ImageLoader while it's still needed
schenney@chromium.org [Mon, 11 Mar 2013 23:18:44 +0000 (23:18 +0000)]
HTMLInputElement can delete an ImageLoader while it's still needed
https://bugs.webkit.org/show_bug.cgi?id=110621

Reviewed by Darin Adler.

Source/WebCore:

ImageLoader objects may fire events for HTMLInputElements that are of
type ImageInputType that own the loader. These events may cause script
to run that changes the type of the input element and hence causes the
ImageLoader to be deleted, while the image loader is still processing
the event dispatch. Bad things ensue.

This change moves ownership of the ImageLoader from the ImageInputType
onto the HTMLImageElement which is already protected from deletion during
event processing.

Test: fast/forms/image/image-error-event-modifies-type-crash.html

* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::imageLoader): Method to return the
  ImageLoader, creating it if not already created.
* html/HTMLInputElement.h:
(WebCore::HTMLInputElement::hasImageLoader): Return true if the
  ImageLoader has been created.
(HTMLInputElement): Define ImageLoader access methods and the OwnPtr
  for the HTMLImageLoader.
* html/ImageInputType.cpp:
(WebCore::ImageInputType::srcAttributeChanged): Use the element's ImageLoader.
(WebCore::ImageInputType::attach): Use the element's ImageLoader.
(WebCore::ImageInputType::willMoveToNewOwnerDocument): Use the element's ImageLoader.
(WebCore::ImageInputType::height): Use the element's ImageLoader.
(WebCore::ImageInputType::width): Use the element's ImageLoader.
* html/ImageInputType.h:
(ImageInputType): Remove the declaration of the ImageLoader.

LayoutTests:

* fast/forms/image/image-error-event-modifies-type-crash-expected.txt: Added.
* fast/forms/image/image-error-event-modifies-type-crash.html: Added.

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

7 years agoRevert "Mark GraphicsLayers as opaque when possible"
alokp@chromium.org [Mon, 11 Mar 2013 22:59:58 +0000 (22:59 +0000)]
Revert "Mark GraphicsLayers as opaque when possible"

This reverts commit 0a4d3c2d8a0373aa9e5bd9209885137a13a7f0e0.

REGRESSION (r143626): http://chainlove.com shows garbage tiles on Mac
https://bugs.webkit.org/show_bug.cgi?id=112043

Unreviewed, rolling out r143626.

Source/WebCore:

* rendering/RenderBox.cpp:
* rendering/RenderBox.h:
(RenderBox):
* rendering/RenderBoxModelObject.h:
(RenderBoxModelObject):
* rendering/RenderLayer.cpp:
* rendering/RenderLayer.h:
(RenderLayer):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
* rendering/RenderLayerModelObject.h:
(RenderLayerModelObject):

LayoutTests:

* compositing/absolute-inside-out-of-view-fixed-expected.txt:
* compositing/backing/no-backing-for-clip-expected.txt:
* compositing/backing/no-backing-for-clip-overlap-expected.txt:
* compositing/backing/no-backing-for-perspective-expected.txt:
* compositing/clip-child-by-non-stacking-ancestor-expected.txt:
* compositing/columns/composited-in-paginated-expected.txt:
* compositing/contents-opaque/contents-opaque-background-clip-expected.txt: Removed.
* compositing/contents-opaque/contents-opaque-background-clip.html: Removed.
* compositing/contents-opaque/contents-opaque-background-color-expected.txt: Removed.
* compositing/contents-opaque/contents-opaque-background-color.html: Removed.
* compositing/contents-opaque/contents-opaque-layer-opacity-expected.txt: Removed.
* compositing/contents-opaque/contents-opaque-layer-opacity.html: Removed.
* compositing/contents-opaque/contents-opaque-layer-transform-expected.txt: Removed.
* compositing/contents-opaque/contents-opaque-layer-transform.html: Removed.
* compositing/filters/sw-layer-overlaps-hw-shadow-expected.txt:
* compositing/filters/sw-shadow-overlaps-hw-layer-expected.txt:
* compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt:
* compositing/geometry/bounds-ignores-hidden-dynamic-expected.txt:
* compositing/geometry/bounds-ignores-hidden-dynamic-negzindex-expected.txt:
* compositing/geometry/bounds-ignores-hidden-expected.txt:
* compositing/geometry/clip-expected.txt:
* compositing/geometry/clip-inside-expected.txt:
* compositing/geometry/fixed-position-composited-switch-expected.txt:
* compositing/geometry/flipped-writing-mode-expected.txt:
* compositing/geometry/layer-due-to-layer-children-deep-switch-expected.txt:
* compositing/geometry/layer-due-to-layer-children-switch-expected.txt:
* compositing/geometry/limit-layer-bounds-clipping-ancestor-expected.txt:
* compositing/geometry/limit-layer-bounds-fixed-expected.txt:
* compositing/geometry/limit-layer-bounds-fixed-positioned-expected.txt:
* compositing/geometry/limit-layer-bounds-overflow-root-expected.txt:
* compositing/geometry/limit-layer-bounds-positioned-expected.txt:
* compositing/geometry/limit-layer-bounds-positioned-transition-expected.txt:
* compositing/geometry/limit-layer-bounds-transformed-expected.txt:
* compositing/geometry/limit-layer-bounds-transformed-overflow-expected.txt:
* compositing/geometry/preserve-3d-switching-expected.txt:
* compositing/iframes/become-composited-nested-iframes-expected.txt:
* compositing/iframes/become-overlapped-iframe-expected.txt:
* compositing/iframes/composited-parent-iframe-expected.txt:
* compositing/iframes/connect-compositing-iframe-delayed-expected.txt:
* compositing/iframes/connect-compositing-iframe-expected.txt:
* compositing/iframes/connect-compositing-iframe2-expected.txt:
* compositing/iframes/connect-compositing-iframe3-expected.txt:
* compositing/iframes/enter-compositing-iframe-expected.txt:
* compositing/iframes/iframe-resize-expected.txt:
* compositing/iframes/invisible-nested-iframe-hide-expected.txt:
* compositing/iframes/invisible-nested-iframe-show-expected.txt:
* compositing/iframes/overlapped-iframe-expected.txt:
* compositing/iframes/overlapped-iframe-iframe-expected.txt:
* compositing/iframes/overlapped-nested-iframes-expected.txt:
* compositing/iframes/page-cache-layer-tree-expected.txt:
* compositing/iframes/scrolling-iframe-expected.txt:
* compositing/layer-creation/animation-overlap-with-children-expected.txt:
* compositing/layer-creation/fixed-position-and-transform-expected.txt:
* compositing/layer-creation/fixed-position-change-out-of-view-in-view-expected.txt:
* compositing/layer-creation/fixed-position-out-of-view-expected.txt:
* compositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt:
* compositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt:
* compositing/layer-creation/fixed-position-under-transform-expected.txt:
* compositing/layer-creation/no-compositing-for-preserve-3d-expected.txt:
* compositing/layer-creation/overflow-scroll-overlap-expected.txt:
* compositing/layer-creation/overlap-animation-clipping-expected.txt:
* compositing/layer-creation/overlap-animation-expected.txt:
* compositing/layer-creation/overlap-child-layer-expected.txt:
* compositing/layer-creation/overlap-clipping-expected.txt:
* compositing/layer-creation/overlap-transformed-3d-expected.txt:
* compositing/layer-creation/overlap-transformed-and-clipped-expected.txt:
* compositing/layer-creation/overlap-transformed-layer-expected.txt:
* compositing/layer-creation/overlap-transformed-preserved-3d-expected.txt:
* compositing/layer-creation/overlap-transforms-expected.txt:
* compositing/layer-creation/spanOverlapsCanvas-expected.txt:
* compositing/layer-creation/stacking-context-overlap-expected.txt:
* compositing/layer-creation/translatez-overlap-expected.txt:
* compositing/masks/mask-layer-size-expected.txt:
* compositing/overflow-trumps-transform-style-expected.txt:
* compositing/overflow/clip-descendents-expected.txt:
* compositing/overflow/composited-scrolling-creates-a-stacking-container-expected.txt:
* compositing/overflow/textarea-scroll-touch-expected.txt:
* compositing/plugins/no-backing-store-expected.txt:
* compositing/repaint/invalidations-on-composited-layers-expected.txt:
* compositing/rtl/rtl-absolute-expected.txt:
* compositing/rtl/rtl-absolute-overflow-expected.txt:
* compositing/rtl/rtl-absolute-overflow-scrolled-expected.txt:
* compositing/rtl/rtl-fixed-expected.txt:
* compositing/rtl/rtl-fixed-overflow-expected.txt:
* compositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
* compositing/rtl/rtl-iframe-absolute-expected.txt:
* compositing/rtl/rtl-iframe-absolute-overflow-expected.txt:
* compositing/rtl/rtl-iframe-absolute-overflow-scrolled-expected.txt:
* compositing/rtl/rtl-iframe-fixed-expected.txt:
* compositing/rtl/rtl-iframe-fixed-overflow-expected.txt:
* compositing/rtl/rtl-iframe-fixed-overflow-scrolled-expected.txt:
* compositing/rtl/rtl-iframe-relative-expected.txt:
* compositing/rtl/rtl-relative-expected.txt:
* compositing/tiled-layers-hidpi-expected.txt:
* compositing/tiling/backface-preserve-3d-tiled-expected.txt:
* compositing/tiling/crash-reparent-tiled-layer-expected.txt:
* compositing/tiling/huge-layer-add-remove-child-expected.txt:
* compositing/tiling/huge-layer-with-layer-children-expected.txt:
* compositing/tiling/huge-layer-with-layer-children-resize-expected.txt:
* compositing/tiling/rotated-tiled-clamped-expected.txt:
* compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
* compositing/tiling/tile-cache-zoomed-expected.txt:
* compositing/tiling/tiled-layer-resize-expected.txt:
* compositing/visible-rect/2d-transformed-expected.txt:
* compositing/visible-rect/3d-transform-style-expected.txt:
* compositing/visible-rect/3d-transformed-expected.txt:
* compositing/visible-rect/animated-expected.txt:
* compositing/visible-rect/animated-from-none-expected.txt:
* compositing/visible-rect/clipped-by-viewport-expected.txt:
* compositing/visible-rect/clipped-visible-rect-expected.txt:
* compositing/visible-rect/iframe-and-layers-expected.txt:
* compositing/visible-rect/iframe-no-layers-expected.txt:
* compositing/visible-rect/nested-transform-expected.txt:
* compositing/visible-rect/scrolled-expected.txt:
* css3/filters/filtered-compositing-descendant-expected.txt:
* platform/chromium-linux-x86/compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt:
* platform/chromium-linux-x86/compositing/geometry/bounds-ignores-hidden-dynamic-negzindex-expected.txt:
* platform/chromium-linux-x86/platform/chromium/virtual/softwarecompositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
* platform/chromium-linux-x86/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-absolute-expected.txt:
* platform/chromium-linux-x86/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-fixed-expected.txt:
* platform/chromium-linux-x86/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-relative-expected.txt:
* platform/chromium-linux/compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt:
* platform/chromium-linux/compositing/geometry/bounds-ignores-hidden-dynamic-negzindex-expected.txt:
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-absolute-expected.txt:
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-fixed-expected.txt:
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-relative-expected.txt:
* platform/chromium-mac-lion/platform/chromium/virtual/softwarecompositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
* platform/chromium-mac-lion/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-absolute-expected.txt:
* platform/chromium-mac-lion/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-fixed-expected.txt:
* platform/chromium-mac-lion/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-relative-expected.txt:
* platform/chromium-mac-snowleopard/platform/chromium/virtual/softwarecompositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
* platform/chromium-mac-snowleopard/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-absolute-expected.txt:
* platform/chromium-mac-snowleopard/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-fixed-expected.txt:
* platform/chromium-mac-snowleopard/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-relative-expected.txt:
* platform/chromium-mac/compositing/iframes/invisible-nested-iframe-show-expected.txt:
* platform/chromium-mac/compositing/overflow/textarea-scroll-touch-expected.txt:
* platform/chromium-mac/compositing/repaint/invalidations-on-composited-layers-expected.txt:
* platform/chromium-mac/compositing/tiling/crash-reparent-tiled-layer-expected.txt:
* platform/chromium-mac/compositing/tiling/huge-layer-add-remove-child-expected.txt:
* platform/chromium-mac/compositing/tiling/huge-layer-with-layer-children-expected.txt:
* platform/chromium-mac/compositing/tiling/huge-layer-with-layer-children-resize-expected.txt:
* platform/chromium-mac/platform/chromium/virtual/gpu/compositedscrolling/overflow/textarea-scroll-touch-expected.txt:
* platform/chromium-mac/platform/chromium/virtual/softwarecompositing/overflow/textarea-scroll-touch-expected.txt:
* platform/chromium-mac/platform/chromium/virtual/softwarecompositing/repaint/invalidations-on-composited-layers-expected.txt:
* platform/chromium-mac/platform/chromium/virtual/softwarecompositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
* platform/chromium-mac/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-absolute-expected.txt:
* platform/chromium-mac/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-fixed-expected.txt:
* platform/chromium-mac/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-relative-expected.txt:
* platform/chromium-mac/platform/chromium/virtual/softwarecompositing/tiling/huge-layer-add-remove-child-expected.txt:
* platform/chromium-mac/platform/chromium/virtual/softwarecompositing/tiling/huge-layer-with-layer-children-expected.txt:
* platform/chromium-win-xp/compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt:
* platform/chromium-win-xp/compositing/geometry/bounds-ignores-hidden-dynamic-negzindex-expected.txt:
* platform/chromium-win-xp/platform/chromium/virtual/softwarecompositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
* platform/chromium-win-xp/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-absolute-expected.txt:
* platform/chromium-win-xp/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-fixed-expected.txt:
* platform/chromium-win-xp/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-relative-expected.txt:
* platform/chromium-win/compositing/backing/no-backing-for-clip-expected.txt:
* platform/chromium-win/compositing/backing/no-backing-for-clip-overlap-expected.txt:
* platform/chromium-win/compositing/backing/no-backing-for-perspective-expected.txt:
* platform/chromium-win/compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt:
* platform/chromium-win/compositing/geometry/bounds-ignores-hidden-dynamic-negzindex-expected.txt:
* platform/chromium-win/compositing/geometry/layer-due-to-layer-children-deep-switch-expected.txt:
* platform/chromium-win/compositing/geometry/layer-due-to-layer-children-switch-expected.txt:
* platform/chromium-win/compositing/geometry/limit-layer-bounds-overflow-root-expected.txt:
* platform/chromium-win/compositing/geometry/preserve-3d-switching-expected.txt:
* platform/chromium-win/compositing/iframes/invisible-nested-iframe-show-expected.txt:
* platform/chromium-win/compositing/layer-creation/no-compositing-for-preserve-3d-expected.txt:
* platform/chromium-win/compositing/tiling/crash-reparent-tiled-layer-expected.txt:
* platform/chromium-win/compositing/tiling/huge-layer-add-remove-child-expected.txt:
* platform/chromium-win/compositing/tiling/huge-layer-with-layer-children-expected.txt:
* platform/chromium-win/compositing/tiling/huge-layer-with-layer-children-resize-expected.txt:
* platform/chromium/TestExpectations:
* platform/chromium/compositing/backing/no-backing-for-clip-expected.txt:
* platform/chromium/compositing/backing/no-backing-for-clip-overlap-expected.txt:
* platform/chromium/compositing/backing/no-backing-for-perspective-expected.txt:
* platform/chromium/compositing/columns/composited-in-paginated-expected.txt:
* platform/chromium/compositing/filters/sw-layer-overlaps-hw-shadow-expected.txt:
* platform/chromium/compositing/filters/sw-shadow-overlaps-hw-layer-expected.txt:
* platform/chromium/compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt:
* platform/chromium/compositing/geometry/bounds-ignores-hidden-dynamic-negzindex-expected.txt:
* platform/chromium/compositing/geometry/clip-expected.txt:
* platform/chromium/compositing/geometry/clip-inside-expected.txt:
* platform/chromium/compositing/geometry/fixed-position-composited-switch-expected.txt:
* platform/chromium/compositing/geometry/flipped-writing-mode-expected.txt:
* platform/chromium/compositing/geometry/layer-due-to-layer-children-deep-switch-expected.txt:
* platform/chromium/compositing/geometry/limit-layer-bounds-fixed-positioned-expected.txt:
* platform/chromium/compositing/geometry/limit-layer-bounds-overflow-root-expected.txt:
* platform/chromium/compositing/geometry/limit-layer-bounds-positioned-expected.txt:
* platform/chromium/compositing/geometry/limit-layer-bounds-positioned-transition-expected.txt:
* platform/chromium/compositing/geometry/limit-layer-bounds-transformed-expected.txt:
* platform/chromium/compositing/geometry/limit-layer-bounds-transformed-overflow-expected.txt:
* platform/chromium/compositing/geometry/preserve-3d-switching-expected.txt:
* platform/chromium/compositing/iframes/become-composited-nested-iframes-expected.txt:
* platform/chromium/compositing/iframes/become-overlapped-iframe-expected.txt:
* platform/chromium/compositing/iframes/composited-parent-iframe-expected.txt:
* platform/chromium/compositing/iframes/connect-compositing-iframe-delayed-expected.txt:
* platform/chromium/compositing/iframes/connect-compositing-iframe-expected.txt:
* platform/chromium/compositing/iframes/connect-compositing-iframe2-expected.txt:
* platform/chromium/compositing/iframes/connect-compositing-iframe3-expected.txt:
* platform/chromium/compositing/iframes/enter-compositing-iframe-expected.txt:
* platform/chromium/compositing/iframes/iframe-resize-expected.txt:
* platform/chromium/compositing/iframes/iframe-size-from-zero-expected.txt:
* platform/chromium/compositing/iframes/invisible-nested-iframe-hide-expected.txt:
* platform/chromium/compositing/iframes/overlapped-iframe-expected.txt:
* platform/chromium/compositing/iframes/overlapped-iframe-iframe-expected.txt:
* platform/chromium/compositing/iframes/overlapped-nested-iframes-expected.txt:
* platform/chromium/compositing/iframes/resizer-expected.txt:
* platform/chromium/compositing/iframes/scrolling-iframe-expected.txt:
* platform/chromium/compositing/layer-creation/fixed-position-and-transform-expected.txt:
* platform/chromium/compositing/layer-creation/fixed-position-change-out-of-view-in-view-expected.txt:
* platform/chromium/compositing/layer-creation/fixed-position-out-of-view-expected.txt:
* platform/chromium/compositing/layer-creation/fixed-position-under-transform-expected.txt:
* platform/chromium/compositing/layer-creation/no-compositing-for-preserve-3d-expected.txt:
* platform/chromium/compositing/layer-creation/overflow-scroll-overlap-expected.txt:
* platform/chromium/compositing/layer-creation/overlap-animation-clipping-expected.txt:
* platform/chromium/compositing/layer-creation/overlap-animation-expected.txt:
* platform/chromium/compositing/layer-creation/overlap-child-layer-expected.txt:
* platform/chromium/compositing/layer-creation/overlap-clipping-expected.txt:
* platform/chromium/compositing/layer-creation/overlap-transformed-3d-expected.txt:
* platform/chromium/compositing/layer-creation/overlap-transformed-and-clipped-expected.txt:
* platform/chromium/compositing/layer-creation/overlap-transformed-layer-expected.txt:
* platform/chromium/compositing/layer-creation/overlap-transformed-preserved-3d-expected.txt:
* platform/chromium/compositing/layer-creation/overlap-transforms-expected.txt:
* platform/chromium/compositing/layer-creation/spanOverlapsCanvas-expected.txt:
* platform/chromium/compositing/layer-creation/stacking-context-overlap-expected.txt:
* platform/chromium/compositing/layer-creation/translatez-overlap-expected.txt:
* platform/chromium/compositing/overflow-trumps-transform-style-expected.txt:
* platform/chromium/compositing/overflow/clip-descendents-expected.txt:
* platform/chromium/compositing/rtl/rtl-absolute-expected.txt:
* platform/chromium/compositing/rtl/rtl-absolute-overflow-expected.txt:
* platform/chromium/compositing/rtl/rtl-absolute-overflow-scrolled-expected.txt:
* platform/chromium/compositing/rtl/rtl-fixed-expected.txt:
* platform/chromium/compositing/rtl/rtl-fixed-overflow-expected.txt:
* platform/chromium/compositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
* platform/chromium/compositing/rtl/rtl-iframe-absolute-expected.txt:
* platform/chromium/compositing/rtl/rtl-iframe-fixed-expected.txt:
* platform/chromium/compositing/rtl/rtl-iframe-relative-expected.txt:
* platform/chromium/compositing/rtl/rtl-relative-expected.txt:
* platform/chromium/css3/filters/filtered-compositing-descendant-expected.txt:
* platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-change-out-of-view-in-view-expected.txt:
* platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-expected.txt:
* platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt:
* platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt:
* platform/efl/TestExpectations:
* platform/efl/compositing/repaint/invalidations-on-composited-layers-expected.txt:
* platform/mac-wk2/compositing/visible-rect/iframe-no-layers-expected.txt:
* platform/mac/TestExpectations:
* platform/mac/compositing/geometry/fixed-position-composited-switch-expected.txt:
* platform/mac/compositing/iframes/resizer-expected.txt:
* platform/mac/compositing/overflow/composited-scrolling-creates-a-stacking-container-expected.txt:
* platform/mac/compositing/repaint/invalidations-on-composited-layers-expected.txt:
* platform/mac/compositing/tiling/backface-preserve-3d-tiled-expected.txt:
* platform/mac/compositing/tiling/crash-reparent-tiled-layer-expected.txt:
* platform/mac/compositing/tiling/huge-layer-add-remove-child-expected.txt:
* platform/mac/compositing/tiling/huge-layer-with-layer-children-expected.txt:
* platform/mac/compositing/tiling/huge-layer-with-layer-children-resize-expected.txt:
* platform/mac/compositing/tiling/rotated-tiled-clamped-expected.txt:
* platform/mac/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
* platform/mac/compositing/tiling/tile-cache-zoomed-expected.txt:
* platform/mac/compositing/tiling/tiled-layer-resize-expected.txt:
* platform/mac/compositing/visible-rect/iframe-no-layers-expected.txt:
* platform/qt-5.0-wk2/compositing/columns/composited-in-paginated-expected.txt:
* platform/qt-5.0-wk2/compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt:
* platform/qt-5.0-wk2/compositing/iframes/become-composited-nested-iframes-expected.txt:
* platform/qt-5.0-wk2/compositing/iframes/become-overlapped-iframe-expected.txt:
* platform/qt-5.0-wk2/compositing/iframes/composited-parent-iframe-expected.txt:
* platform/qt-5.0-wk2/compositing/iframes/connect-compositing-iframe-delayed-expected.txt:
* platform/qt-5.0-wk2/compositing/iframes/connect-compositing-iframe-expected.txt:
* platform/qt-5.0-wk2/compositing/iframes/connect-compositing-iframe2-expected.txt:
* platform/qt-5.0-wk2/compositing/iframes/connect-compositing-iframe3-expected.txt:
* platform/qt-5.0-wk2/compositing/iframes/enter-compositing-iframe-expected.txt:
* platform/qt-5.0-wk2/compositing/iframes/iframe-resize-expected.txt:
* platform/qt-5.0-wk2/compositing/iframes/invisible-nested-iframe-show-expected.txt:
* platform/qt-5.0-wk2/compositing/iframes/overlapped-iframe-expected.txt:
* platform/qt-5.0-wk2/compositing/iframes/overlapped-nested-iframes-expected.txt:
* platform/qt-5.0-wk2/compositing/iframes/page-cache-layer-tree-expected.txt:
* platform/qt-5.0-wk2/compositing/iframes/resizer-expected.txt:
* platform/qt-5.0-wk2/compositing/iframes/scrolling-iframe-expected.txt:
* platform/qt-5.0-wk2/compositing/layer-creation/fixed-position-and-transform-expected.txt:
* platform/qt-5.0-wk2/compositing/layer-creation/fixed-position-under-transform-expected.txt:
* platform/qt-5.0-wk2/compositing/layer-creation/no-compositing-for-preserve-3d-expected.txt:
* platform/qt-5.0-wk2/compositing/rtl/rtl-absolute-overflow-expected.txt:
* platform/qt-5.0-wk2/compositing/rtl/rtl-fixed-overflow-expected.txt:
* platform/qt-5.0-wk2/compositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
* platform/qt-5.0-wk2/compositing/tiled-layers-hidpi-expected.txt:
* platform/qt-5.0-wk2/compositing/tiling/crash-reparent-tiled-layer-expected.txt:
* platform/qt-5.0-wk2/compositing/tiling/huge-layer-add-remove-child-expected.txt:
* platform/qt-5.0-wk2/compositing/tiling/huge-layer-with-layer-children-expected.txt:
* platform/qt-5.0-wk2/compositing/tiling/huge-layer-with-layer-children-resize-expected.txt:
* platform/qt/TestExpectations:
* platform/qt/compositing/backing/no-backing-for-clip-expected.txt:
* platform/qt/compositing/backing/no-backing-for-clip-overlap-expected.txt:
* platform/qt/compositing/backing/no-backing-for-perspective-expected.txt:
* platform/qt/compositing/geometry/preserve-3d-switching-expected.txt:
* platform/qt/compositing/iframes/invisible-nested-iframe-show-expected.txt:
* platform/qt/compositing/layer-creation/no-compositing-for-preserve-3d-expected.txt:
* platform/qt/compositing/overflow/composited-scrolling-creates-a-stacking-container-expected.txt:
* platform/win/compositing/iframes/overlapped-iframe-iframe-expected.txt:
* platform/win/compositing/tiling/huge-layer-add-remove-child-expected.txt:
* platform/win/compositing/tiling/rotated-tiled-clamped-expected.txt:
* platform/win/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:

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

7 years agoPlugins created during user gestures (or soon after) should not be snapshotted
dino@apple.com [Mon, 11 Mar 2013 22:51:43 +0000 (22:51 +0000)]
Plugins created during user gestures (or soon after) should not be snapshotted
https://bugs.webkit.org/show_bug.cgi?id=111975

Reviewed by Tim Horton.

There are sites which create plugins in response to user actions, such as clicking
on an image that is acting like a poster frame. In those cases we should never snapshot.

There are some other sites which also create plugins in response to user actions,
but don't necessarily create the content themselves. Instead they run some script
that injects an iframe, and the frame loads a plugin. In order to make sure we don't
snapshot in those cases, we're adding the concept of a blessed plugin. Anything that
is created soon after a *handled* user gesture is not snapshotted. To do this we
mark a timestamp in the document when we've called an event listener for a user
gesture. The plugin element then compares its creation time with the most recent
user action time.

* dom/Document.cpp:
(WebCore::Document::Document): Initialise new timestamp.
(WebCore::Document::resetLastHandledUserGestureTimestamp): Sets the member variable
    to the current time.
* dom/Document.h:
(WebCore::Document::lastHandledUserGestureTimestamp): Getter.

* dom/EventTarget.cpp:
(WebCore::EventTarget::fireEventListeners): If there were some event listeners and
    we were processing a user gesture, then reset the timestamp in the document.

* html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): Remember if we were created
    during a user gesture.
(WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Start the plugin
    if we were created during a user gesture, or if we are close enough in time
    to a listener that fired in relation to a user gesture.
* html/HTMLPlugInImageElement.h: New private member flag indicating if we were
    in a user gesture when constructed.

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

7 years agoUnreviewed build fix. Rolling out inadvertent setting of DATA_LOG_TO_FILE.
msaboff@apple.com [Mon, 11 Mar 2013 22:45:06 +0000 (22:45 +0000)]
Unreviewed build fix.  Rolling out inadvertent setting of DATA_LOG_TO_FILE.

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

7 years agoList cache partitions as units instead of as their contents
jpfau@apple.com [Mon, 11 Mar 2013 22:38:27 +0000 (22:38 +0000)]
List cache partitions as units instead of as their contents
https://bugs.webkit.org/show_bug.cgi?id=111909

Reviewed by Maciej Stachowiak.

Source/WebCore:

Not possible to test with current automated test tools, must be tested manually.

* loader/cache/MemoryCache.cpp:
(WebCore::MemoryCache::getOriginsWithCache): List a cache item as a member of a partition, if possible

Source/WebKit2:

* WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.cpp:
(WebKit::WebResourceCacheManager::cfURLCacheHostNames): Attempt to enumerate cache partitions based on information we have

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

7 years agoUpdate chromium render tree baselines for track cue changes in r145397.
jamesr@google.com [Mon, 11 Mar 2013 22:37:41 +0000 (22:37 +0000)]
Update chromium render tree baselines for track cue changes in r145397.

* platform/chromium-linux/media/track/track-cue-rendering-horizontal-expected.txt: Added.
* platform/chromium-linux/media/track/track-cue-rendering-vertical-expected.txt: Added.
* platform/chromium-mac-lion/media/track/track-cue-rendering-vertical-expected.txt:
* platform/chromium-mac/media/track/track-cue-rendering-horizontal-expected.txt:
* platform/chromium-mac/media/track/track-cue-rendering-vertical-expected.txt:

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

7 years agoCrash beneath operationCreateInlinedArguments running fast/js/dfg-create-inlined...
msaboff@apple.com [Mon, 11 Mar 2013 22:36:28 +0000 (22:36 +0000)]
Crash beneath operationCreateInlinedArguments running fast/js/dfg-create-inlined-arguments-in-closure-inline.html (32-bit only)
https://bugs.webkit.org/show_bug.cgi?id=112067

Reviewed by Geoffrey Garen.

We weren't setting the tag in SetCallee.  Therefore set it to CellTag.

* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):

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