WebKit-https.git
9 years agoImport Chromium's dom_perf test
rniwa@webkit.org [Fri, 27 Jan 2012 22:03:37 +0000 (22:03 +0000)]
Import Chromium's dom_perf test
https://bugs.webkit.org/show_bug.cgi?id=77175

Reviewed by Adam Barth.

Import dom_perf.

Note resources/dom/suites.js isn't used by any html file yet but it will be used by Chromium port
once its perf bots start pulling test files from WebKit repository instead of Google's internal repository.

* DOM: Added.
* DOM/Accessors.html: Added.
* DOM/CloneNodes.html: Added.
* DOM/CreateNodes.html: Added.
* DOM/DOMDivWalk.html: Added.
* DOM/DOMTable.html: Added.
* DOM/DOMWalk.html: Added.
* DOM/Events.html: Added.
* DOM/GetElement.html: Added.
* DOM/GridSort.html: Added.
* DOM/Template.html: Added.
* DOM/resources: Added.
* DOM/resources/dom-perf.js: Added.
* DOM/resources/dom-perf: Added.
* DOM/resources/dom-perf/accessors.js: Added.
* DOM/resources/dom-perf/clonenodes.js: Added.
* DOM/resources/dom-perf/createnodes.js: Added.
* DOM/resources/dom-perf/domdivwalk.js: Added.
* DOM/resources/dom-perf/domtable.js: Added.
* DOM/resources/dom-perf/domwalk.js: Added.
* DOM/resources/dom-perf/events.js: Added.
* DOM/resources/dom-perf/getelement.js: Added.
* DOM/resources/dom-perf/gridsort.js: Added.
* DOM/resources/dom-perf/suites.js: Added.
* DOM/resources/dom-perf/template.js: Added.
* resources/runner.js:

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

9 years agoRename shouldLayoutFixedElementsRelativeToFrame and make it a setting
fsamuel@chromium.org [Fri, 27 Jan 2012 21:52:00 +0000 (21:52 +0000)]
Rename shouldLayoutFixedElementsRelativeToFrame and make it a setting
https://bugs.webkit.org/show_bug.cgi?id=76459

Reviewed by Darin Fisher.

.:

* Source/autotools/symbols.filter:

Source/WebCore:

This should be a setting because it is independent of a particular frame and
should be preserved even if the mainframe changes.

Renamed (set)ShouldLayoutFixedElementsRelativeToFrame to
(set)FixedElementsLayoutRelativeToFrame due to the connotation
the word "should" may have in this context: If set,
position:fixed elements will ALWAYS be laid out relative to the frame.

* WebCore.exp.in:
* page/FrameView.cpp:
(WebCore::FrameView::reset):
(WebCore::FrameView::scrollXForFixedPosition):
(WebCore::FrameView::scrollYForFixedPosition):
(WebCore::FrameView::fixedElementsLayoutRelativeToFrame):
(WebCore):
* page/FrameView.h:
(FrameView):
* page/Settings.cpp:
(WebCore::Settings::Settings):
(WebCore::Settings::setFixedElementsLayoutRelativeToFrame):
(WebCore):
* page/Settings.h:
(Settings):
(WebCore::Settings::fixedElementsLayoutRelativeToFrame):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::fixedElementLaysOutRelativeToFrame):
(WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
(WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
* rendering/RenderBox.h:
(RenderBox):
* testing/InternalSettings.cpp:
(WebCore::InternalSettings::setFixedElementsLayoutRelativeToFrame):
* testing/InternalSettings.h:
(InternalSettings):
* testing/InternalSettings.idl:

Source/WebKit/chromium:

* public/WebSettings.h:
():
* public/WebView.h:
(WebView):
* src/WebSettingsImpl.cpp:
(WebKit::WebSettingsImpl::setFixedElementsLayoutRelativeToFrame):
(WebKit):
* src/WebSettingsImpl.h:
(WebSettingsImpl):
* src/WebViewImpl.cpp:
* src/WebViewImpl.h:
(WebViewImpl):

Source/WebKit2:

* win/WebKit2.def:
* win/WebKit2CFLite.def:

LayoutTests:

* fast/repaint/fixed-in-page-scale.html:
* fast/repaint/fixed-right-bottom-in-page-scale.html:
* fast/repaint/fixed-right-in-page-scale.html:

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

9 years agoFix a compilation warning in a WebKit2 GTK+ API test.
mrobinson@webkit.org [Fri, 27 Jan 2012 21:47:51 +0000 (21:47 +0000)]
Fix a compilation warning in a WebKit2 GTK+ API test.

Reviewed by Gustavo Noronha Silva.

* UIProcess/API/gtk/tests/TestBackForwardList.cpp:
(testBackForwardListLimitAndCache): Use an int instead of size_t
because we want to print them as ints and do subtraction on them.

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

9 years ago[WTF] WTFString.h has some extra JS_EXPORT_PRIVATEs
morrita@google.com [Fri, 27 Jan 2012 20:53:27 +0000 (20:53 +0000)]
[WTF] WTFString.h has some extra JS_EXPORT_PRIVATEs
https://bugs.webkit.org/show_bug.cgi?id=77113

Reviewed by Darin Adler.

* wtf/text/WTFString.h: Removed some WTF_EXPORT_PRIVATE attributes which we don't need to export.

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

9 years ago[GTK] [WK2] Implement the policy client
mrobinson@webkit.org [Fri, 27 Jan 2012 20:15:20 +0000 (20:15 +0000)]
[GTK] [WK2] Implement the policy client
https://bugs.webkit.org/show_bug.cgi?id=76343

Reviewed by Gustavo Noronha Silva.

Source/WebKit2:

Implement the abstract WebKitPolicyDecision, WebKitNavigationPolicyDecision,
and add the decide-policy signal to WebKitWebView.

* GNUmakefile.am: Add new files to the source list.
* UIProcess/API/gtk/WebKitError.cpp: Use the WebCore namespace because
of changes to ASSERT_MATCHING_ENUMS.
* UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp: Added.
* UIProcess/API/gtk/WebKitNavigationPolicyDecision.h: Added.
* UIProcess/API/gtk/WebKitNavigationPolicyDecisionPrivate.h: Added.
* UIProcess/API/gtk/WebKitPolicyClient.cpp: Added.
* UIProcess/API/gtk/WebKitPolicyClientPrivate.h: Added.
* UIProcess/API/gtk/WebKitPolicyDecision.cpp: Added.
* UIProcess/API/gtk/WebKitPolicyDecision.h: Added.
* UIProcess/API/gtk/WebKitPolicyDecisionPrivate.h: Added.
* UIProcess/API/gtk/WebKitPrivate.h: Modify ASSERT_MATCHING_ENUMS to make
it useful for non-WebCore enums.
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewConstructed): Attach the policy client callbacks to the page.
(webkit_web_view_class_init): Add the decide-policy signal definition.
(webkitWebViewMakePolicyDecision): Added this private method to fire the signal.
* UIProcess/API/gtk/WebKitWebView.h: Added new signal to the list.
* UIProcess/API/gtk/WebKitWebViewPrivate.h: Added new method declaration.
* UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Added new classes to the docs.
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Ditto.
* UIProcess/API/gtk/tests/GNUmakefile.am: Added new test to the source list.
* UIProcess/API/gtk/tests/TestWebKitPolicyClient.cpp: Added.
* UIProcess/API/gtk/webkit2marshal.list: decide-policy has a new signature.

Tools:

* gtk/generate-gtkdoc:
(get_webkit2_options): Update the list of skipped source files to include all clients.

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

9 years agoUpdate chromium-specific expectation for navigator-detached-no-crash layout test...
leviw@chromium.org [Fri, 27 Jan 2012 20:04:46 +0000 (20:04 +0000)]
Update chromium-specific expectation for navigator-detached-no-crash layout test to include startActivity
https://bugs.webkit.org/show_bug.cgi?id=77230

Unreviewed gardening.

Patch by Greg Billock <gbillock@google.com> on 2012-01-27

* platform/chromium/fast/dom/navigator-detached-no-crash-expected.txt:
* platform/chromium/test_expectations.txt:

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

9 years agoSupport the [Supplemental] IDL for constants
haraken@chromium.org [Fri, 27 Jan 2012 20:00:34 +0000 (20:00 +0000)]
Support the [Supplemental] IDL for constants
https://bugs.webkit.org/show_bug.cgi?id=77228

Reviewed by Adam Barth.

We have supported the [Supplemental] IDL for attributes and methods.
This patch supports it for constants.

Test: bindings/scripts/test/TestSupplemental.idl

* bindings/scripts/generate-bindings.pl:
Supported [Supplemental] constants.
Updated some comments.

* bindings/scripts/test/TestSupplemental.idl:
Added test cases for [Supplemental] constants.

* bindings/scripts/test/CPP/WebDOMTestInterface.h: Updated the test results.
* bindings/scripts/test/JS/JSTestInterface.cpp: Ditto.
(WebCore::JSTestInterfacePrototype::getOwnPropertySlot):
(WebCore::JSTestInterfacePrototype::getOwnPropertyDescriptor):
(WebCore):
(WebCore::jsTestInterfaceSUPPLEMENTAL_CONSTANT1):
(WebCore::jsTestInterfaceSUPPLEMENTAL_CONSTANT2):
* bindings/scripts/test/JS/JSTestInterface.h: Ditto.
(WebCore):
* bindings/scripts/test/ObjC/DOMTestInterface.h: Ditto.
* bindings/scripts/test/V8/V8TestInterface.cpp: Ditto.
(WebCore::ConfigureV8TestInterfaceTemplate):

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

9 years agoSource/WebKit2: Add API to get the parent frame in WKBundleFrameRef
adachan@apple.com [Fri, 27 Jan 2012 19:40:22 +0000 (19:40 +0000)]
Source/WebKit2: Add API to get the parent frame in WKBundleFrameRef
https://bugs.webkit.org/show_bug.cgi?id=77161

Reviewed by Anders Carlsson.

* WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
(WKBundleFrameGetParentFrame): Get the parent frame by calling WebFrame::parentFrame().
* WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::parentFrame): Return null if the frame does not have an owner element.
Otherwise, return the owner element's frame.
* WebProcess/WebPage/WebFrame.h:

Tools: Add test for WKBundleFrameGetParentFrame().
https://bugs.webkit.org/show_bug.cgi?id=77161

Reviewed by Anders Carlsson.

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add ParentFrame.cpp and ParentFrame_Bundle.cpp.
* TestWebKitAPI/Tests/WebKit2/ParentFrame.cpp: Added.
(TestWebKitAPI):
(TestWebKitAPI::didReceiveMessageFromInjectedBundle): Get the check result from the injected bundle.
(TestWebKitAPI::setInjectedBundleClient):
(TestWebKitAPI::TEST): Load simple-iframe.html and then wait for the injected bundle to post result.
Make sure the check is successful.
* TestWebKitAPI/Tests/WebKit2/ParentFrame_Bundle.cpp: Added.
(TestWebKitAPI):
(ParentFrameTest):
(TestWebKitAPI::ParentFrameTest::ParentFrameTest):
(TestWebKitAPI::didFinishLoadForFrame): If the frame is a subframe, store it off for checking later.
If the frame is the main frame, check whether it's indeed the subframe's parent frame and post the result
to the test controller.
(TestWebKitAPI::ParentFrameTest::didCreatePage): Set the page loader client on this page.

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

9 years agoWhen threaded scrolling is enabled for a FrameView, always put scrollbars in layers
andersca@apple.com [Fri, 27 Jan 2012 19:32:43 +0000 (19:32 +0000)]
When threaded scrolling is enabled for a FrameView, always put scrollbars in layers
https://bugs.webkit.org/show_bug.cgi?id=77232
<rdar://problem/10766708>

Reviewed by Beth Dakin.

* page/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::coordinatesScrollingForFrameView):
* page/ScrollingCoordinator.h:
Add a new helper function.

* rendering/RenderLayerCompositor.cpp:
(WebCore::shouldCompositeOverflowControls):
Make this take a FrameView, check with the scrolling coordinator if the overflow controls should be composited.

(WebCore::RenderLayerCompositor::requiresHorizontalScrollbarLayer):
(WebCore::RenderLayerCompositor::requiresVerticalScrollbarLayer):
(WebCore::RenderLayerCompositor::requiresScrollCornerLayer):
Update for the change to make shouldCompositeOverflowControls take a FrameView.

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

9 years agoUnreviewed gardening. Updating linux expectations after http://trac.webkit.org/change...
leviw@chromium.org [Fri, 27 Jan 2012 19:12:19 +0000 (19:12 +0000)]
Unreviewed gardening. Updating linux expectations after trac.webkit.org/changeset/106108

* platform/chromium-linux/svg/as-background-image/svg-as-background-2-expected.png: Added.
* platform/chromium-linux/svg/filters/big-sized-filter-expected.png:
* platform/chromium-linux/svg/wicd/test-scalable-background-image1-expected.png:

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

9 years agoPointer Lock: Implement pointer interface
scheib@chromium.org [Fri, 27 Jan 2012 19:06:41 +0000 (19:06 +0000)]
Pointer Lock: Implement pointer interface
https://bugs.webkit.org/show_bug.cgi?id=75762

Source/WebCore:

Reviewed by Julien Chaffraix.

Implement the navigator.pointer interface via a new
PointerLockController class, as per
http://dvcs.w3.org/hg/webevents/raw-file/default/mouse-lock.html.

The implementation is being made in steps, the feature is still behind
compile-time and run-time flags, 'webkit' prefixed, and not yet enabled
in any browser. (Chromium has a developer flag required.) Follow-up
work will include handling DOM elements being removed, making all
callbacks asynchronous, iframe permissions (similar to Full Screen),
etc.

PointerLockController maintains state of which Element is the current
lock target and the success and failure callbacks. ChromeClient has
methods added to expose the required state change requests.

Tests: pointer-lock/lock-already-locked.html
       pointer-lock/lock-fail-responses.html
       pointer-lock/mouse-event-delivery.html
       pointer-lock/pointerlocklost-event.html

* WebCore.gypi:
* dom/EventNames.h:
* page/ChromeClient.h:
(WebCore::ChromeClient::requestPointerLock):
(WebCore::ChromeClient::requestPointerUnlock):
(WebCore::ChromeClient::isPointerLocked):
* page/Navigator.cpp:
(WebCore::Navigator::webkitPointer):
* page/Page.cpp:
(WebCore::Page::Page):
* page/Page.h:
(WebCore::Page::pointerLockController):
* page/PointerLock.cpp:
(WebCore::PointerLock::PointerLock):
(WebCore::PointerLock::create):
(WebCore::PointerLock::lock):
(WebCore::PointerLock::unlock):
(WebCore::PointerLock::isLocked):
* page/PointerLock.h:
(WebCore::PointerLock::create):
* page/PointerLockController.cpp: Added.
(WebCore::PointerLockController::PointerLockController):
(WebCore::PointerLockController::requestPointerLock):
(WebCore::PointerLockController::requestPointerUnlock):
(WebCore::PointerLockController::isLocked):
(WebCore::PointerLockController::didAcquirePointerLock):
(WebCore::PointerLockController::didNotAcquirePointerLock):
(WebCore::PointerLockController::didLosePointerLock):
(WebCore::PointerLockController::dispatchLockedMouseEvent):
* page/PointerLockController.h: Copied from Source/WebCore/page/PointerLock.h.

Source/WebKit/chromium:

Add calls to the PointerLockController added in this patch to WebCore.

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::close):
(WebKit::WebViewImpl::didAcquirePointerLock):
(WebKit::WebViewImpl::didNotAcquirePointerLock):
(WebKit::WebViewImpl::didLosePointerLock):
(WebKit::WebViewImpl::pointerLockMouseEvent):

LayoutTests:

Reviewed by Julien Chaffraix.

* pointer-lock/lock-already-locked-expected.txt: Added.
* pointer-lock/lock-already-locked.html: Added.
* pointer-lock/lock-fail-responses-expected.txt: Added.
* pointer-lock/lock-fail-responses.html: Added.
* pointer-lock/mouse-event-delivery-expected.txt: Added.
* pointer-lock/mouse-event-delivery.html: Added.
* pointer-lock/pointerlocklost-event-expected.txt: Added.
* pointer-lock/pointerlocklost-event.html: Added.

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

9 years ago[GTK] Sometimes fails to build when using make -j
kov@webkit.org [Fri, 27 Jan 2012 18:27:45 +0000 (18:27 +0000)]
[GTK] Sometimes fails to build when using make -j
https://bugs.webkit.org/show_bug.cgi?id=77226

Reviewed by Martin Robinson.

* GNUmakefile.am: use a different name for the scripts used to
generate enum files for WebKitGTK+ and WebKit2GTK+, so they do not
clash;

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

9 years agoLayout Test fast/dom/navigator-detached-no-crash.html is failing
leviw@chromium.org [Fri, 27 Jan 2012 18:24:21 +0000 (18:24 +0000)]
Layout Test fast/dom/navigator-detached-no-crash.html is failing
https://bugs.webkit.org/show_bug.cgi?id=77227

Unreviewed. Marking fast/dom/navigator-detached-no-crash.html as failing on Chromium
due to a Chromium Web Intents change.

* platform/chromium/test_expectations.txt:

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

9 years agoCrash in DocumentLoader::detachFromFrame.
inferno@chromium.org [Fri, 27 Jan 2012 18:19:20 +0000 (18:19 +0000)]
Crash in DocumentLoader::detachFromFrame.
https://bugs.webkit.org/show_bug.cgi?id=62764

Reviewed by Brady Eidson.

r105556 didn't fix the crash because canceling the
main resource loader blows away both the current
document loader and frame underneath. Both protectors
are also used in stopLoading() when m_mainResourceLoader->cancel()
is called. Also, tested the fix under ASAN.

* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::detachFromFrame):

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

9 years agoflexbox scrollbars don't take flex-direction into account
tony@chromium.org [Fri, 27 Jan 2012 18:12:05 +0000 (18:12 +0000)]
flexbox scrollbars don't take flex-direction into account
https://bugs.webkit.org/show_bug.cgi?id=70772

Reviewed by Darin Adler.

Source/WebCore:

This fixes a bug where we always used the logicalScrollbarHeight.
For column flow, this was incorrect.

Also fix a bug where we didn't include the trailing border+padding+scrollbar when computing the
height of a column flow.

Tests: css3/flexbox/cross-axis-scrollbar-expected.html
       css3/flexbox/cross-axis-scrollbar.html

* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::crossAxisScrollbarExtent): Add a direction aware method for getting the scrollbar size.
(WebCore):
(WebCore::RenderFlexibleBox::layoutAndPlaceChildren): Use crossAxisScrollbarExtent.
* rendering/RenderFlexibleBox.h:
(RenderFlexibleBox):

LayoutTests:

* css3/flexbox/cross-axis-scrollbar-expected.html: Added.
* css3/flexbox/cross-axis-scrollbar.html: Added.

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

9 years agoUnreviewed. Rebasedlined run-bindings-tests results.
haraken@chromium.org [Fri, 27 Jan 2012 17:55:38 +0000 (17:55 +0000)]
Unreviewed. Rebasedlined run-bindings-tests results.

* bindings/scripts/test/CPP/WebDOMTestInterface.cpp:
(WebDOMTestInterface::supplementalMethod1):
(WebDOMTestInterface::supplementalMethod2):

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

9 years ago[Gtk] DumpRenderTree lacks --no-timeout command line option
commit-queue@webkit.org [Fri, 27 Jan 2012 17:54:13 +0000 (17:54 +0000)]
[Gtk] DumpRenderTree lacks --no-timeout command line option
https://bugs.webkit.org/show_bug.cgi?id=77196

Patch by Zan Dobersek <zandobersek@gmail.com> on 2012-01-27
Reviewed by Martin Robinson.

Add the --no-timeout command line option and reorganize
watchdog code to make running DumpRenderTree without
timeout possible.

* DumpRenderTree/gtk/DumpRenderTree.cpp:
(setWaitToDumpWatchdog):
(shouldSetWaitToDumpWatchdog):
(initializeGlobalsFromCommandLineOptions):
* DumpRenderTree/gtk/DumpRenderTreeGtk.h:
* DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
(waitToDumpWatchdogFired):
(LayoutTestController::setWaitToDump):

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

9 years agoFix overridePreference for WebKitHixie76WebSocketProtocolEnabled in WebKitTestRunner.
jocelyn.turcotte@nokia.com [Fri, 27 Jan 2012 17:51:23 +0000 (17:51 +0000)]
Fix overridePreference for WebKitHixie76WebSocketProtocolEnabled in WebKitTestRunner.
https://bugs.webkit.org/show_bug.cgi?id=77220

Reviewed by Noam Rosenthal.

* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): The macro already stringify TestRunnerName.

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

9 years agoREGRESSION (r106036-r106050): 12 tests failing on GTK Linux 64-bit Debug
commit-queue@webkit.org [Fri, 27 Jan 2012 17:39:15 +0000 (17:39 +0000)]
REGRESSION (r106036-r106050): 12 tests failing on GTK Linux 64-bit Debug
https://bugs.webkit.org/show_bug.cgi?id=77222

Patch by Zan Dobersek <zandobersek@gmail.com> on 2012-01-27
Reviewed by Martin Robinson.

Rebaseline tests after changes in r106043.

* platform/gtk/editing/selection/caret-ltr-2-expected.txt:
* platform/gtk/editing/selection/caret-ltr-2-left-expected.txt:
* platform/gtk/editing/selection/caret-ltr-expected.txt:
* platform/gtk/editing/selection/caret-ltr-right-expected.txt:
* platform/gtk/editing/selection/caret-rtl-2-expected.txt:
* platform/gtk/editing/selection/caret-rtl-2-left-expected.txt:
* platform/gtk/editing/selection/caret-rtl-expected.txt:
* platform/gtk/editing/selection/caret-rtl-right-expected.txt:
* platform/gtk/fast/multicol/span/span-as-immediate-child-property-removal-expected.txt:
* platform/gtk/fast/multicol/span/span-as-immediate-columns-child-removal-expected.txt:
* platform/gtk/http/tests/xmlhttprequest/send-array-buffer-expected.txt: Added.
* platform/gtk/http/tests/xmlhttprequest/send-undefined-and-null-expected.txt: Added.

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

9 years ago[Chromium]: Update expectations after r105572
commit-queue@webkit.org [Fri, 27 Jan 2012 15:58:42 +0000 (15:58 +0000)]
[Chromium]: Update expectations after r105572
https://bugs.webkit.org/show_bug.cgi?id=77211

Unreviewed Chromium test expectations update.

Patch by Stephen Chenney <schenney@chromium.org> on 2012-01-27

* platform/chromium/test_expectations.txt: Removed crash flakiness fixed with r105572.

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

9 years ago[chromium] Unreviewed, rebaseline after http://trac.webkit.org/changeset/105613.
knorton@google.com [Fri, 27 Jan 2012 15:36:00 +0000 (15:36 +0000)]
[chromium] Unreviewed, rebaseline after trac.webkit.org/changeset/105613.

* platform/chromium/test_expectations.txt: Enable rebaselined tests

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

9 years ago[Qt][WK2] Child layers appear in wrong position when scrolling
noam.rosenthal@nokia.com [Fri, 27 Jan 2012 15:35:40 +0000 (15:35 +0000)]
[Qt][WK2] Child layers appear in wrong position when scrolling
https://bugs.webkit.org/show_bug.cgi?id=77063

Reviewed by Simon Fraser.

When using the delegatesScrolling mode in FrameView, the compositor doesn't need
to control the special clip/scroll layers. Also, when we change that mode, we need to let
the compositor reset its backing-stores and rebuild them without scrolling/clipping.

This is tested by compositing tests, when run with Qt in touch mode.

* page/FrameView.cpp:
(WebCore::FrameView::delegatesScrollingDidChange):
(WebCore):
* page/FrameView.h:
(FrameView):
* platform/ScrollView.cpp:
(WebCore::ScrollView::setDelegatesScrolling):
* platform/ScrollView.h:
(WebCore::ScrollView::delegatesScrollingDidChange):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::requiresScrollLayer):

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

9 years agoRemoved unused method from CSSStyleSelector
commit-queue@webkit.org [Fri, 27 Jan 2012 15:15:50 +0000 (15:15 +0000)]
Removed unused method from CSSStyleSelector
https://bugs.webkit.org/show_bug.cgi?id=77190

Patch by Thiago Marcos P. Santos <tmpsantos@gmail.com> on 2012-01-27
Reviewed by Andreas Kling.

* css/CSSStyleSelector.h:
(CSSStyleSelector):

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

9 years ago[Qt][WK2] Enable the automatic touch->mouse mocking on the new Qt5 hashes
abecsi@webkit.org [Fri, 27 Jan 2012 14:53:32 +0000 (14:53 +0000)]
[Qt][WK2] Enable the automatic touch->mouse mocking on the new Qt5 hashes
https://bugs.webkit.org/show_bug.cgi?id=77122

Reviewed by Kenneth Rohde Christiansen.

* MiniBrowser/qt/MiniBrowserApplication.cpp:
(MiniBrowserApplication::MiniBrowserApplication):

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

9 years ago[Qt][Mac] Build fails after adding ICU support (r105997).
zeno.albisser@nokia.com [Fri, 27 Jan 2012 14:42:07 +0000 (14:42 +0000)]
[Qt][Mac] Build fails after adding ICU support (r105997).
https://bugs.webkit.org/show_bug.cgi?id=77118

Source/JavaScriptCore:

Use Apple code path for unicode date formats on mac.

Reviewed by Tor Arne Vestbø.

* runtime/DatePrototype.cpp:
():

Source/WebCore:

Use SmareReplaceCF.cpp code path if platform Mac.

Reviewed by Tor Arne Vestbø.

* Target.pri:

Source/WTF:

Link to libicucore if platform Mac.

Reviewed by Tor Arne Vestbø.

* WTF.pri:

Tools:

Define WTF_USE_ICU_UNICODE if we are on mac.

Reviewed by Tor Arne Vestbø.

* qmake/mkspecs/features/features.prf:

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

9 years ago[GTK] Add a GKeyFile especialization to GOwnPtr
carlosgc@webkit.org [Fri, 27 Jan 2012 14:27:24 +0000 (14:27 +0000)]
[GTK] Add a GKeyFile especialization to GOwnPtr
https://bugs.webkit.org/show_bug.cgi?id=77191

Reviewed by Martin Robinson.

Source/JavaScriptCore:

* wtf/gobject/GOwnPtr.cpp:
(WTF::GKeyFile): Implement freeOwnedGPtr for GKeyFile.
* wtf/gobject/GOwnPtr.h: Add GKeyFile template.
* wtf/gobject/GTypedefs.h: Add forward declaration for GKeyFile.

Source/WebKit2:

* Shared/gtk/ArgumentCodersGtk.cpp:
(CoreIPC::decodeGKeyFile): Use GOwnPtr for GKeyFile.
(CoreIPC::encode): Ditto.
(CoreIPC::decode): Ditto.

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

9 years ago[Qt] Fade out tap highlighting when starting to pan
kenneth@webkit.org [Fri, 27 Jan 2012 14:20:50 +0000 (14:20 +0000)]
[Qt] Fade out tap highlighting when starting to pan
https://bugs.webkit.org/show_bug.cgi?id=77202

Reviewed by Simon Hausmann.

Basically we need to fade out the potential tap highlighting
when ever the gesture recognition fails or another gesture
is recognized. We do that with this change.

* UIProcess/qt/QtTapGestureRecognizer.cpp:
(WebKit::QtTapGestureRecognizer::QtTapGestureRecognizer):
(WebKit::QtTapGestureRecognizer::recognize):
(WebKit::QtTapGestureRecognizer::reset):

    Remove reset as it does nothing but call code before the
    event handler is installed.

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

9 years agoWeb Inspector: detailed heap snapshot: Replace (Native objects) root element
loislo@chromium.org [Fri, 27 Jan 2012 14:08:49 +0000 (14:08 +0000)]
Web Inspector: detailed heap snapshot: Replace (Native objects) root element
with '(Detached DOM trees)' and '(Document DOM trees)'
https://bugs.webkit.org/show_bug.cgi?id=77201

I think it'd be nice to replace one group containing all native objects with
separate groups for different types of native objects.

Reviewed by Yury Semikhatsky.

* bindings/v8/RetainedDOMInfo.cpp:
(WebCore::RetainedDOMInfo::GetGroupLabel):
(WebCore):
* bindings/v8/RetainedDOMInfo.h:
(RetainedDOMInfo):

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

9 years agoUpdate committers.py with new contributors.
zoltan@webkit.org [Fri, 27 Jan 2012 14:02:15 +0000 (14:02 +0000)]
Update committers.py with new contributors.
https://bugs.webkit.org/show_bug.cgi?id=77207

I added six new contributors into committers.py:

- Adam Kallai
- Balazs Ankes
- Janos Badics
- Nandor Huszka
- Roland Takacs
- Szilard Ledan-Muntean

Patch by Roland Takacs <takacs.roland@stud.u-szeged.hu> on 2012-01-27

* Scripts/webkitpy/common/config/committers.py:

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

9 years ago<feImage> doesn't work with local references when using primitiveUnits="objectBoundin...
zimmermann@webkit.org [Fri, 27 Jan 2012 13:54:21 +0000 (13:54 +0000)]
<feImage> doesn't work with local references when using primitiveUnits="objectBoundingBox"
https://bugs.webkit.org/show_bug.cgi?id=77205

Reviewed by Antti Koivisto.

Source/WebCore:

Consider following testcase:
<svg width="1000" height="500">
<defs>
    <circle id="c" cx="50%" cy="50%" r="10%"/>
    <filter id="f" filterUnits="userSpaceOnUse" x="0" y="0" width="100" height="100" primitiveUnits="objectBoundingBox">
        <feImage xlink:href="#c"/>
    </filter>
</defs>
<rect width="100" height="100" filter="url(#f)"/>
</svg>

The <svg> has a viewport of 1000x50. The <circle> in the <defs> element is resolved as <circle cx="500" cy="250" r="79"/>,
as the context for this element (looking at it isolated!) is the viewport of the <svg>. We then setup a 0x0 - 100x100 rect
in user space, which gets filtered, by a filter, also defined in user space (for simplicity), but with primitiveUnits="objectBoundingBox".

That means that the default subregion of the filter effect <feImage/> which has no inputs, is defined in the SVG 1.1 spec to be equal to
the filter region, which is 0x0-100x100 in user space. This <feImage/> is supposed to produce a 100x100 image, containing a circle in the
middle (aka. <circle cx="50" cy="50".../>), but it doesn't, as the <circle> it's trying to paint, is laid out at 500x250, and thus outside
the 100x100 sized image buffer.

So how to resolve this?
The RenderSVGShape thats owned by the <circle> generates its Path value by calling cx().value(lengthContext) and the SVGLengthContext here
resolves to the <svg>. That happens on _layout_. If we would want to change the SVGLengthContext in this case (what I originally planned!)
to carry a custom 100x100 viewport, we'd need to relayout. Unfortunately this is not an option, as this would mean that
SVGImageBufferTools::renderSubtreeToImageBuffer, would need to relayout its children first, but we produce the filter images when painting.
This is very dangerous and has just recently been fixed so that SVGImageBufferTools can ASSERT(!item->needsLayout()) when painting the
subtree to an image buffer.

The only sane solution I see, that does not require relayouts, is to make a map between the <circle> bounding box in user space (500x250
center point) to the filter primitive subregion space (here: 100x100 center point), and concat that transformation before painting the
subtree to the image buffer. Of course this approach only works if all values of the <circle> are relative. If someone uses
<circle id="c" cx="50%" cy="666"> the transformation that I'm looking for is undefined. We'd really need to create a new Path here, to
resolve only cx against the new viewport, and not cy.

Though in practice it turns out this is not a problem. All use cases of feImage + primitiveUnits="objectBoundingBox" link to elements
that are completely defined in percentual values, as this is really the only thing which makes sense - otherwise you can always switch
back to primtiveUnits="userSpaceOnUse". Anyhow, I'm going to fix all known wild-life test cases by my approach, and say we don't support
using mixed length units when referencing those elements from feImages with primitiveUnits="objectBoundingBox".

Adding lots of new testcases, trying all the different feImage modes.

Tests: svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-objectBoundingBox.svg
       svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-userSpaceOnUse.svg
       svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-objectBoundingBox.svg
       svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-userSpaceOnUse.svg
       svg/filters/feImage-position.svg
       svg/filters/feImage-subregions-preseveAspectRatio-none-with-viewBox.svg
       svg/filters/feImage-subregions-preseveAspectRatio-none.svg
       svg/filters/feImage-subregions.svg

* rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
(WebCore::RenderSVGResourceFilterPrimitive::determineFilterPrimitiveSubregion): Reverse logic, simplifying the code a bit. Remove FEImage special cases (absoluteSubregion).
* svg/SVGLengthContext.h: Make determineViewport() public, for use in FEImage.
* svg/graphics/filters/SVGFEImage.cpp:
(WebCore::FEImage::determineAbsolutePaintRect): Don't apply preserveAspectRatio transformation for local elements, it's not defined and breaks content.
(WebCore::FEImage::platformApplySoftware): Figure out the absolute subregion by utilizing filterPrimitiveSubregion() as FETurbulence does.
                                           Map between filter primitive subregion and target object space for primitiveUnits="objectBoundingBox" support on SVG element references.
* svg/graphics/filters/SVGFEImage.h: Remove absoluteSubregion member & setter, it's no longer needed.

LayoutTests:

Add new test cases covering all combinations of filterUnits/primitiveUnits and <feImage>.

* platform/chromium/test_expectations.txt:
* platform/mac/svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-objectBoundingBox-expected.png: Added.
* platform/mac/svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-objectBoundingBox-expected.txt: Added.
* platform/mac/svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-userSpaceOnUse-expected.png: Added.
* platform/mac/svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-userSpaceOnUse-expected.txt: Added.
* platform/mac/svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-objectBoundingBox-expected.png: Added.
* platform/mac/svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-objectBoundingBox-expected.txt: Added.
* platform/mac/svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-userSpaceOnUse-expected.png: Added.
* platform/mac/svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-userSpaceOnUse-expected.txt: Added.
* platform/mac/svg/filters/feImage-position-expected.png: Added.
* platform/mac/svg/filters/feImage-position-expected.txt: Added.
* platform/mac/svg/filters/feImage-subregions-expected.png: Added.
* platform/mac/svg/filters/feImage-subregions-expected.txt: Added.
* platform/mac/svg/filters/feImage-subregions-preseveAspectRatio-none-expected.png: Added.
* platform/mac/svg/filters/feImage-subregions-preseveAspectRatio-none-expected.txt: Added.
* platform/mac/svg/filters/feImage-subregions-preseveAspectRatio-none-with-viewBox-expected.png: Added.
* platform/mac/svg/filters/feImage-subregions-preseveAspectRatio-none-with-viewBox-expected.txt: Added.
* svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-objectBoundingBox.svg: Added.
* svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-userSpaceOnUse.svg: Added.
* svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-objectBoundingBox.svg: Added.
* svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-userSpaceOnUse.svg: Added.
* svg/filters/feImage-position.svg: Added.
* svg/filters/feImage-subregions-preseveAspectRatio-none-with-viewBox.svg: Added.
* svg/filters/feImage-subregions-preseveAspectRatio-none.svg: Added.
* svg/filters/feImage-subregions.svg: Added.
* svg/filters/resources/green.png: Added.

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

9 years agoWeb Inspector: Scripts panel: fix event dispatching between FileSelector and EditorCo...
vsevik@chromium.org [Fri, 27 Jan 2012 13:46:09 +0000 (13:46 +0000)]
Web Inspector: Scripts panel: fix event dispatching between FileSelector and EditorContainer.
https://bugs.webkit.org/show_bug.cgi?id=77126

Reviewed by Pavel Feldman.

* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded.get if):
(WebInspector.ScriptsPanel.prototype._reset):
(WebInspector.ScriptsPanel.prototype._showSourceLine):
(WebInspector.ScriptsPanel.prototype._updateExecutionLine):
(WebInspector.ScriptsPanel.prototype._editorClosed):
(WebInspector.ScriptsPanel.prototype._editorSelected):
(WebInspector.ScriptsPanel.FileSelector.prototype.revealUISourceCode):
(WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype.revealUISourceCode):
(WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._innerRevealUISourceCode):
(WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._addOptionToFilesSelect.insertOrdered):
(WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._addOptionToFilesSelect):
(WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._goBack):
(WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._goForward):
(WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._filesSelectChanged):
* inspector/front-end/TabbedEditorContainer.js:
(WebInspector.TabbedEditorContainer):
(WebInspector.TabbedEditorContainer.prototype._tabClosed):
(WebInspector.TabbedEditorContainer.prototype._tabSelected):
(WebInspector.TabbedEditorContainer.prototype.reset):

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

9 years agoAdd Vsevolod Vlasov to reviewers list.
vsevik@chromium.org [Fri, 27 Jan 2012 13:26:59 +0000 (13:26 +0000)]
Add Vsevolod Vlasov to reviewers list.

Reviewed by Pavel Feldman.

* Scripts/webkitpy/common/config/committers.py:

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

9 years ago<feImage> DOM mutation problems
zimmermann@webkit.org [Fri, 27 Jan 2012 12:56:21 +0000 (12:56 +0000)]
<feImage> DOM mutation problems
https://bugs.webkit.org/show_bug.cgi?id=77198

Reviewed by Antti Koivisto.

Source/WebCore:

Consider <feImage xlink:href="#rect"/>, where <rect> gets dynamically added to the tree.
Currently <feImage> doesn't notice this, as it doesn't register itself pending on "#rect".

Integrate <feImage> properly within the pending resources concept, fixing the bug.

Tests: svg/filters/feImage-target-add-to-document.svg
       svg/filters/feImage-target-changes-id.svg
       svg/filters/feImage-target-id-change.svg
       svg/filters/feImage-target-reappend-to-document.svg
       svg/filters/feImage-target-remove-from-document.svg

* svg/SVGFEImageElement.cpp: Rename invalidateImageResource to clearResourceReferences.
(WebCore::SVGFEImageElement::~SVGFEImageElement): Call clearResourceReferences.
(WebCore::SVGFEImageElement::clearResourceReferences): Remove any occurence of m_targetImage, it's no longer used.
(WebCore::SVGFEImageElement::requestImageResource): requestImageResource is now called by buildPendingResource.
(WebCore::SVGFEImageElement::buildPendingResource): Called whenever any element that we depend on gets resolved - now invalidates the <filter>.
(WebCore::SVGFEImageElement::parseMappedAttribute): Don't start loading from parseMappedAttribute.
(WebCore::SVGFEImageElement::svgAttributeChanged): Start loading from here, for consistency with SVGImageElement.
(WebCore::SVGFEImageElement::insertedIntoDocument): Invoke buildPendingResource(), if we enter the tree.
(WebCore::SVGFEImageElement::removedFromDocument): Clear m_cachedImage as soon as we get removed from the tree.
(WebCore::SVGFEImageElement::build): Clean up this function, m_targetImage is no longer exist.
* svg/SVGFEImageElement.h: Remove OwnPtr<ImageBuffer> m_targetImage, which is no longer used.

LayoutTests:

Add new test cases covering <feImage> + DOM mutations.

* platform/chromium/test_expectations.txt: Updated expectations.
* svg/filters/feImage-target-add-to-document-expected.png: Added.
* svg/filters/feImage-target-add-to-document-expected.txt: Added.
* svg/filters/feImage-target-add-to-document.svg: Added.
* svg/filters/feImage-target-changes-id-expected.png: Added.
* svg/filters/feImage-target-changes-id-expected.txt: Added.
* svg/filters/feImage-target-changes-id.svg: Added.
* svg/filters/feImage-target-id-change-expected.png: Added.
* svg/filters/feImage-target-id-change-expected.txt: Added.
* svg/filters/feImage-target-id-change.svg: Added.
* svg/filters/feImage-target-reappend-to-document-expected.png: Added.
* svg/filters/feImage-target-reappend-to-document-expected.txt: Added.
* svg/filters/feImage-target-reappend-to-document.svg: Added.
* svg/filters/feImage-target-remove-from-document-expected.png: Added.
* svg/filters/feImage-target-remove-from-document-expected.txt: Added.
* svg/filters/feImage-target-remove-from-document.svg: Added.

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

9 years ago[Qt] WKTR: Use a software rendering pipiline when running tests.
jocelyn.turcotte@nokia.com [Fri, 27 Jan 2012 12:46:18 +0000 (12:46 +0000)]
[Qt] WKTR: Use a software rendering pipiline when running tests.
https://bugs.webkit.org/show_bug.cgi?id=76708

Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

* platform/graphics/qt/TextureMapperQt.cpp: Allow setting the context to null.
(WebCore::TextureMapperQt::setGraphicsContext):
* platform/graphics/qt/TextureMapperQt.h:
(WebCore::TextureMapperQt::initialize):

Source/WebKit2:

Animation layout tests require the graphics layers tree to be updated
to pass. WebkitTestRunner doesn't show its wrapping QQuickView, which
prevents the rendering pipeline to run and then in turn blocks the web
process from processing further graphics layer updates.

This allows the tests to use a TextureMapperQt to empty the LayerTreeHost's
message queue and render the layers in software on an offscreen buffer.

* UIProcess/API/qt/qquickwebpage.cpp:
(QQuickWebPagePrivate::paint):
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::QQuickWebViewPrivate):
(QQuickWebViewPrivate::setNeedsDisplay):
(QQuickWebViewExperimental::setRenderToOffscreenBuffer):
(QQuickWebViewExperimental::renderToOffscreenBuffer):
* UIProcess/API/qt/qquickwebview_p.h:
* UIProcess/API/qt/qquickwebview_p_p.h:
(QQuickWebViewPrivate::setRenderToOffscreenBuffer):
(QQuickWebViewPrivate::renderToOffscreenBuffer):
* UIProcess/qt/LayerTreeHostProxyQt.cpp:
(WebKit::LayerTreeHostProxy::paintToGraphicsContext):

Tools:

* WebKitTestRunner/qt/PlatformWebViewQt.cpp:
(WTR::WrapperWindow::WrapperWindow):
(WTR::PlatformWebView::PlatformWebView): Use software rendering of layers since the wrapping QQuickView isn't shown.

LayoutTests:

* platform/qt-wk2/Skipped:

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

9 years ago2012-01-27 Branimir Lambov <blambov@google.com>
zimmermann@webkit.org [Fri, 27 Jan 2012 12:38:57 +0000 (12:38 +0000)]
2012-01-27 Branimir Lambov <blambov@google.com>

        SVG filters incorrectly move elements
        https://bugs.webkit.org/show_bug.cgi?id=73643

        Reviewed by Nikolas Zimmermann.

        New tests and updated expectations.

        * platform/chromium-linux/svg/W3C-SVG-1.1/filters-color-01-b-expected.png:
        * platform/chromium-linux/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.png:
        * platform/chromium-linux/svg/W3C-SVG-1.1/filters-example-01-b-expected.png:
        * platform/chromium-linux/svg/W3C-SVG-1.1/filters-morph-01-f-expected.png:
        * platform/chromium-linux/svg/W3C-SVG-1.1/fonts-elem-04-b-expected.png: Removed.
        * platform/chromium-linux/svg/W3C-SVG-1.1/fonts-elem-04-b-expected.txt: Removed.
        * platform/chromium-linux/svg/W3C-SVG-1.1/masking-path-01-b-expected.png:
        * platform/chromium-linux/svg/batik/filters/feTile-expected.png:
        * platform/chromium-linux/svg/clip-path/clipper-placement-issue-expected.png: Added.
        * platform/chromium-linux/svg/clip-path/deep-nested-clip-in-mask-different-unitTypes-expected.png:
        * platform/chromium-linux/svg/custom/feComponentTransfer-Discrete-expected.png:
        * platform/chromium-linux/svg/custom/feComponentTransfer-Gamma-expected.png:
        * platform/chromium-linux/svg/custom/feComponentTransfer-Linear-expected.png:
        * platform/chromium-linux/svg/custom/feComponentTransfer-Table-expected.png:
        * platform/chromium-linux/svg/dynamic-updates/SVGFEColorMatrixElement-dom-in-attr-expected.png:
        * platform/chromium-linux/svg/dynamic-updates/SVGFEColorMatrixElement-dom-type-attr-expected.png:
        * platform/chromium-linux/svg/dynamic-updates/SVGFEColorMatrixElement-dom-values-attr-expected.png:
        * platform/chromium-linux/svg/dynamic-updates/SVGFEColorMatrixElement-svgdom-in-prop-expected.png:
        * platform/chromium-linux/svg/dynamic-updates/SVGMaskElement-dom-height-attr-expected.png:
        * platform/chromium-linux/svg/dynamic-updates/SVGMaskElement-dom-maskContentUnits-attr-expected.png:
        * platform/chromium-linux/svg/dynamic-updates/SVGMaskElement-dom-width-attr-expected.png:
        * platform/chromium-linux/svg/dynamic-updates/SVGMaskElement-dom-x-attr-expected.png:
        * platform/chromium-linux/svg/dynamic-updates/SVGMaskElement-dom-y-attr-expected.png:
        * platform/chromium-linux/svg/dynamic-updates/SVGMaskElement-svgdom-height-prop-expected.png:
        * platform/chromium-linux/svg/dynamic-updates/SVGMaskElement-svgdom-maskContentUnits-prop-expected.png:
        * platform/chromium-linux/svg/dynamic-updates/SVGMaskElement-svgdom-width-prop-expected.png:
        * platform/chromium-linux/svg/dynamic-updates/SVGMaskElement-svgdom-x-prop-expected.png:
        * platform/chromium-linux/svg/dynamic-updates/SVGMaskElement-svgdom-y-prop-expected.png:
        * platform/chromium-linux/svg/filters/big-sized-filter-expected.png: Added.
        * platform/chromium-linux/svg/filters/feDropShadow-expected.png:
        * platform/chromium-linux/svg/filters/filter-placement-issue-expected.png: Added.
        * platform/chromium-linux/svg/filters/filterRes-expected.png:
        * platform/chromium-linux/svg/filters/filterRes-expected.txt: Removed.
        * platform/chromium-linux/svg/filters/filterRes2-expected.png: Added.
        * platform/chromium-linux/svg/wicd/test-scalable-background-image1-expected.png:
        * platform/chromium-win/svg/as-background-image/svg-as-background-2-expected.png:
        * platform/chromium-win/svg/filters/big-sized-filter-expected.png:
        * platform/chromium/test_expectations.txt:
        * platform/mac-snowleopard/svg/W3C-SVG-1.1/filters-color-01-b-expected.png:
        * platform/mac-snowleopard/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.png:
        * platform/mac-snowleopard/svg/W3C-SVG-1.1/filters-morph-01-f-expected.png:
        * platform/mac-snowleopard/svg/custom/absolute-sized-content-with-resources-expected.png:
        * platform/mac-snowleopard/svg/custom/feComponentTransfer-Discrete-expected.png:
        * platform/mac-snowleopard/svg/custom/feComponentTransfer-Gamma-expected.png:
        * platform/mac-snowleopard/svg/custom/feComponentTransfer-Linear-expected.png:
        * platform/mac-snowleopard/svg/custom/feComponentTransfer-Table-expected.png:
        * platform/mac-snowleopard/svg/dynamic-updates/SVGFEColorMatrixElement-dom-in-attr-expected.png:
        * platform/mac-snowleopard/svg/dynamic-updates/SVGFEColorMatrixElement-dom-type-attr-expected.png:
        * platform/mac-snowleopard/svg/dynamic-updates/SVGFEColorMatrixElement-dom-values-attr-expected.png:
        * platform/mac-snowleopard/svg/dynamic-updates/SVGFEColorMatrixElement-svgdom-in-prop-expected.png:
        * platform/mac-snowleopard/svg/dynamic-updates/SVGFEColorMatrixElement-svgdom-type-prop-expected.png:
        * platform/mac-snowleopard/svg/dynamic-updates/SVGFEColorMatrixElement-svgdom-values-prop-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/filters-color-01-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/filters-example-01-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/filters-morph-01-f-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/masking-path-01-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-08-b-expected.png:
        * platform/mac/svg/as-background-image/svg-as-background-6-expected.png:
        * platform/mac/svg/batik/filters/feTile-expected.png:
        * platform/mac/svg/batik/masking/maskRegions-expected.png:
        * platform/mac/svg/clip-path/clip-in-clip-expected.png: Added.
        * platform/mac/svg/clip-path/clip-in-clip-expected.txt: Added.
        * platform/mac/svg/clip-path/clipper-placement-issue-expected.png: Added.
        * platform/mac/svg/clip-path/clipper-placement-issue-expected.txt: Added.
        * platform/mac/svg/custom/absolute-sized-content-with-resources-expected.png:
        * platform/mac/svg/custom/feComponentTransfer-Discrete-expected.png:
        * platform/mac/svg/custom/feComponentTransfer-Gamma-expected.png:
        * platform/mac/svg/custom/feComponentTransfer-Linear-expected.png:
        * platform/mac/svg/custom/feComponentTransfer-Table-expected.png:
        * platform/mac/svg/custom/grayscale-gradient-mask-2-expected.png:
        * platform/mac/svg/custom/grayscale-gradient-mask-expected.png:
        * platform/mac/svg/custom/js-late-gradient-and-object-creation-expected.png:
        * platform/mac/svg/custom/js-late-gradient-creation-expected.png:
        * platform/mac/svg/custom/text-rotated-gradient-expected.png:
        * platform/mac/svg/dynamic-updates/SVGFEColorMatrixElement-dom-in-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGFEColorMatrixElement-dom-type-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGFEColorMatrixElement-dom-values-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGFEColorMatrixElement-svgdom-in-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGFEColorMatrixElement-svgdom-type-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGFEColorMatrixElement-svgdom-values-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGMaskElement-dom-height-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGMaskElement-dom-maskContentUnits-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGMaskElement-dom-width-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGMaskElement-dom-x-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGMaskElement-dom-y-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-height-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-maskContentUnits-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-width-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-x-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-y-prop-expected.png:
        * platform/mac/svg/filters/big-sized-filter-expected.png:
        * platform/mac/svg/filters/feDropShadow-expected.png:
        * platform/mac/svg/filters/filter-placement-issue-expected.png: Added.
        * platform/mac/svg/filters/filter-placement-issue-expected.txt: Added.
        * platform/mac/svg/filters/filterRes-expected.png:
        * platform/mac/svg/filters/filterRes2-expected.png:
        * platform/mac/svg/text/selection-background-color-expected.png:
        * platform/mac/svg/transforms/text-with-mask-with-svg-transform-expected.png:
        * platform/mac/svg/zoom/page/zoom-mask-with-percentages-expected.png:
        * svg/clip-path/clip-in-clip.svg: Added.
        * svg/clip-path/clipper-placement-issue.svg: Added.
        * svg/filters/filter-placement-issue.svg: Added.

2012-01-27  Branimir Lambov  <blambov@google.com>

        SVG filters incorrectly move elements
        https://bugs.webkit.org/show_bug.cgi?id=73643

        Reviewed by Nikolas Zimmermann.

        Fixes SVG image buffer creation to use the enclosing integer rect
        instead of unstable rounded coordinates with scaling which was causing
        animated images to jump around under filters. The image buffer was not
        aligned on a pixel boundary, and thus the positions and sizes of anything
        drawn under that filter changed by 1-2 pixels compared to the same
        elements drawn without an intermediate buffer, or drawn with a buffer
        with a different target rectangle.

        The change improves the positioning of clip paths, masks and filters.

        Tests: svg/clip-path/clip-in-clip.svg
               svg/clip-path/clipper-placement-issue.svg
               svg/filters/filter-placement-issue.svg

        * platform/graphics/filters/FETile.cpp:
        (WebCore::FETile::platformApplySoftware):
        * 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):
        (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
        * rendering/svg/RenderSVGResourcePattern.cpp:
        (WebCore::RenderSVGResourcePattern::createTileImage):
        * rendering/svg/SVGImageBufferTools.cpp:
        (WebCore::SVGImageBufferTools::createImageBuffer):
        (WebCore::SVGImageBufferTools::createImageBufferForPattern):
        (WebCore::SVGImageBufferTools::clipToImageBuffer):
        (WebCore::SVGImageBufferTools::clampedAbsoluteTargetRect):
        (WebCore::SVGImageBufferTools::clampedAbsoluteSize):
        * rendering/svg/SVGImageBufferTools.h:
        (WebCore::SVGImageBufferTools::calcImageBufferRect):

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

9 years ago2012-01-27 Nikolas Zimmermann <nzimmermann@rim.com>
zimmermann@webkit.org [Fri, 27 Jan 2012 12:02:48 +0000 (12:02 +0000)]
2012-01-27  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Update chromium expectations after r106103.

        * platform/chromium/test_expectations.txt: Verified using flakiness dashboard, that this is an IMAGE only diff.

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

9 years ago[Qt] Unreviewed gardening. Try to paint the bots green.
ossy@webkit.org [Fri, 27 Jan 2012 11:56:34 +0000 (11:56 +0000)]
[Qt] Unreviewed gardening. Try to paint the bots green.

* platform/qt-5.0/Skipped:
* platform/qt/Skipped:

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

9 years ago[Qt] Unreviewed gardening after r106087.
ossy@webkit.org [Fri, 27 Jan 2012 11:55:54 +0000 (11:55 +0000)]
[Qt] Unreviewed gardening after r106087.

* platform/qt/fast/dom/constructed-objects-prototypes-expected.txt:
* platform/qt/fast/dom/prototype-inheritance-2-expected.txt:
* platform/qt/fast/js/global-constructors-expected.txt:

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

9 years ago[Qt] Re-creating QQuickWebView starts new web process every time
commit-queue@webkit.org [Fri, 27 Jan 2012 11:51:10 +0000 (11:51 +0000)]
[Qt] Re-creating QQuickWebView starts new web process every time
https://bugs.webkit.org/show_bug.cgi?id=77194

Patch by Simon Hausmann <simon.hausmann@nokia.com> on 2012-01-27
Reviewed by Kenneth Rohde Christiansen.

Since the WebKit::WebContext is never fully destructed due to circular
references, we should use the real shared context instead of re-creating
a new WebContext every time.

* UIProcess/qt/QtWebContext.cpp:
(WebKit::QtWebContext::defaultContext):

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

9 years agosvg/repaint/image-with-clip-path.svg is flaky under guard malloc
zimmermann@webkit.org [Fri, 27 Jan 2012 11:36:17 +0000 (11:36 +0000)]
svg/repaint/image-with-clip-path.svg is flaky under guard malloc
https://bugs.webkit.org/show_bug.cgi?id=77103

Reviewed by Zoltan Herczeg.

Fix image-with-clip-path.svg, to wait for the load of the resource, once href changes.
To do this properly, set externalResourcesRequired="true" which fires the onload event
if href changes, even if it was fired before already.

Added another testcase that only covers dynamic href changes, without using other resources.

* platform/mac/svg/repaint/image-href-change-expected.png: Added.
* platform/mac/svg/repaint/image-in-resource-href-change-expected.png: Removed.
* svg/repaint/image-href-change-expected.txt: Added.
* svg/repaint/image-href-change.svg: Added.
* svg/repaint/image-with-clip-path.svg: Fix test flakiness.

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

9 years ago[GTK] Add basic printing support to WebKit2
carlosgc@webkit.org [Fri, 27 Jan 2012 10:25:00 +0000 (10:25 +0000)]
[GTK] Add basic printing support to WebKit2
https://bugs.webkit.org/show_bug.cgi?id=76172

Reviewed by Gustavo Noronha Silva.

.:

* configure.ac: Check whether GTK+ UNIX printing is available.

Source/WebKit2:

* GNUmakefile.am: Add new files to compilation.
* Shared/PrintInfo.cpp:
(WebKit::PrintInfo::encode): Encode also GtkPrintSettings and
GtkPageSetup for the GTK+ port.
(WebKit::PrintInfo::decode): Decode also GtkPrintSettings and
GtkPageSetup for the GTK+ port.
* Shared/PrintInfo.h: Add GtkPrintSettings and GtkPageSetup member
for the GTK+ port.
* Shared/gtk/ArgumentCodersGtk.cpp:
(CoreIPC::encodeGKeyFile): Helper function to encode a GKeyFile as
a DataReference object.
(CoreIPC::decodeGKeyFile): Helper function to decode a GKeyFile to
a DataReference object.
(CoreIPC::encode): Encode GtkPrintSettings and GtkPageSetup using
the GKeyFile representation.
(CoreIPC::decode): Decode GtkPrintSettings and GtkPageSetup using
the GKeyFile representation.
* Shared/gtk/ArgumentCodersGtk.h:
* Shared/gtk/PrintInfoGtk.cpp: Copied from Source/WebKit2/Shared/PrintInfo.cpp.
(WebKit::PrintInfo::PrintInfo): Add PrintInfo constructor that
takes GtkPrintSettings and GtkPageSetup instances.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::drawPagesForPrinting): Send
DrawPagesForPrinting message to Web process to start printing.
* UIProcess/WebPageProxy.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::beginPrinting): Create a WebPrintOperationGtk.
(WebKit::WebPage::endPrinting): Delete the WebPrintOperationGtk
object.
(WebKit::WebPage::drawPagesForPrinting): Start printing pages.
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in: Add DrawPagesForPrinting message.
* WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp: Added.
(WebKit::PrintPagesData::PrintPagesData): Struct to store all data
used to render pages for printing.
(WebKit::PrintPagesData::incrementPageSequence): Helper function
to increment the page sequence.
(WebKit::WebPrintOperationGtk::create): Create a
WebPrintOperationGtkUnix or WebPrintOperationGtkWin32 depending on
the platform.
(WebKit::WebPrintOperationGtk::WebPrintOperationGtk):
(WebKit::WebPrintOperationGtk::~WebPrintOperationGtk):
(WebKit::WebPrintOperationGtk::pageCount): Return the total pages
of the document to print.
(WebKit::WebPrintOperationGtk::rotatePage): Helper function to
transform the context according to orientation.
(WebKit::WebPrintOperationGtk::renderPage): Render the given page
into the printing context.
(WebKit::WebPrintOperationGtk::printPagesIdle): Idle function used
to print pages.
(WebKit::WebPrintOperationGtk::printPagesIdleDone): Callback
called when printPagesIdle finishes.
(WebKit::WebPrintOperationGtk::printDone): Helper function to
finish the print operation, called when all pages have been rendered.
(WebKit::WebPrintOperationGtk::print): Start printing the document
using the given cairo surface.
* WebProcess/WebPage/gtk/WebPrintOperationGtk.h: Added.
(WebKit::WebPrintOperationGtk::printSettings):
(WebKit::WebPrintOperationGtk::pageSetup):
(WebKit::WebPrintOperationGtk::pagesToPrint):
(WebKit::WebPrintOperationGtk::pageRanges):
(WebKit::WebPrintOperationGtk::pageRangesCount):

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

9 years agoWeb Inspector: should be possible to open function declaration from script popover
yurys@chromium.org [Fri, 27 Jan 2012 09:53:27 +0000 (09:53 +0000)]
Web Inspector: should be possible to open function declaration from script popover
https://bugs.webkit.org/show_bug.cgi?id=76913

Source/JavaScriptCore:

Added display function name and source location to the popover in scripts panel.
Now when a function is hovered user can navigate to its definition.

Reviewed by Pavel Feldman.

* JavaScriptCore/JavaScriptCore.exp
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
* runtime/JSFunction.h:
(JSFunction):

Source/WebCore:

Added inferred/display function name and source location to the popover in scripts panel.
Now when a function is hovered user can navigate to its definition.

Reviewed by Pavel Feldman.

Test: inspector/debugger/function-details.html

* bindings/js/JSInjectedScriptHostCustom.cpp:
(WebCore::JSInjectedScriptHost::functionDetails):
* bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
(WebCore::V8InjectedScriptHost::functionDetailsCallback):
* inspector/InjectedScript.cpp:
(WebCore::InjectedScript::getFunctionDetails):
* inspector/InjectedScript.h:
(InjectedScript):
* inspector/InjectedScriptHost.idl:
* inspector/InjectedScriptSource.js:
(.):
* inspector/Inspector.json:
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::getFunctionDetails):
* inspector/InspectorDebuggerAgent.h:
(InspectorDebuggerAgent):
* inspector/front-end/DebuggerPresentationModel.js:
(WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyFunctionLocation):
* inspector/front-end/ObjectPopoverHelper.js:
(WebInspector.ObjectPopoverHelper):
(WebInspector.ObjectPopoverHelper.prototype._showObjectPopover.showObjectPopover.):
(WebInspector.ObjectPopoverHelper.prototype._showObjectPopover):
(WebInspector.ObjectPopoverHelper.prototype._onHideObjectPopover):
* inspector/front-end/ObjectPropertiesSection.js:
(WebInspector.ObjectPropertyTreeElement.prototype._functionContextMenuEventFired):
(WebInspector.ObjectPropertyTreeElement.prototype._functionContextMenuEventFired.revealFunction):
* inspector/front-end/RemoteObject.js:
(WebInspector.RemoteObject):
(WebInspector.RemoteObject.fromPayload):
(WebInspector.RemoteObject.prototype.get functionName):
* inspector/front-end/scriptsPanel.css:
(.function-location-link):
(.function-popover-title):
(.function-popover-title .function-name):

LayoutTests:

Added inferred/display function name and source location to the popover in scripts panel.
Now when a function is hovered user can navigate to its definition.

Reviewed by Pavel Feldman.

* inspector/debugger/function-details-expected.txt: Added.
* inspector/debugger/function-details.html: Added.
* inspector/debugger/function-location-expected.txt: Removed.
* inspector/debugger/function-location.html: Removed.
* platform/chromium/inspector/debugger/function-details-expected.txt: Added.
* platform/chromium/inspector/debugger/function-location-expected.txt: Removed.

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

9 years ago[EFL] SVG_FONT is not disabled when SVG is disabled.
commit-queue@webkit.org [Fri, 27 Jan 2012 08:03:54 +0000 (08:03 +0000)]
[EFL] SVG_FONT is not disabled when SVG is disabled.
https://bugs.webkit.org/show_bug.cgi?id=77174

Patch by ChangSeok Oh <shivamidow@gmail.com> on 2012-01-27
Reviewed by Eric Seidel.

SVG_FONTS should be disabled when SVG is disabled. Or else it causes build-break.
Relocated checking ENABLE_GLIB_SUPPORT & ENABLE_VIDEO to avoid duplication.

* Source/cmake/OptionsEfl.cmake:

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

9 years agoRemove FIXME: ColorProfile encapsulation as a Vector<char> works well
noel.gordon@gmail.com [Fri, 27 Jan 2012 07:52:38 +0000 (07:52 +0000)]
Remove FIXME: ColorProfile encapsulation as a Vector<char> works well
https://bugs.webkit.org/show_bug.cgi?id=77176

Reviewed by Adam Barth.

No new tests. No change in behavior.

* platform/image-decoders/ImageDecoder.h:

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

9 years ago[Chromium] Unreviewed test expectation change.
yuzo@google.com [Fri, 27 Jan 2012 07:33:11 +0000 (07:33 +0000)]
[Chromium] Unreviewed test expectation change.
fast/canvas/gradient-add-second-start-end-stop.html fails on MAC GPU.

* platform/chromium/test_expectations.txt:

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

9 years agoImageBuffer::draw should deep copy if drawing to an accelerated context
mdelaney@apple.com [Fri, 27 Jan 2012 07:23:22 +0000 (07:23 +0000)]
ImageBuffer::draw should deep copy if drawing to an accelerated context
https://bugs.webkit.org/show_bug.cgi?id=77185

Reviewed by Simon Fraser.

No new tests since any test for this issue would be flaky at best.

* platform/graphics/cg/ImageBufferCG.cpp: Deep copy when drawing ourself into
    an accelerated context for both draw and drawPattern.
(WebCore::ImageBuffer::draw):
(WebCore::ImageBuffer::drawPattern):

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

9 years ago[wx] Unreviewed. Build fix, don't build some sources
kevino@webkit.org [Fri, 27 Jan 2012 07:19:13 +0000 (07:19 +0000)]
[wx] Unreviewed. Build fix, don't build some sources
which appear to no longer be needed.

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

9 years ago[wx] Unreviewed. Build fix, add WebCore/testing/js
kevino@webkit.org [Fri, 27 Jan 2012 07:13:38 +0000 (07:13 +0000)]
[wx] Unreviewed. Build fix, add WebCore/testing/js
to the list of source directories we build.

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

9 years ago[wx] Unreviewed. Build fix, wx uses the Mac ICU headers so we must match Mac behavior.
kevino@webkit.org [Fri, 27 Jan 2012 07:10:37 +0000 (07:10 +0000)]
[wx] Unreviewed. Build fix, wx uses the Mac ICU headers so we must match Mac behavior.

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

9 years ago[wx] Unreviewed. Build fixes.
kevino@webkit.org [Fri, 27 Jan 2012 07:05:45 +0000 (07:05 +0000)]
[wx] Unreviewed. Build fixes.
- Remove some constructors not generated by CPP bindings
  from being added to CPP binding headers
- Keyboard event fixes after modifier changes
- Add stubs for Language and RunLoop platform methods

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

9 years ago[wx] Unreviewed. Build fixes after UndoStep and ChromeClient changes.
kevino@webkit.org [Fri, 27 Jan 2012 07:02:18 +0000 (07:02 +0000)]
[wx] Unreviewed. Build fixes after UndoStep and ChromeClient changes.

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

9 years ago[Chromium] Unreviewed test expectation change.
yuzo@google.com [Fri, 27 Jan 2012 06:28:38 +0000 (06:28 +0000)]
[Chromium] Unreviewed test expectation change.
fast/canvas/quadraticCurveTo.xml fails for WIN GPU

* platform/chromium/test_expectations.txt:

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

9 years ago[Chromium] Unreviewed test expectation change.
yuzo@google.com [Fri, 27 Jan 2012 05:17:42 +0000 (05:17 +0000)]
[Chromium] Unreviewed test expectation change.
fast/js/dfg-double-vote-fuzz.html is slow on Mac 10.6 (dbg).

* platform/chromium/test_expectations.txt:

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

9 years agoUnreviewed, rolling out r105486.
commit-queue@webkit.org [Fri, 27 Jan 2012 05:07:14 +0000 (05:07 +0000)]
Unreviewed, rolling out r105486.
http://trac.webkit.org/changeset/105486
https://bugs.webkit.org/show_bug.cgi?id=77182

This patch doesn't take web workers into account. (Requested
by dave_levin on #webkit).

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

Source/WebCore:

* html/DOMURL.cpp:
(WebCore::DOMURL::DOMURL):
(WebCore::DOMURL::~DOMURL):
(WebCore::DOMURL::contextDestroyed):
(WebCore):
(WebCore::DOMURL::createObjectURL):
(WebCore::DOMURL::revokeObjectURL):
* html/DOMURL.h:
(WebCore::DOMURL::create):
(DOMURL):
* html/DOMURL.idl:
* page/DOMWindow.cpp:
(WebCore):
(WebCore::DOMWindow::webkitURL):
* page/DOMWindow.h:
(DOMWindow):
():
* page/DOMWindow.idl:
* workers/WorkerContext.cpp:
(WebCore):
(WebCore::WorkerContext::webkitURL):
(WebCore::WorkerContext::webkitRequestFileSystem):
* workers/WorkerContext.h:
(WorkerContext):
():
* workers/WorkerContext.idl:

LayoutTests:

* fast/dom/DOMURL/check-instanceof-domurl-functions-expected.txt: Removed.
* fast/dom/DOMURL/check-instanceof-domurl-functions.html: Removed.

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

9 years agoCleanup JPEGImageDecoder includes
noel.gordon@gmail.com [Fri, 27 Jan 2012 05:03:39 +0000 (05:03 +0000)]
Cleanup JPEGImageDecoder includes
https://bugs.webkit.org/show_bug.cgi?id=77171

Reviewed by Adam Barth.

No new tests. Refactoring cleanup only.

* platform/image-decoders/jpeg/JPEGImageDecoder.cpp:

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

9 years ago[chromium] Unreviewed test expectation change.
yuzo@google.com [Fri, 27 Jan 2012 05:02:20 +0000 (05:02 +0000)]
[chromium] Unreviewed test expectation change.
svg/as-object/nested-embedded-svg-size-changes.html times out or passes.

* platform/chromium/test_expectations.txt:

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

9 years ago[Chromium] Cleanup of WebPopupMenuImpl
tkent@chromium.org [Fri, 27 Jan 2012 04:48:24 +0000 (04:48 +0000)]
[Chromium] Cleanup of WebPopupMenuImpl
https://bugs.webkit.org/show_bug.cgi?id=76441

Reviewed by Kentaro Hara.

Removed WebPopupMenuImpl::invalidateContents() and scrollRectIntoView()
because they were removed from HostWindow in r58445 and r55864. They
were found by OVERRIDE.

* src/ChromeClientImpl.cpp:
(WebKit::ChromeClientImpl::popupOpened): Rename WebPopupMenuImpl::Init().
* src/WebPopupMenuImpl.cpp:
(WebKit::WebPopupMenuImpl::WebPopupMenuImpl): Update a comment.
(WebKit::WebPopupMenuImpl::init): Renamed from Init(). Update a comment.
(WebKit::WebPopupMenuImpl::handleMouseMove): Prepend "handle" to the name.
(WebKit::WebPopupMenuImpl::handleMouseLeave): ditto.
(WebKit::WebPopupMenuImpl::handleMouseDown): ditto.
(WebKit::WebPopupMenuImpl::handleMouseUp): ditto.
(WebKit::WebPopupMenuImpl::handleMouseWheel): ditto.
(WebKit::WebPopupMenuImpl::handleGestureEvent): ditto.
(WebKit::WebPopupMenuImpl::handleTouchEvent): ditto.
(WebKit::WebPopupMenuImpl::handleKeyEvent): ditto.
(WebKit::WebPopupMenuImpl::close): Update a comment.
(WebKit::WebPopupMenuImpl::composite): Remove a unused argument name.
(WebKit::WebPopupMenuImpl::handleInputEvent): Update a comment. Update callsites for handle*().
(WebKit::WebPopupMenuImpl::setFocus): Remove a unused argument name.
(WebKit::WebPopupMenuImpl::setComposition): ditto.
(WebKit::WebPopupMenuImpl::confirmComposition): ditto.
(WebKit::WebPopupMenuImpl::setTextDirection): ditto.
(WebKit::WebPopupMenuImpl::scroll): Unfold folded lines.
* src/WebPopupMenuImpl.h:
 - Remove useless argument names.
 - Add OVERRIDE.

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

9 years ago3D transformed elements hide when showing the print dialog
timothy_horton@apple.com [Fri, 27 Jan 2012 04:43:58 +0000 (04:43 +0000)]
3D transformed elements hide when showing the print dialog
https://bugs.webkit.org/show_bug.cgi?id=45894
<rdar://problem/7441593>

Reviewed by Andy Estes.

Suspend updates of the compositing layer tree while printing is taking place,
preventing on-screen layers from moving to their print-mode positions.

No new tests, as WebKitTestRunner doesn't support putting the document
into printing mode.

* page/FrameView.cpp:
(WebCore::FrameView::syncCompositingStateForThisFrame):
(WebCore::FrameView::paintContents):
* platform/graphics/ca/LayerFlushScheduler.h:
(WebCore::LayerFlushScheduler::isSuspended): Added.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::beginPrinting):
(WebKit::WebPage::endPrinting):
* WebProcess/WebPage/ca/LayerTreeHostCA.h:
* WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h:
* WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
(WebKit::LayerTreeHostCAMac::forceRepaint):
(WebKit::LayerTreeHostCAMac::flushPendingLayerChanges):

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

9 years agoTools/Scripts/commit-log-editor is broken due to $_ getting clobbered
fpizlo@apple.com [Fri, 27 Jan 2012 04:10:30 +0000 (04:10 +0000)]
Tools/Scripts/commit-log-editor is broken due to $_ getting clobbered
https://bugs.webkit.org/show_bug.cgi?id=77177

Reviewed by Jon Honeycutt.

* Scripts/commit-log-editor:

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

9 years agofast/js/dfg-byte-array-put.html should assert the array size
fpizlo@apple.com [Fri, 27 Jan 2012 03:45:17 +0000 (03:45 +0000)]
fast/js/dfg-byte-array-put.html should assert the array size
https://bugs.webkit.org/show_bug.cgi?id=77173

Reviewed by Andy Estes.

* fast/js/dfg-byte-array-put-expected.txt:
* fast/js/script-tests/dfg-byte-array-put.js:

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

9 years ago[Chromium] Unreviewed test expectation change.
yuzo@google.com [Fri, 27 Jan 2012 03:34:47 +0000 (03:34 +0000)]
[Chromium] Unreviewed test expectation change.

* platform/chromium/fast/js/dfg-inline-arguments-use-from-all-the-places-broken-expected.txt: Added.

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

9 years agoDecrease sleep time when killing server_process on Mac.
ojan@chromium.org [Fri, 27 Jan 2012 02:48:55 +0000 (02:48 +0000)]
Decrease sleep time when killing server_process on Mac.
https://bugs.webkit.org/show_bug.cgi?id=77169

Reviewed by Eric Seidel.

This shaves another ~70ms off single test runtime.

* Scripts/webkitpy/layout_tests/port/server_process.py:
(ServerProcess.stop):

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

9 years agoMerge AllocationSpace into MarkedSpace
mhahnenberg@apple.com [Fri, 27 Jan 2012 02:30:38 +0000 (02:30 +0000)]
Merge AllocationSpace into MarkedSpace
https://bugs.webkit.org/show_bug.cgi?id=77116

Reviewed by Geoffrey Garen.

Merging AllocationSpace and MarkedSpace in preparation for future refactoring/enhancement to
MarkedSpace allocation.

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.exp:
* JavaScriptCore.gypi:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri:
* heap/AllocationSpace.cpp: Removed.
* heap/AllocationSpace.h: Removed.
* heap/BumpSpace.h:
(BumpSpace):
* heap/Heap.h:
(JSC::Heap::objectSpace):
(Heap):
():
* heap/HeapBlock.h:
():
* heap/MarkedSpace.cpp:
(JSC::MarkedSpace::tryAllocateHelper):
(JSC):
(JSC::MarkedSpace::tryAllocate):
(JSC::MarkedSpace::allocateSlowCase):
(JSC::MarkedSpace::allocateBlock):
(JSC::MarkedSpace::freeBlocks):
(TakeIfUnmarked):
(JSC::TakeIfUnmarked::TakeIfUnmarked):
(JSC::TakeIfUnmarked::operator()):
(JSC::TakeIfUnmarked::returnValue):
(JSC::MarkedSpace::shrink):
(GatherDirtyCells):
(JSC::GatherDirtyCells::returnValue):
(JSC::GatherDirtyCells::GatherDirtyCells):
(JSC::GatherDirtyCells::operator()):
(JSC::MarkedSpace::gatherDirtyCells):
* heap/MarkedSpace.h:
(MarkedSpace):
(JSC::MarkedSpace::blocks):
(JSC::MarkedSpace::forEachCell):
(JSC):
(JSC::MarkedSpace::allocate):

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

9 years agoFix bad code generated by the JSC idl code generator for [CachedAttribute] attributes
commit-queue@webkit.org [Fri, 27 Jan 2012 02:25:01 +0000 (02:25 +0000)]
Fix bad code generated by the JSC idl code generator for [CachedAttribute] attributes
https://bugs.webkit.org/show_bug.cgi?id=77165

Patch by Pablo Flouret <pablof@motorola.com> on 2012-01-26
Reviewed by Oliver Hunt.

Missing parameter in a call to deserialize() and using 'this' in the
attribute accessor functions (which are static).

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
(NativeToJSValue):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjCachedAttribute1):
(WebCore::jsTestObjCachedAttribute2):
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
(WebCore::jsTestSerializedScriptValueInterfaceValue):

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

9 years agoSource/WebCore: [chromium] Allow modification of size of partially occluded quads...
wjmaclean@chromium.org [Fri, 27 Jan 2012 02:11:55 +0000 (02:11 +0000)]
Source/WebCore: [chromium] Allow modification of size of partially occluded quads during culling to reduce pixel overdraw.
https://bugs.webkit.org/show_bug.cgi?id=76349

Reviewed by James Robinson.

Prior to this patch, draw culling either rejects a DrawQuad because it is completely
occluded, or draws the entire quad (even if it is largely occluded). This patch
attempts to reduce the number of pixels drawn by determining if a partially
occluded DrawQuad can be resized to a smaller quad, based on what portion of the
DrawQuad is actually visible, and performing that resizing where possible.

Added cases to existing unit tests.

* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawTileQuad):
* platform/graphics/chromium/cc/CCDrawQuad.cpp:
(WebCore::CCDrawQuad::CCDrawQuad):
* platform/graphics/chromium/cc/CCDrawQuad.h:
(WebCore::CCDrawQuad::setQuadVisibleRect):
(WebCore::CCDrawQuad::quadVisibleRect):
* platform/graphics/chromium/cc/CCQuadCuller.cpp:
(WebCore::rectSubtractRegion):
(WebCore::CCQuadCuller::cullOccludedQuads):

Source/WebKit/chromium: [chromium] Allow modification of size of partially occluded quads.
https://bugs.webkit.org/show_bug.cgi?id=76349

Reviewed by James Robinson.

* tests/CCQuadCullerTest.cpp:
(WebCore::makeTileQuads)
(WebCore::setQuads):
(WebCore::TEST):

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

9 years ago2012-01-26 Oliver Hunt <oliver@apple.com>
oliver@apple.com [Fri, 27 Jan 2012 02:10:52 +0000 (02:10 +0000)]
2012-01-26  Oliver Hunt  <oliver@apple.com>

        MSVC bug fix.
        <rdar://problem/10703671> MSVC generates bad code for enum compare.

        RS=Geoff

        Make bitfield large enough to work around MSVC's desire to make enums
        signed types.

        * bytecode/CallLinkInfo.h:
        (CallLinkInfo):

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

9 years ago[chromium] Revert changes which added setResourceUsageCHROMIUM gl extension since...
commit-queue@webkit.org [Fri, 27 Jan 2012 02:09:26 +0000 (02:09 +0000)]
[chromium] Revert changes which added setResourceUsageCHROMIUM gl extension since feature changed directions
https://bugs.webkit.org/show_bug.cgi?id=77120

Patch by Michal Mocny <mmocny@google.com> on 2012-01-26
Reviewed by Kenneth Russell.

* public/platform/WebGraphicsContext3D.h:
(WebGraphicsContext3D):
* src/GraphicsContext3DChromium.cpp:
(WebCore):
* tests/FakeWebGraphicsContext3D.h:
(WebKit::FakeWebGraphicsContext3D::setVisibilityCHROMIUM):

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

9 years agoScrollbars disappear when switching from legacy to overlay scrollbars
andersca@apple.com [Fri, 27 Jan 2012 02:01:47 +0000 (02:01 +0000)]
Scrollbars disappear when switching from legacy to overlay scrollbars
https://bugs.webkit.org/show_bug.cgi?id=77166

Reviewed by Dan Bernstein.

* platform/ScrollView.cpp:
(WebCore::ScrollView::scrollbarStyleChanged):
Call positionScrollbarLayers to make sure that the new scrollbar layers are positioned correctly.

* platform/mac/ScrollAnimatorMac.mm:
(WebCore::ScrollAnimatorMac::updateScrollerStyle):
Call ScrollbarThemeMac::setNewPainterForScrollbar after making the call to the scrollbar painter controller
to set the horizontal or vertical imp, since setting the imp will reset the knob style.

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

9 years agoNULL ptr in WebCore::ContainerNode::parserAddChild
abarth@webkit.org [Fri, 27 Jan 2012 01:55:36 +0000 (01:55 +0000)]
NULL ptr in WebCore::ContainerNode::parserAddChild
https://bugs.webkit.org/show_bug.cgi?id=76258

Reviewed by Eric Seidel.

Source/WebCore:

Test: fast/parser/nested-fragment-parser-crash.html

We always need a parent element to attach to.  In crazy cases, we can
have elements in the stack of open elements that are already detached
from the DOM.  In those cases, they don't have a parent, so we aren't
able to enforce the maximum DOM depth.  (Fortunately, they're not
attached to the DOM anymore so we don't need to enforce the maximum DOM
depth!)

* html/parser/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::attachLater):
(WebCore::HTMLConstructionSite::fosterParent):

LayoutTests:

This crazy test case causes the parser to do all manner of crazy
things, which is good times for testing.

* fast/parser/nested-fragment-parser-crash-expected.txt: Added.
* fast/parser/nested-fragment-parser-crash.html: Added.

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

9 years agoAll DFG helpers that may call out to arbitrary JS code must know where they
fpizlo@apple.com [Fri, 27 Jan 2012 01:15:16 +0000 (01:15 +0000)]
All DFG helpers that may call out to arbitrary JS code must know where they
were called from due to inlining and call stack walking
https://bugs.webkit.org/show_bug.cgi?id=77070
<rdar://problem/10750834>

Source/JavaScriptCore:

Reviewed by Geoff Garen.

Changed the DFG to always record a code origin index in the tag of the argument
count (which we previously left blank for the benefit of LLInt, but is still
otherwise unused by the DFG), so that if we ever need to walk the stack accurately
we know where to start. In particular, if the current ExecState* points several
semantic call frames away from the true semantic call frame because we had
performed inlining, having the code origin index recorded means that we can reify
those call frames as necessary to give runtime/library code an accurate view of
the current JS state.

This required several large but mechanical changes:

- Calling a function from the DFG now plants a store32 instruction to store the
  code origin index. But the indices of code origins were previously picked by
  the DFG::JITCompiler after code generation completed. I changed this somewhat;
  even though the code origins are put into the CodeBlock after code gen, the
  code gen now knows a priori what their indices will be. Extensive assertions
  are in place to ensure that the two don't get out of sync, in the form of the
  DFG::CallBeginToken. Note that this mechanism has almost no effect on JS calls;
  those don't need the code origin index set in the call frame because we can get
  it by doing a binary search on the return PC.

- Stack walking now always calls trueCallFrame() first before beginning the walk,
  since even the top call frame may be wrong. It still calls trueCallerFrame() as
  before to get to the next frame, though trueCallerFrame() is now mostly a
  wrapper around callerFrame()->trueCallFrame().

- Because the mechanism for getting the code origin of a call frame is bimodal
  (either the call frame knows its code origin because the code origin index was
  set, or it's necessary to use the callee frame's return PC), I put in extra
  mechanisms to determine whether your caller, or your callee, corresponds to
  a call out of C++ code. Previously we just had the host call flag, but this is
  insufficient as it does not cover the case of someone calling JSC::call(). But
  luckily we can determine this just by looking at the return PC: if the return
  PC is in range of the ctiTrampiline, then two things are true: this call
  frame's PC will tell you nothing about where you came from in your caller, and
  the caller already knows where it's at because it must have set the code origin
  index (unless it's not DFG code, in which case we don't care because there is
  no inlining to worry about).

- During testing this revealed a simple off-by-one goof in DFG::ByteCodeParser's
  inlining code, so I fixed it.

- Finally because I was tired of doing random #if's for checking if I should be
  passing around an Instruction* or a ReturnAddressPtr, I created a class called
  AbstractPC that holds whatever notion of a PC is appropriate for the current
  execution environment. It's designed to work gracefully even if both the
  interpreter and the JIT are compiled in, and should integrate nicely with the
  LLInt.

This is neutral on all benchmarks and fixes some nasty corner-case regressions of
evil code that uses combinations of getters/setters and function.arguments.

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.exp:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri:
* bytecode/CodeBlock.h:
(JSC::CodeBlock::codeOrigin):
(CodeBlock):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleInlining):
* dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::link):
* dfg/DFGJITCompiler.h:
(CallBeginToken):
(JSC::DFG::CallBeginToken::CallBeginToken):
(JSC::DFG::CallBeginToken::assertCodeOriginIndex):
(JSC::DFG::CallBeginToken::assertNoCodeOriginIndex):
(DFG):
(JSC::DFG::CallExceptionRecord::CallExceptionRecord):
(CallExceptionRecord):
(JSC::DFG::JITCompiler::JITCompiler):
(JITCompiler):
(JSC::DFG::JITCompiler::nextCallBeginToken):
(JSC::DFG::JITCompiler::beginCall):
(JSC::DFG::JITCompiler::notifyCall):
(JSC::DFG::JITCompiler::addExceptionCheck):
(JSC::DFG::JITCompiler::addFastExceptionCheck):
* dfg/DFGOperations.cpp:
():
* dfg/DFGRepatch.cpp:
(JSC::DFG::tryBuildGetByIDList):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::appendCallWithExceptionCheck):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::emitCall):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::emitCall):
* interpreter/AbstractPC.cpp: Added.
(JSC):
(JSC::AbstractPC::AbstractPC):
* interpreter/AbstractPC.h: Added.
(JSC):
(AbstractPC):
(JSC::AbstractPC::AbstractPC):
(JSC::AbstractPC::hasJITReturnAddress):
(JSC::AbstractPC::jitReturnAddress):
(JSC::AbstractPC::hasInterpreterReturnAddress):
(JSC::AbstractPC::interpreterReturnAddress):
(JSC::AbstractPC::isSet):
(JSC::AbstractPC::operator!):
():
* interpreter/CallFrame.cpp:
(JSC):
(JSC::CallFrame::trueCallFrame):
(JSC::CallFrame::trueCallerFrame):
* interpreter/CallFrame.h:
(JSC::ExecState::abstractReturnPC):
(JSC::ExecState::codeOriginIndexForDFGWithInlining):
(ExecState):
(JSC::ExecState::trueCallFrame):
(JSC::ExecState::trueCallFrameFromVMCode):
* interpreter/Interpreter.cpp:
(JSC::Interpreter::retrieveArgumentsFromVMCode):
(JSC::Interpreter::retrieveCallerFromVMCode):
(JSC::Interpreter::findFunctionCallFrameFromVMCode):
* interpreter/Interpreter.h:
(Interpreter):
():
* jit/JITStubs.cpp:
(JSC):
():
* jit/JITStubs.h:
(JSC):
(JSC::returnAddressIsInCtiTrampoline):
* runtime/JSFunction.cpp:
(JSC::JSFunction::argumentsGetter):
(JSC::JSFunction::callerGetter):
(JSC::JSFunction::getOwnPropertyDescriptor):

LayoutTests:

Reviewed by Geoff Garen.

* fast/js/dfg-inline-arguments-use-directly-from-inlined-code-expected.txt: Added.
* fast/js/dfg-inline-arguments-use-directly-from-inlined-code.html: Added.
* fast/js/dfg-inline-arguments-use-from-all-the-places-broken-expected.txt: Added.
* fast/js/dfg-inline-arguments-use-from-all-the-places-broken.html: Added.
* fast/js/dfg-inline-arguments-use-from-all-the-places-expected.txt: Added.
* fast/js/dfg-inline-arguments-use-from-all-the-places.html: Added.
* fast/js/dfg-inline-arguments-use-from-getter-expected.txt: Added.
* fast/js/dfg-inline-arguments-use-from-getter.html: Added.
* fast/js/script-tests/dfg-inline-arguments-use-directly-from-inlined-code.js: Added.
(foo):
(bar):
(argsToStr):
* fast/js/script-tests/dfg-inline-arguments-use-from-all-the-places-broken.js: Added.
(foo):
(fuzz):
(getter):
(bar):
(argsToStr):
* fast/js/script-tests/dfg-inline-arguments-use-from-all-the-places.js: Added.
(foo):
(fuzz):
(getter):
(bar):
(argsToStr):
* fast/js/script-tests/dfg-inline-arguments-use-from-getter.js: Added.
(foo):
(bar):
(argsToStr):

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

9 years agoRemove builder name so http://trac.webkit.org/changeset/106035 actually works.
ojan@chromium.org [Fri, 27 Jan 2012 01:14:06 +0000 (01:14 +0000)]
Remove builder name so trac.webkit.org/changeset/106035 actually works.
https://bugs.webkit.org/show_bug.cgi?id=77164

Reviewed by Dirk Pranke.

http://trac.webkit.org/changeset/106035 depends on builder_name being
falsey by default. There's other code that requires it to be iterable
by default. So, make it be the empty string.

* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(parse_args):

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

9 years ago[Chromium]: svg/W3C-SVG-1.1/text-text-03-b.svg is marked as flakey, when it isn't
commit-queue@webkit.org [Fri, 27 Jan 2012 01:08:15 +0000 (01:08 +0000)]
[Chromium]: svg/W3C-SVG-1.1/text-text-03-b.svg is marked as flakey, when it isn't
https://bugs.webkit.org/show_bug.cgi?id=77157

Unreviewed Chromium expectations update to remove a no-longer-flakey test.

Patch by Stephen Chenney <schenney@chromium.org> on 2012-01-26

* platform/chromium/test_expectations.txt: Removed svg/W3C-SVG-1.1/text-text-03-b.svg

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

9 years agoThe registration of schemes is currently racey as they are not registered from the...
cdn@chromium.org [Fri, 27 Jan 2012 00:54:30 +0000 (00:54 +0000)]
The registration of schemes is currently racey as they are not registered from the main thread.
Getting rid of the assert that ensures that we are registering from the main thread until we can fix this.

Thank you ap@webkit for helping us identify this.

https://bugs.webkit.org/show_bug.cgi?id=77160

Reviewed by Adam Barth.

* platform/SchemeRegistry.cpp:
(WebCore::CORSEnabledSchemes):

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

9 years agoAdd GestureTapDown and GestureDoubleTap gesture types to WebGestureEvent.
commit-queue@webkit.org [Fri, 27 Jan 2012 00:42:49 +0000 (00:42 +0000)]
Add GestureTapDown and GestureDoubleTap gesture types to WebGestureEvent.
https://bugs.webkit.org/show_bug.cgi?id=77140

Patch by Sadrul Habib Chowdhury <sadrul@chromium.org> on 2012-01-26
Reviewed by Darin Fisher.

* public/WebInputEvent.h:
():
* src/WebInputEventConversion.cpp:
(WebKit::PlatformGestureEventBuilder::PlatformGestureEventBuilder):
* src/WebPopupMenuImpl.cpp:
(WebKit::WebPopupMenuImpl::handleInputEvent):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::handleInputEvent):

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

9 years agorun-perf-test should include relative file paths in test names
rniwa@webkit.org [Fri, 27 Jan 2012 00:37:27 +0000 (00:37 +0000)]
run-perf-test should include relative file paths in test names
https://bugs.webkit.org/show_bug.cgi?id=77144

Reviewed by Adam Birth.

Include all directory names in the test name separated by "/".
e.g. Bindings/event-target-wrapper.html translates to Bindings/event-target-wrapper

* Scripts/webkitpy/performance_tests/perftestsrunner.py:
(PerfTestsRunner):
(PerfTestsRunner._process_parser_test_result):
* Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:
(test_run_test_set_with_json_output):
(test_run_test_set_with_json_source):

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

9 years agoWe don't need to always repaint overlay scrollbars if they're in layers
andersca@apple.com [Fri, 27 Jan 2012 00:31:29 +0000 (00:31 +0000)]
We don't need to always repaint overlay scrollbars if they're in layers
https://bugs.webkit.org/show_bug.cgi?id=77159

Reviewed by Beth Dakin.

If a scrollable area has overlay scrollbars we'll always invalidate both scrollbars, regardless of
whether both scroll offsets actually change since they're translucent and we want to draw the new page
contents underneath.

However, if the scrollbars are painted into GraphicsLayers they'll be composited by the GPU, and so we don't
need to repaint them unless the corresponding scroll offset actually changes (which is handled in Scrollbar::updateThumb).

* platform/ScrollableArea.cpp:
(WebCore::ScrollableArea::setScrollOffsetFromAnimation):

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

9 years agowebkitpy: re-land cleanup of test scaffolding
dpranke@chromium.org [Fri, 27 Jan 2012 00:16:24 +0000 (00:16 +0000)]
webkitpy: re-land cleanup of test scaffolding
https://bugs.webkit.org/show_bug.cgi?id=77153

Reviewed by Eric Seidel.

This is an attempt to reland the change in bug 76973 /
r105935. My earlier attempt to manipulate PYTHONPATH
seems to only work some of the time, for reasons that
elude me. Directly adding Tools/Scripts to sys.path from
inside the test script appears to work (more?) reliably.

Also, it seemed like the files didn't actually get deleted
the last time; I don't know why.

* Scripts/test-webkitpy:
* Scripts/webkitpy/common/system/executive_unittest.py:
(command_line):
(ExecutiveTest):
(ExecutiveTest.test_run_command_args_type):
(ExecutiveTest.test_run_command_with_unicode):
(ExecutiveTest.test_running_pids):
(main):
* Scripts/webkitpy/common/system/fileutils.py: Removed.
* Scripts/webkitpy/test/cat.py: Removed.
* Scripts/webkitpy/test/cat_unittest.py: Removed.
* Scripts/webkitpy/test/echo.py: Removed.
* Scripts/webkitpy/test/echo_unittest.py: Removed.

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

9 years agoIndexedDB: WebCore::IDBKey objects are leaked
jsbell@chromium.org [Fri, 27 Jan 2012 00:07:11 +0000 (00:07 +0000)]
IndexedDB: WebCore::IDBKey objects are leaked
https://bugs.webkit.org/show_bug.cgi?id=77114

Reviewed by Tony Chang.

Fixing memory leaks, no new tests.

* storage/IDBKey.h:
(WebCore::IDBKey::createInvalid):
(WebCore::IDBKey::createNumber):
(WebCore::IDBKey::createString):
(WebCore::IDBKey::createDate):
(WebCore::IDBKey::createArray):

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

9 years agorun-webkit-tests calls "nm" when it doesn't need to
ojan@chromium.org [Fri, 27 Jan 2012 00:03:23 +0000 (00:03 +0000)]
run-webkit-tests calls "nm" when it doesn't need to
https://bugs.webkit.org/show_bug.cgi?id=77143

Reviewed by Dirk Pranke.

If we are not running any test that can be skipped by checking
the DRT feature list or looking at the list of symbols, avoid calling
out to DRT or calling "nm".

This saves ~700ms on my Mac Pro. In cases where you still have to call out
to "nm" it's only a couple ms slower.

* Scripts/webkitpy/layout_tests/models/test_expectations.py:
(TestExpectations.__init__):
* Scripts/webkitpy/layout_tests/port/base.py:
(Port.skipped_tests):
* Scripts/webkitpy/layout_tests/port/webkit.py:
(WebKitPort._should_check_for_missing_features):
(WebKitPort):
(WebKitPort._should_check_for_missing_symbols):
(WebKitPort._skipped_tests_for_unsupported_features):
(WebKitPort.skipped_layout_tests):
(WebKitPort.skipped_tests):
* Scripts/webkitpy/layout_tests/port/webkit_unittest.py:
(WebKitPortTest.test_skipped_directories_for_symbols):
(test_skipped_directories_for_features):
(test_skipped_directories_for_features_no_matching_tests_in_test_list):
(test_skipped_layout_tests):

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

9 years agoSource/WebCore: Add a scheme registry for CORS requests. Allow simple CORS requests...
cdn@chromium.org [Thu, 26 Jan 2012 23:50:31 +0000 (23:50 +0000)]
Source/WebCore: Add a scheme registry for CORS requests. Allow simple CORS requests to be made to registered schemes.
https://bugs.webkit.org/show_bug.cgi?id=77041

Reviewed by Alexey Proskuryakov.

* loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest):
* platform/SchemeRegistry.cpp:
(WebCore::CORSEnabledSchemes):
(WebCore):
(WebCore::SchemeRegistry::registerCORSEnabledScheme):
(WebCore::SchemeRegistry::isCORSEnabledScheme):
* platform/SchemeRegistry.h:
(SchemeRegistry):

Source/WebKit/chromium: Add API to register schemes which can be sent simple CORS requests.
https://bugs.webkit.org/show_bug.cgi?id=77041

Reviewed by Alexey Proskuryakov.

* public/WebSecurityPolicy.h:
(WebSecurityPolicy):
* src/WebSecurityPolicy.cpp:
(WebKit::WebSecurityPolicy::registerCORSEnabledScheme):
(WebKit):

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

9 years agocompositing/shadows/shadow-drawing.html and svg/css/group-with-shadow.svg are failing...
leviw@chromium.org [Thu, 26 Jan 2012 23:48:11 +0000 (23:48 +0000)]
compositing/shadows/shadow-drawing.html and svg/css/group-with-shadow.svg are failing on Chromium Win
https://bugs.webkit.org/show_bug.cgi?id=77151

Unreviewed gardening. Rebaselining expectations for the above tests on Chromium-Windows and re-enabling them.

* platform/chromium-win-vista/compositing/shadows: Added.
* platform/chromium-win-vista/compositing/shadows/shadow-drawing-expected.png: Added.
* platform/chromium-win-vista/svg/css/group-with-shadow-expected.png: Added.
* platform/chromium-win-xp/compositing/shadows: Added.
* platform/chromium-win-xp/compositing/shadows/shadow-drawing-expected.png: Added.
* platform/chromium-win-xp/svg/css: Removed.
* platform/chromium-win/compositing/shadows/shadow-drawing-expected.png:
* platform/chromium-win/svg/css/group-with-shadow-expected.png:
* platform/chromium/test_expectations.txt:

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

9 years agoFile extension for webp files is .webp
noel.gordon@gmail.com [Thu, 26 Jan 2012 23:44:21 +0000 (23:44 +0000)]
File extension for webp files is .webp
https://bugs.webkit.org/show_bug.cgi?id=76982

Reviewed by Adam Barth.

No new tests. No change in behavior.

* platform/image-decoders/webp/WEBPImageDecoder.h:
(WebCore::WEBPImageDecoder::filenameExtension):

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

9 years agoSupport a suffix on ChangeLog filenames based on a configuration file
commit-queue@webkit.org [Thu, 26 Jan 2012 23:29:16 +0000 (23:29 +0000)]
Support a suffix on ChangeLog filenames based on a configuration file
https://bugs.webkit.org/show_bug.cgi?id=76956

Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-01-26
Reviewed by Kentaro Hara.

Modify the tools used to generate, edit and resolve ChangeLogs to support
the addition of a suffix to the ChangeLog filename.

This patch makes it easier to support alternate ChangeLog files in branches.

* Scripts/VCSUtils.pm:
(changeLogSuffix):
(changeLogFileName):
* Scripts/commit-log-editor:
* Scripts/prepare-ChangeLog:
(getLatestChangeLogs):
(generateNewChangeLogs):
(generateFileList):
* Scripts/resolve-ChangeLogs:
(findChangeLog):

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

9 years agocompositing/shadows/shadow-drawing.html and svg/css/group-with-shadow.svg are failing...
leviw@chromium.org [Thu, 26 Jan 2012 23:25:39 +0000 (23:25 +0000)]
compositing/shadows/shadow-drawing.html and svg/css/group-with-shadow.svg are failing on Chromium Win
https://bugs.webkit.org/show_bug.cgi?id=77151

Unreviewed gardening. Marking the above 2 tests as flaky on Chromium Windows until
I can root cause the change.

* platform/chromium/test_expectations.txt:

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

9 years ago[chromium] Remove dead and unnecessary code related to LayerChromium::cleanupResources
alokp@chromium.org [Thu, 26 Jan 2012 23:13:44 +0000 (23:13 +0000)]
[chromium] Remove dead and unnecessary code related to LayerChromium::cleanupResources
https://bugs.webkit.org/show_bug.cgi?id=77137

Reviewed by James Robinson.

No new test needed. Only removing dead code.

* platform/graphics/chromium/LayerChromium.cpp:
* platform/graphics/chromium/LayerChromium.h:
(WebCore::LayerChromium::layerTreeHost):
* platform/graphics/chromium/TiledLayerChromium.cpp:
(WebCore::TiledLayerChromium::setLayerTreeHost):

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

9 years agoMove horizontal rubber-band checks to ScrollElasticityController::handleWheelEvent
andersca@apple.com [Thu, 26 Jan 2012 23:06:01 +0000 (23:06 +0000)]
Move horizontal rubber-band checks to ScrollElasticityController::handleWheelEvent
https://bugs.webkit.org/show_bug.cgi?id=77147

Reviewed by Adam Roben.

* platform/mac/ScrollAnimatorMac.h:
(ScrollAnimatorMac):
* platform/mac/ScrollAnimatorMac.mm:
(WebCore::ScrollAnimatorMac::handleWheelEvent):
Always call ScrollElasticityController::handleWheelEvent, and only call didBeginScrollGesture and
didEndScrollGesture if the event was actually handled.

(WebCore::ScrollAnimatorMac::shouldRubberBandInDirection):
Implement this.

* platform/mac/ScrollElasticityController.h:
* platform/mac/ScrollElasticityController.mm:
(WebCore::ScrollElasticityController::handleWheelEvent):
Check if we should rubber-band and return false if we shouldn't.

(WebCore::ScrollElasticityController::shouldRubberBandInHorizontalDirection):
Ask the client if we should rubber-band.

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

9 years agoUnreviewed, rolling out r106038.
commit-queue@webkit.org [Thu, 26 Jan 2012 22:58:21 +0000 (22:58 +0000)]
Unreviewed, rolling out r106038.
http://trac.webkit.org/changeset/106038
https://bugs.webkit.org/show_bug.cgi?id=77142

Caused a bunch of skipped tests to not be skipped. (Requested
by ojan on #webkit).

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

* Scripts/webkitpy/layout_tests/models/test_expectations.py:
(TestExpectationParser):
(TestExpectationParser.parse):
(TestExpectationParser._parse_line):
(TestExpectationParser._collect_matching_tests):
(TestExpectations.__init__):
(TestExpectations._add_skipped_tests):
* Scripts/webkitpy/layout_tests/port/base.py:
(Port.test_dirs):
(Port.normalize_test_name):
(Port.update_baseline):
(Port.layout_tests_dir):
(Port.relative_perf_test_filename):
(Port.abspath_for_test):

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

9 years agoFix build when VERBOSE_SPECULATION_FAILURE is enabled in DFG
pvarga@webkit.org [Thu, 26 Jan 2012 22:55:26 +0000 (22:55 +0000)]
Fix build when VERBOSE_SPECULATION_FAILURE is enabled in DFG
https://bugs.webkit.org/show_bug.cgi?id=77104

Reviewed by Filip Pizlo.

* dfg/DFGOperations.cpp:
():

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

9 years ago[chromium] Remove setLayerTreeHost nonsense on lost context
jamesr@google.com [Thu, 26 Jan 2012 22:46:53 +0000 (22:46 +0000)]
[chromium] Remove setLayerTreeHost nonsense on lost context
https://bugs.webkit.org/show_bug.cgi?id=76675

Reviewed by Kenneth Russell.

This code isn't needed any more. On a lost context event, we drop all TextureManager-managed textures through
the proxy and no layer types need special lost context handling.

* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::didRecreateGraphicsContext):

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

9 years agoLayout Test fast/workers/storage/interrupt-database.html is a flaky crasher on Debug...
leviw@chromium.org [Thu, 26 Jan 2012 22:33:58 +0000 (22:33 +0000)]
Layout Test fast/workers/storage/interrupt-database.html is a flaky crasher on Debug Chromium Bots
https://bugs.webkit.org/show_bug.cgi?id=77136

Unreviewed gardening. Marking fast/workers/storage/interrupt-database.html as a flaky
crasher on debug Chromium bots.

* platform/chromium/test_expectations.txt:

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

9 years agoSimplify checking of whether we should rubberband horizontally
andersca@apple.com [Thu, 26 Jan 2012 22:33:49 +0000 (22:33 +0000)]
Simplify checking of whether we should rubberband horizontally
https://bugs.webkit.org/show_bug.cgi?id=77141

Reviewed by Adam Roben.

Have a single check for horizontal rubber-banding in both directions. This is in preparation
for moving this code into ScrollElasticityController.

* platform/mac/ScrollAnimatorMac.mm:
(WebCore::shouldRubberBandInHorizontalDirection):
(WebCore::ScrollAnimatorMac::handleWheelEvent):

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

9 years agoFix include path in gyp file for V8InternalSettings.h
commit-queue@webkit.org [Thu, 26 Jan 2012 22:26:42 +0000 (22:26 +0000)]
Fix include path in gyp file for V8InternalSettings.h
https://bugs.webkit.org/show_bug.cgi?id=77128

Patch by Scott Graham <scottmg@chomium.org> on 2012-01-26
Reviewed by Kent Tamura.

* WebCore.gyp/WebCore.gyp:

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

9 years ago[chromium] Add enter/exitRunLoop to WebThread API
jamesr@google.com [Thu, 26 Jan 2012 22:26:23 +0000 (22:26 +0000)]
[chromium] Add enter/exitRunLoop to WebThread API
https://bugs.webkit.org/show_bug.cgi?id=76012

Reviewed by Darin Fisher.

This adds those two APIs to WebKit::WebThread and converts CCLayerTreeHostTest over to use these APIs instead
of webkit_support. The immediate motivation is that we can't use webkit_support in webkit_unit_tests in the
component build.

* WebKit.gyp:
* public/platform/WebThread.h:
* tests/CCLayerTreeHostTest.cpp:
(WTF::CCLayerTreeHostTest::onEndTest):
(WTF::CCLayerTreeHostTest::TimeoutTask::run):
(WTF::CCLayerTreeHostTest::BeginTask::BeginTask):
(WTF::CCLayerTreeHostTest::BeginTask::~BeginTask):
(WTF::CCLayerTreeHostTest::BeginTask::run):
(WTF::CCLayerTreeHostTest::runTest):

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

9 years agoWe shouldn't synchronously update styles on all documents after running script
jamesr@google.com [Thu, 26 Jan 2012 22:24:10 +0000 (22:24 +0000)]
We shouldn't synchronously update styles on all documents after running script
https://bugs.webkit.org/show_bug.cgi?id=46761

Reviewed by Simon Fraser.

Currently we call Document::updateStyleForAllDocuments() after invoking any event or timeout handler. This is
slow since it iterates over the entire document tree and defeats our recalcStyle timer batching. It is
unnecessary as any code that depends on styles or the render tree being up to date must call
updateStyleIfNeeded() on the document it is accessing.

The first reference I can find to this code is in r798 in the file WebCore/khtml/xml/domnode_impl.cpp. It's been
cargo culted forward ever since.

* bindings/ScriptControllerBase.cpp:
(WebCore::ScriptController::executeScript):
* bindings/js/ScheduledAction.cpp:
(WebCore::ScheduledAction::execute):
* bindings/js/ScriptController.cpp:
(WebCore::ScriptController::ScriptController):
(WebCore::ScriptController::executeScriptInWorld):
* bindings/js/ScriptController.h:
* bindings/v8/ScheduledAction.cpp:
(WebCore::ScheduledAction::execute):
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::ScriptController):
* bindings/v8/ScriptController.h:
* dom/ScriptElement.cpp:
(WebCore::ScriptElement::executeScript):
* inspector/InspectorClient.cpp:
(WebCore::InspectorClient::doDispatchMessageOnFrontendPage):

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

9 years agoUnreviewed, rolling out r106027.
commit-queue@webkit.org [Thu, 26 Jan 2012 22:10:59 +0000 (22:10 +0000)]
Unreviewed, rolling out r106027.
http://trac.webkit.org/changeset/106027
https://bugs.webkit.org/show_bug.cgi?id=77139

"It messed up Qt5 buildbots." (Requested by jeez_ on #webkit).

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

* platform/qt-4.8/Skipped:
* platform/qt-5.0/Skipped:
* platform/qt-wk2/Skipped:
* platform/qt/Skipped:

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

9 years agoGet rid of ScrollElasticityController::beginScrollGesture()
andersca@apple.com [Thu, 26 Jan 2012 22:10:53 +0000 (22:10 +0000)]
Get rid of ScrollElasticityController::beginScrollGesture()
https://bugs.webkit.org/show_bug.cgi?id=77138

Reviewed by Adam Roben.

ScrollElasticityController::handleWheelEvent now checks if the wheel event phase is
PlatformWheelEventPhaseBegan and sets up the gesture state if it is.

* platform/mac/ScrollAnimatorMac.mm:
(WebCore::ScrollAnimatorMac::handleWheelEvent):
* platform/mac/ScrollElasticityController.h:
(ScrollElasticityController):
* platform/mac/ScrollElasticityController.mm:
(WebCore::ScrollElasticityController::handleWheelEvent):

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

9 years agoParsing test_expecations.txt + Skipped lists takes too long
ojan@chromium.org [Thu, 26 Jan 2012 21:46:36 +0000 (21:46 +0000)]
Parsing test_expecations.txt + Skipped lists takes too long
https://bugs.webkit.org/show_bug.cgi?id=77059

Reviewed by Dirk Pranke.

This saves ~100ms on the Apple Mac port.
-memoize a bunch of path methods.
-Avoid doing multiple disk accesses per line.
-Parse the skipped list directly instead of turning it into a test_expecations.txt
formatting string and parsing that.

* Scripts/webkitpy/layout_tests/models/test_expectations.py:
(TestExpectationParser):
(TestExpectationParser.parse_skipped_tests):
(TestExpectationParser._parse_line):
(TestExpectationParser._collect_matching_tests):
(TestExpectations.__init__):
(TestExpectations._add_skipped_tests):
* Scripts/webkitpy/layout_tests/port/base.py:
(Port):
(Port.test_isfile):
(Port.normalize_test_name):
(Port.layout_tests_dir):
(Port.abspath_for_test):

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

9 years agoGet rid of ScrollElasticityController::endScrollGesture()
andersca@apple.com [Thu, 26 Jan 2012 21:38:19 +0000 (21:38 +0000)]
Get rid of ScrollElasticityController::endScrollGesture()
https://bugs.webkit.org/show_bug.cgi?id=77134

Reviewed by Adam Roben.

Just make ScrollElasticityController::handleWheelEvent call snapRubberBand if the wheel
event phase is PlatformWheelEventPhaseEnded.

* platform/mac/ScrollAnimatorMac.mm:
(WebCore::ScrollAnimatorMac::handleWheelEvent):
* platform/mac/ScrollElasticityController.h:
(ScrollElasticityController):
* platform/mac/ScrollElasticityController.mm:
(WebCore::ScrollElasticityController::handleWheelEvent):

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

9 years agoCrash in SVGSVGElement::currentViewBoxRect.
inferno@chromium.org [Thu, 26 Jan 2012 21:35:44 +0000 (21:35 +0000)]
Crash in SVGSVGElement::currentViewBoxRect.
https://bugs.webkit.org/show_bug.cgi?id=77121

Reviewed by Nikolas Zimmermann.

Source/WebCore:

Symbols shouldn't be rendered. Revert the ASSERT
from r105513 into a hard check.

Test: svg/custom/symbol-viewport-element-crash.svg

* svg/SVGLengthContext.cpp:
(WebCore::SVGLengthContext::determineViewport):

LayoutTests:

* svg/custom/symbol-viewport-element-crash-expected.txt: Added.
* svg/custom/symbol-viewport-element-crash.svg: Added.

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

9 years agoOnly store the SVN revision in the summarized results if we're on a builder
ojan@chromium.org [Thu, 26 Jan 2012 21:26:06 +0000 (21:26 +0000)]
Only store the SVN revision in the summarized results if we're on a builder
https://bugs.webkit.org/show_bug.cgi?id=76976

Reviewed by Dirk Pranke.

This shaves another ~130ms off the single test run-webkit-tests runtime.

* Scripts/webkitpy/layout_tests/controllers/manager.py:
(summarize_results):
* Scripts/webkitpy/layout_tests/controllers/manager_unittest.py:
(ResultSummaryTest.get_result):
(ResultSummaryTest):
(ResultSummaryTest.get_result_summary):
(ResultSummaryTest.get_unexpected_results):
(ResultSummaryTest.test_no_svn_revision):
(ResultSummaryTest.test_svn_revision):
* Scripts/webkitpy/layout_tests/port/base.py:
(Port.use_trac_links_in_results_html):

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