WebKit.git
8 years ago[Chromium] platform/chromium/media/video-capture-preview.html is a flaky crash.
dglazkov@chromium.org [Fri, 27 Apr 2012 18:03:07 +0000 (18:03 +0000)]
[Chromium] platform/chromium/media/video-capture-preview.html is a flaky crash.
https://bugs.webkit.org/show_bug.cgi?id=85082

* platform/chromium/test_expectations.txt: Added expectation of flakiness.

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

8 years ago[EFL] tabsToLinks ewk_view setting
commit-queue@webkit.org [Fri, 27 Apr 2012 18:01:13 +0000 (18:01 +0000)]
[EFL] tabsToLinks ewk_view setting
https://bugs.webkit.org/show_bug.cgi?id=84340

Exporting new ewk_view setting: tabsToLinks - enbles/disables tab key focusing of page elements.

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-04-27
Reviewed by Antonio Gomes.

* WebCoreSupport/ChromeClientEfl.cpp:
(WebCore::ChromeClientEfl::keyboardUIMode):
* ewk/ewk_view.cpp:
(_Ewk_View_Private_Data):
(_ewk_view_priv_new):
(ewk_view_setting_include_links_in_focus_chain_get):
(ewk_view_setting_include_links_in_focus_chain_set):
* ewk/ewk_view.h:

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

8 years agoUnreviewed, rolling out r115436.
tonyg@chromium.org [Fri, 27 Apr 2012 17:37:02 +0000 (17:37 +0000)]
Unreviewed, rolling out r115436.
http://trac.webkit.org/changeset/115436
https://bugs.webkit.org/show_bug.cgi?id=85079

"broke the build" (Requested by tonyg-cr on #webkit).

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

* WebKit.gyp:
* public/WebReferrerPolicy.h: Added.

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

8 years agoSource/WebCore: Web Inspector: Implement the "Disable JavaScript" option in the setti...
apavlov@chromium.org [Fri, 27 Apr 2012 17:32:07 +0000 (17:32 +0000)]
Source/WebCore: Web Inspector: Implement the "Disable JavaScript" option in the settings dialog
(re-landing r115417 with a test that should work on Windows.)
https://bugs.webkit.org/show_bug.cgi?id=84946

Reviewed by Yury Semikhatsky.

Test: inspector/debugger/disable-script.html

* inspector/Inspector.json:
* inspector/InspectorPageAgent.cpp:
(PageAgentState):
(WebCore::InspectorPageAgent::enable):
(WebCore::InspectorPageAgent::disable):
(WebCore::InspectorPageAgent::getScriptExecutionStatus):
(WebCore):
(WebCore::InspectorPageAgent::setScriptExecutionDisabled):
* inspector/InspectorPageAgent.h:
* inspector/front-end/Settings.js:
* inspector/front-end/SettingsScreen.js:
(WebInspector.SettingsScreen):
(WebInspector.SettingsScreen.prototype.get _updateScriptDisabledCheckbox):
(WebInspector.SettingsScreen.prototype._javaScriptDisabledChanged):
* inspector/front-end/inspector.js:

LayoutTests: Web Inspector: Implement the "Disable JavaScript" option in the settings dialog
https://bugs.webkit.org/show_bug.cgi?id=84946

Reviewed by Yury Semikhatsky.

* inspector/debugger/disable-script-expected.txt: Added.
* inspector/debugger/disable-script.html: Added.

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

8 years agoIETC HTML5: verify HTMLDataListElement - instanceof HTMLDataListElement fails.
keishi@webkit.org [Fri, 27 Apr 2012 16:56:15 +0000 (16:56 +0000)]
IETC HTML5: verify HTMLDataListElement - instanceof HTMLDataListElement fails.
https://bugs.webkit.org/show_bug.cgi?id=81196

Reviewed by Kent Tamura.

Source/WebCore:

Test: fast/dom/Window/window-properties.html, fast/dom/Window/window-lookup-precedence.html

HTMLDataListElement should be available on DOMWindow.

* page/DOMWindow.idl: Added HTMLDataListElement.

LayoutTests:

* fast/dom/Window/resources/window-properties.js: Added HTMLDataListElement to the list.
* platform/chromium/fast/dom/Window/window-lookup-precedence-expected.txt:

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

8 years agoUnreviewed, rolling out r115417.
dglazkov@chromium.org [Fri, 27 Apr 2012 16:53:01 +0000 (16:53 +0000)]
Unreviewed, rolling out r115417.
http://trac.webkit.org/changeset/115417
https://bugs.webkit.org/show_bug.cgi?id=84946

Added test is broken on windows.

Source/WebCore:

* inspector/Inspector.json:
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::enable):
(WebCore::InspectorPageAgent::disable):
* inspector/InspectorPageAgent.h:
* inspector/front-end/Settings.js:
* inspector/front-end/SettingsScreen.js:
(WebInspector.SettingsScreen):
* inspector/front-end/inspector.js:

LayoutTests:

* inspector/debugger/disable-script-expected.txt: Removed.
* inspector/debugger/disable-script.html: Removed.

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

8 years ago[Chromium] fast/images/gif-large-checkerboard.html is a flaky crash
dglazkov@chromium.org [Fri, 27 Apr 2012 16:46:55 +0000 (16:46 +0000)]
[Chromium] fast/images/gif-large-checkerboard.html is a flaky crash
https://bugs.webkit.org/show_bug.cgi?id=85073

* platform/chromium/test_expectations.txt: Marked flaky crash.

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

8 years agoAdd new ENABLE_LINK_PRERENDER define to control the Prerendering API
gavinp@chromium.org [Fri, 27 Apr 2012 16:38:33 +0000 (16:38 +0000)]
Add new ENABLE_LINK_PRERENDER define to control the Prerendering API
https://bugs.webkit.org/show_bug.cgi?id=84871

Reviewed by Adam Barth.

Source/JavaScriptCore:

Prerendering is currently covered by the ENABLE_LINK_PREFETCH macro, but the new Prerendering
API separates it from prefetching.  Having separate include guards lets ports enable prefetching,
a relatively easy change, without needing to build the infrastructure for prerendering, which
is considerably more complicated.

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Prerendering is currently covered by the ENABLE_LINK_PREFETCH macro, but the new Prerendering
API separates it from prefetching.  Having separate include guards lets ports enable prefetching,
a relatively easy change, without needing to build the infrastructure for prerendering, which
is considerably more complicated.

* Configurations/FeatureDefines.xcconfig:

Source/WebKit/chromium:

Prerendering is currently covered by the ENABLE_LINK_PREFETCH macro, but the new Prerendering
API separates it from prefetching.  Having separate include guards lets ports enable prefetching,
a relatively easy change, without needing to build the infrastructure for prerendering, which
is considerably more complicated.

Source/WebKit/mac:

Prerendering is currently covered by the ENABLE_LINK_PREFETCH macro, but the new Prerendering
API separates it from prefetching.  Having separate include guards lets ports enable prefetching,
a relatively easy change, without needing to build the infrastructure for prerendering, which
is considerably more complicated.

Source/WebKit2:

Prerendering is currently covered by the ENABLE_LINK_PREFETCH macro, but the new Prerendering
API separates it from prefetching.  Having separate include guards lets ports enable prefetching,
a relatively easy change, without needing to build the infrastructure for prerendering, which
is considerably more complicated.

Tools:

Prerendering is currently covered by the ENABLE_LINK_PREFETCH macro, but the new Prerendering
API separates it from prefetching.  Having separate include guards lets ports enable prefetching,
a relatively easy change, without needing to build the infrastructure for prerendering, which
is considerably more complicated.

WebKitLibraries:

Prerendering is currently covered by the ENABLE_LINK_PREFETCH macro, but the new Prerendering
API separates it from prefetching.  Having separate include guards lets ports enable prefetching,
a relatively easy change, without needing to build the infrastructure for prerendering, which
is considerably more complicated.

* win/tools/vsprops/FeatureDefinesCairo.vsprops:

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

8 years ago[Gtk][DOM Bindings] Feature-protected properties are put under condition guards
zandobersek@gmail.com [Fri, 27 Apr 2012 16:35:38 +0000 (16:35 +0000)]
[Gtk][DOM Bindings] Feature-protected properties are put under condition guards
https://bugs.webkit.org/show_bug.cgi?id=85068

Reviewed by Martin Robinson.

Generated feature-dependent properties are now present regardless of that
feature being enabled. On getting or setting that property's value a warning
is thrown if the feature is not enabled. Additionally, if the generated
interface is feature-dependant, when getting or setting any property's value
a warning is thrown if the feature is not enabled.

No new tests - covered by existing bindings tests.

* bindings/scripts/CodeGeneratorGObject.pm:
(GenerateProperty):
(GenerateProperties):
* bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp: Rebaseline.
(webkit_dom_test_interface_set_property):
(webkit_dom_test_interface_get_property):
(webkit_dom_test_interface_class_init):
* bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto.
(webkit_dom_test_obj_set_property):
(webkit_dom_test_obj_get_property):
(webkit_dom_test_obj_class_init):
* bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp: Ditto.
(webkit_dom_test_serialized_script_value_interface_get_property):

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

8 years agoUnreviewed, rolling out r115433.
dglazkov@chromium.org [Fri, 27 Apr 2012 16:34:33 +0000 (16:34 +0000)]
Unreviewed, rolling out r115433.
http://trac.webkit.org/changeset/115433
https://bugs.webkit.org/show_bug.cgi?id=85052

Enable unit tests again.

* tests/PopupMenuTest.cpp:
(WebKit::TEST_F):

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

8 years agoUnreviewed, rolling out r115421.
dglazkov@chromium.org [Fri, 27 Apr 2012 16:32:50 +0000 (16:32 +0000)]
Unreviewed, rolling out r115421.
http://trac.webkit.org/changeset/115421
https://bugs.webkit.org/show_bug.cgi?id=85052

Enable unit tests again.

* tests/PopupMenuTest.cpp:
(WebKit::TEST_F):

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

8 years agoUnreviewed, rolling out r115400.
dglazkov@chromium.org [Fri, 27 Apr 2012 16:29:13 +0000 (16:29 +0000)]
Unreviewed, rolling out r115400.
http://trac.webkit.org/changeset/115400
https://bugs.webkit.org/show_bug.cgi?id=84420

Broke unit tests.

* src/ChromeClientImpl.cpp:
(WebKit::ChromeClientImpl::popupOpened):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::applyAutofillSuggestions):

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

8 years ago[Gtk][DOM Bindings] Conditional string in implementation file generated in wrong...
zandobersek@gmail.com [Fri, 27 Apr 2012 16:27:22 +0000 (16:27 +0000)]
[Gtk][DOM Bindings] Conditional string in implementation file generated in wrong place after 113450
https://bugs.webkit.org/show_bug.cgi?id=85065

Reviewed by Martin Robinson.

Put the condition string in implementation file after the header inclusions. This ensures
that build errors do not occur when disabling the future that applies to the condition string
because of WebCore objects and methods that are still in use despite the feature being disabled.

No new tests - covered by bindings tests.

* bindings/scripts/CodeGeneratorGObject.pm:
(WriteData):
* bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp: Rebaseline generated results.
* bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp: Ditto.
* bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp: Ditto.

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

8 years ago[BlackBerry] Improve log output in InputHandler.cpp
commit-queue@webkit.org [Fri, 27 Apr 2012 16:10:53 +0000 (16:10 +0000)]
[BlackBerry] Improve log output in InputHandler.cpp
https://bugs.webkit.org/show_bug.cgi?id=85007

Patch by Nima Ghanavatian <nghanavatian@rim.com> on 2012-04-27
Reviewed by Antonio Gomes.

PR 138292
Improving logging in InputHandler.
In setText we had an early return which wasn't being captured.
Also, cleaning up the output to make it more clear and descriptive.

Internally reviewed by Mike Fenton.

* WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::InputHandler::learnText):
(BlackBerry::WebKit::InputHandler::enableInputMode):
(BlackBerry::WebKit::InputHandler::setText):

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

8 years ago[Chromium] Remove Webkit/chromium/public/WebReferrerPolicy.h thunk.
gavinp@chromium.org [Fri, 27 Apr 2012 15:57:06 +0000 (15:57 +0000)]
[Chromium] Remove Webkit/chromium/public/WebReferrerPolicy.h thunk.
https://bugs.webkit.org/show_bug.cgi?id=84552

After http://codereview.chromium.org/10139023/ lands, this thunk is no
longer needed.

Reviewed by Adam Barth.

* WebKit.gyp:
* public/WebReferrerPolicy.h: Removed.

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

8 years ago[Blackberry] remove redundant returns
commit-queue@webkit.org [Fri, 27 Apr 2012 15:29:08 +0000 (15:29 +0000)]
[Blackberry] remove redundant returns
https://bugs.webkit.org/show_bug.cgi?id=85033

Patch by Chris Guan <chris.guan@torchmobile.com.cn> on 2012-04-27
Reviewed by Antonio Gomes.

Remove two redundant returns which were added by accident.

No new test cases, because no behaviour has changed.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPage::setSelection):
(BlackBerry::WebKit::WebPage::setCaretPosition):

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

8 years agoAvoid mutating Element attribute storage in StepRange constructor.
kling@webkit.org [Fri, 27 Apr 2012 15:27:45 +0000 (15:27 +0000)]
Avoid mutating Element attribute storage in StepRange constructor.
<http://webkit.org/b/84797>

Reviewed by Antti Koivisto.

Source/WebCore:

Test: fast/selectors/querySelector-in-range-crash.html

* dom/Attribute.h:

    Add comment about the volatility of references returned by getters.

* html/StepRange.cpp:
(WebCore::StepRange::StepRange):

    Replace hasAttribute/getAttribute pair by a single fastGetAttribute.

* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::updateType):
(WebCore::HTMLInputElement::value):

    Store the value attribute in an local variable before passing it to sanitizeValue().

LayoutTests:

* fast/selectors/querySelector-in-range-crash-expected.txt: Added.
* fast/selectors/querySelector-in-range-crash.html: Added.

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

8 years ago[chromium] Disables a few more webkit_unittests.
bulach@chromium.org [Fri, 27 Apr 2012 15:14:41 +0000 (15:14 +0000)]
[chromium] Disables a few more webkit_unittests.
https://bugs.webkit.org/show_bug.cgi?id=85052

Unreviewed build fix.

Failing on Windows bots, probably due to r115400.

* tests/PopupMenuTest.cpp:
(WebKit::TEST_F):

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

8 years agoSVG inline style of 'marker-*' does not override
rwlbuis@webkit.org [Fri, 27 Apr 2012 15:05:21 +0000 (15:05 +0000)]
SVG inline style of 'marker-*' does not override
https://bugs.webkit.org/show_bug.cgi?id=84824

Source/WebCore:

Reviewed by Nikolas Zimmermann.

Properly handle CSSValueNone for clip-path, filter, mask and marker-* properties. Instead
of bailing out, set the none value explicitly, since an earlier match may have set it to
something other than none.

Tests: svg/custom/inline-style-overrides-clipPath-expected.svg
       svg/custom/inline-style-overrides-clipPath.svg
       svg/custom/inline-style-overrides-filter-expected.svg
       svg/custom/inline-style-overrides-filter.svg
       svg/custom/inline-style-overrides-markers-expected.svg
       svg/custom/inline-style-overrides-markers.svg
       svg/custom/inline-style-overrides-mask-expected.svg
       svg/custom/inline-style-overrides-mask.svg

* css/SVGCSSStyleSelector.cpp:
(WebCore::StyleResolver::applySVGProperty):

LayoutTests:

Add tests for clip-path, filter, mask and marker-* properties.

Reviewed by Nikolas Zimmermann.

* svg/custom/inline-style-overrides-clipPath-expected.svg: Added.
* svg/custom/inline-style-overrides-clipPath.svg: Added.
* svg/custom/inline-style-overrides-filter-expected.svg: Added.
* svg/custom/inline-style-overrides-filter.svg: Added.
* svg/custom/inline-style-overrides-markers-expected.svg: Added.
* svg/custom/inline-style-overrides-markers.svg: Added.
* svg/custom/inline-style-overrides-mask-expected.svg: Added.
* svg/custom/inline-style-overrides-mask.svg: Added.

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

8 years agoUnreviewed, GTK gardening.
philn@webkit.org [Fri, 27 Apr 2012 15:05:09 +0000 (15:05 +0000)]
Unreviewed, GTK gardening.

* Scripts/run-gtk-tests:
(TestRunner): Skip flaky WebKit2 API test.

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

8 years ago[EFL] media/video-controls-rendering-toggle-display-none.html is failing
commit-queue@webkit.org [Fri, 27 Apr 2012 15:00:36 +0000 (15:00 +0000)]
[EFL] media/video-controls-rendering-toggle-display-none.html is failing
https://bugs.webkit.org/show_bug.cgi?id=84949

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-04-27
Reviewed by Antonio Gomes.

Fix volume slider rendering so that the
media/video-controls-rendering-toggle-display-none.html passes.

* css/mediaControlsEfl.css:
(audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
(audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
(audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):

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

8 years agoSupport values animation mode with just a single value
zimmermann@webkit.org [Fri, 27 Apr 2012 14:58:46 +0000 (14:58 +0000)]
Support values animation mode with just a single value
https://bugs.webkit.org/show_bug.cgi?id=85064

Reviewed by Antti Koivisto.

Source/WebCore:

values="a" is equal to <set to="a"> per SMIL specification.
We currently only support values animation if at least two values are given, fix that.

The reference animations in Dr. Olaf Hoffmanns SVG Animation test suite are mostly using
values animations, sometimes with only a single value given. Lots of the reference animations
are broken in trunk w/o this patch and now work as expected.

See http://hoffmann.bplaced.net/svgtest/index.php?s=en&in=start.

Test: svg/animations/single-values-animation.html

* svg/SVGAnimationElement.cpp:
(WebCore::SVGAnimationElement::calculateKeyTimesForCalcModePaced):
(WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
(WebCore::SVGAnimationElement::startedActiveInterval):

LayoutTests:

* svg/animations/resources/single-values-animation.svg: Added.
* svg/animations/script-tests/single-values-animation.js: Added.
(sample1):
(sample2):
(executeTest):
* svg/animations/single-values-animation-expected.txt: Added.
* svg/animations/single-values-animation.html: Added.

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

8 years ago[chromium] Update test expectation.
bulach@chromium.org [Fri, 27 Apr 2012 14:55:48 +0000 (14:55 +0000)]
[chromium] Update test expectation.
https://bugs.webkit.org/show_bug.cgi?id=85038

Unreviewed, chromium test_expectations update.

* platform/chromium/test_expectations.txt:

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

8 years agoWeb Inspector: Allow inspection of Web Socket Frames
commit-queue@webkit.org [Fri, 27 Apr 2012 14:17:45 +0000 (14:17 +0000)]
Web Inspector: Allow inspection of Web Socket Frames
https://bugs.webkit.org/show_bug.cgi?id=83282

Patch by Konrad Piascik <kpiascik@rim.com> on 2012-04-27
Reviewed by Pavel Feldman.

Source/WebCore:

Tests: http/tests/inspector/web-socket-frame-error.html
       http/tests/inspector/web-socket-frame.html

* English.lproj/localizedStrings.js: Added new Web Inspector front-end UI strings.
* Modules/websockets/WebSocketChannel.cpp:  Added InspectorInstrumentation calls to
                                            the following methods.
(WebCore::WebSocketChannel::fail):
(WebCore::WebSocketChannel::processFrame):
(WebCore::WebSocketChannel::sendFrame):
* WebCore.gypi: Added new Web Inspector resource file.
* WebCore.vcproj/WebCore.vcproj: Added new Web Inspector resource file.
* inspector/Inspector.json: Added new Web Inspector resource file.
* inspector/InspectorInstrumentation.cpp: Added new methods for instrumenting a Web Socket frame or error.
(WebCore::InspectorInstrumentation::didReceiveWebSocketFrameImpl):
(WebCore::InspectorInstrumentation::didReceiveWebSocketFrameErrorImpl):
(WebCore::InspectorInstrumentation::didSendWebSocketFrameImpl):
* inspector/InspectorInstrumentation.h:
(WebCore):
(InspectorInstrumentation):
(WebCore::InspectorInstrumentation::didReceiveWebSocketFrame):
(WebCore::InspectorInstrumentation::didReceiveWebSocketFrameError):
(WebCore::InspectorInstrumentation::didSendWebSocketFrame):
* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::didReceiveWebSocketFrame):
(WebCore):
(WebCore::InspectorResourceAgent::didSendWebSocketFrame):
(WebCore::InspectorResourceAgent::didReceiveWebSocketFrameError):
* inspector/InspectorResourceAgent.h:
(WebCore):
(InspectorResourceAgent):
* inspector/compile-front-end.py: Added new Web Inspector resource file.
* inspector/front-end/NetworkItemView.js: Added a new View for inspecting Web Socket frames and errors.
(WebInspector.NetworkItemView):
* inspector/front-end/NetworkManager.js: Implemented callback called by InspectorResourceAgent for
                                         the new Web Socket frame and error calls.
(WebInspector.NetworkDispatcher.prototype.webSocketFrameReceived):
(WebInspector.NetworkDispatcher.prototype.webSocketFrameSent):
(WebInspector.NetworkDispatcher.prototype.webSocketFrameError):
* inspector/front-end/NetworkRequest.js: Added a frames array to a Resource request along
                                         with accessor and helper methods
(WebInspector.NetworkRequest):
(WebInspector.NetworkRequest.prototype.resource):
(WebInspector.NetworkRequest.prototype.hasFrames):
(WebInspector.NetworkRequest.prototype.frameLength):
(WebInspector.NetworkRequest.prototype.getFrame):
(WebInspector.NetworkRequest.prototype.addFrameError):
(WebInspector.NetworkRequest.prototype.addFrame):
(WebInspector.NetworkRequest.prototype._pushFrame):
* inspector/front-end/ResourceWebSocketFrameView.js: Added to help display Web Socket frame and error data.
(WebInspector.ResourceWebSocketFrameView):
* inspector/front-end/WebKit.qrc: Added new Web Inspector resource file.
* inspector/front-end/inspector.html: Added new Web Inspector resource file.

LayoutTests:

* http/tests/inspector/web-socket-frame-error-expected.txt: Added.
* http/tests/inspector/web-socket-frame-error.html: Added.
* http/tests/inspector/web-socket-frame-expected.txt: Added.
* http/tests/inspector/web-socket-frame.html: Added.

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

8 years ago[Qt][WK2] setVisibleContentsRect is not thread safe
yael.aharon@nokia.com [Fri, 27 Apr 2012 14:12:51 +0000 (14:12 +0000)]
[Qt][WK2] setVisibleContentsRect is not thread safe
https://bugs.webkit.org/show_bug.cgi?id=85060

Reviewed by Noam Rosenthal.

Don't call WebLayerTreeRenderer::setVisibleContentsRect directly. Use bind() instead.

* UIProcess/LayerTreeHostProxy.cpp:
(WebKit::LayerTreeHostProxy::setVisibleContentsRect):

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

8 years agoFix repetitions & by animation support for SVGAnimateTransformElement
zimmermann@webkit.org [Fri, 27 Apr 2012 14:10:59 +0000 (14:10 +0000)]
Fix repetitions & by animation support for SVGAnimateTransformElement
https://bugs.webkit.org/show_bug.cgi?id=85051

Reviewed by Antti Koivisto.

Source/WebCore:

Repetitions are currently handled by adjusting percentage (percentage += repeatCount).
This doesn't work for <animateTransform> as each repetition has to be post-multiplied to the animated transform list. Fix that.

By-animations are equal to values="0;by" animations in SMIL. '0' is the neutral element of addition, which is the _zero_ matrix,
not the identity matrix for SVGTransform. Add a new construction mode to SVGTransform to be able to construct zero transforms.

Tests: svg/animations/animateTransform-accumulation-expected.svg
       svg/animations/animateTransform-accumulation.svg
       svg/animations/animateTransform-by-scale-expected.svg
       svg/animations/animateTransform-by-scale.svg
       svg/animations/animateTransform-from-by-from-to-comparision-expected.svg
       svg/animations/animateTransform-from-by-from-to-comparision.svg
       svg/animations/animateTransform-from-by-scale-additive-sum-expected.svg
       svg/animations/animateTransform-from-by-scale-additive-sum.svg
       svg/animations/animateTransform-from-by-scale-expected.svg
       svg/animations/animateTransform-from-by-scale.svg
       svg/animations/animateTransform-rotate-around-point-expected.svg
       svg/animations/animateTransform-rotate-around-point.svg
       svg/animations/animateTransform-skewX-expected.svg
       svg/animations/animateTransform-skewX.svg
       svg/animations/animateTransform-skewY-expected.svg
       svg/animations/animateTransform-skewY.svg
       svg/animations/animateTransform-translate-expected.svg
       svg/animations/animateTransform-translate.svg
       svg/animations/multiple-animateTransform-additive-sum-expected.svg
       svg/animations/multiple-animateTransform-additive-sum.svg

* svg/SVGAnimateTransformElement.cpp:
(WebCore::SVGAnimateTransformElement::parseAttribute):
* svg/SVGAnimatedTransformList.cpp:
(WebCore::SVGAnimatedTransformListAnimator::addAnimatedTypes):
(WebCore::SVGAnimatedTransformListAnimator::calculateAnimatedValue):
* svg/SVGAnimationElement.h:
(WebCore::SVGAnimationElement::adjustFromToListValues):
* svg/SVGTransform.cpp:
(WebCore::SVGTransform::SVGTransform):
* svg/SVGTransform.h:
* svg/SVGTransformDistance.cpp:
(WebCore::SVGTransformDistance::SVGTransformDistance):
(WebCore::SVGTransformDistance::scaledDistance):
(WebCore::SVGTransformDistance::addSVGTransforms):
(WebCore::SVGTransformDistance::addToSVGTransform):
(WebCore::SVGTransformDistance::distance):
* svg/SVGTransformDistance.h:
(SVGTransformDistance):

LayoutTests:

Enable <animateTransform> test in additive-type-by-animation, which was disabled as it triggered assertions before this patch.
Add lots of new <animateTransform> covering additive/accumulative animations using reftests, for all animateTransform types (translate/rotate/skewX/skewY/scale).

* svg/animations/additive-type-by-animation-expected.txt:
* svg/animations/animateTransform-accumulation-expected.svg: Added.
* svg/animations/animateTransform-accumulation.svg: Added.
* svg/animations/animateTransform-by-scale-expected.svg: Added.
* svg/animations/animateTransform-by-scale.svg: Added.
* svg/animations/animateTransform-from-by-from-to-comparision-expected.svg: Added.
* svg/animations/animateTransform-from-by-from-to-comparision.svg: Added.
* svg/animations/animateTransform-from-by-scale-additive-sum-expected.svg: Added.
* svg/animations/animateTransform-from-by-scale-additive-sum.svg: Added.
* svg/animations/animateTransform-from-by-scale-expected.svg: Added.
* svg/animations/animateTransform-from-by-scale.svg: Added.
* svg/animations/animateTransform-rotate-around-point-expected.svg: Added.
* svg/animations/animateTransform-rotate-around-point.svg: Added.
* svg/animations/animateTransform-skewX-expected.svg: Added.
* svg/animations/animateTransform-skewX.svg: Added.
* svg/animations/animateTransform-skewY-expected.svg: Added.
* svg/animations/animateTransform-skewY.svg: Added.
* svg/animations/animateTransform-translate-expected.svg: Added.
* svg/animations/animateTransform-translate.svg: Added.
* svg/animations/multiple-animateTransform-additive-sum-expected.svg: Added.
* svg/animations/multiple-animateTransform-additive-sum.svg: Added.
* svg/animations/resources/additive-type-by-animation.svg:
* svg/animations/script-tests/additive-type-by-animation.js:
(checkBaseVal):
(sample1):
(sample2):
(sample3):
* svg/animations/script-tests/svgtransform-animation-1.js:
(sample1):
(sample2):
(sample3):
(sample4):
(sample5):
(sample6):
(sample7):
(executeTest):
* svg/animations/script-tests/svgtransform-animation-discrete.js:
(sample1):
(sample2):
(sample3):
(executeTest):
* svg/animations/svgtransform-animation-1-expected.txt:
* svg/animations/svgtransform-animation-discrete-expected.txt:

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

8 years ago[BlackBerry] Find-in-page fails to deactivate the old active match when moving backwards
commit-queue@webkit.org [Fri, 27 Apr 2012 13:52:26 +0000 (13:52 +0000)]
[BlackBerry] Find-in-page fails to deactivate the old active match when moving backwards
https://bugs.webkit.org/show_bug.cgi?id=84892

Patch by Andy Chen <andchen@rim.com> on 2012-04-27
Reviewed by Antonio Gomes.

Find in page fails to deactivate the old active match when moving backwards
because searchStartingPoint was incorrectly initialized.
Create a real range object instead of referencing other range object.
PR 152009

Internally reviewed by Yongxin Dai.

* WebKitSupport/InPageSearchManager.cpp:
(BlackBerry::WebKit::InPageSearchManager::findNextString):

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

8 years agoSVG Animations update baseVal instead of animVal
zimmermann@webkit.org [Fri, 27 Apr 2012 13:50:44 +0000 (13:50 +0000)]
SVG Animations update baseVal instead of animVal
https://bugs.webkit.org/show_bug.cgi?id=12437

Reviewed by Dirk Schulze.

Source/WebCore:

Cleanup animation code, remove last remaining crufts of the old setAttribute() animation model.
Now only two animation modes remain: animate SVG DOM animVal properties or CSS properties.

Stop caching base values per string in SMILTimeContainer, as it breaks additive="sum" for CSS
properties if the underlying base value is changed from the outside (eg. when calling
style.fontSize="20px", if font-size was 10px, and we're running an additive by-animation with 50px).

This requires us to cache the computed style of a SVGElement, without SMIL style property changes,
in SVGElementRareData, similar to how the computed style itself is cached in ElementRareData.
To be able to compute the base value for a CSS property at any time, we have to exclude any
previous animation effects residing in the SMIL animated style properties, per SMIL2/3 specs.

NOTE: This doesn't change or affect the way CSS Animations/Transitions are applied, we still
      have some bugs in that area, but this patch doesn't address them. The idea is to only
      remove the cache, to pave the way for future additive="sum" patches.

Tests: svg/animations/change-css-property-while-animating-fill-freeze.html
       svg/animations/change-css-property-while-animating-fill-remove.html

* dom/Element.cpp:
(WebCore::Element::recalcStyle):
* dom/Node.h:
* svg/SVGAnimateElement.cpp:
(WebCore::propertyTypesAreConsistent):
(WebCore::SVGAnimateElement::resetToBaseValue):
(WebCore::SVGAnimateElement::applyResultsToTarget):
* svg/SVGAnimateElement.h:
(SVGAnimateElement):
* svg/SVGAnimateMotionElement.cpp:
(WebCore::SVGAnimateMotionElement::resetToBaseValue):
* svg/SVGAnimateMotionElement.h:
(SVGAnimateMotionElement):
* svg/SVGAnimationElement.cpp:
(WebCore::applyCSSPropertyToTarget):
(WebCore::SVGAnimationElement::setTargetAttributeAnimatedCSSValue):
* svg/SVGAnimationElement.h:
* svg/SVGElement.cpp:
(WebCore::SVGElement::SVGElement):
(WebCore::SVGElement::willRecalcStyle):
(WebCore):
(WebCore::SVGElement::rareSVGData):
(WebCore::SVGElement::ensureRareSVGData):
(WebCore::SVGElement::computedStyle):
(WebCore::SVGElement::isAnimatableAttribute):
* svg/SVGElement.h:
(SVGElement):
* svg/SVGElementRareData.h:
(WebCore::SVGElementRareData::SVGElementRareData):
(WebCore::SVGElementRareData::ensureAnimatedSMILStyleProperties):
(WebCore::SVGElementRareData::destroyAnimatedSMILStyleProperties):
(WebCore::SVGElementRareData::overrideComputedStyle):
(WebCore::SVGElementRareData::setUseOverrideComputedStyle):
* svg/animation/SMILTimeContainer.cpp:
(WebCore::SMILTimeContainer::updateAnimations):
* svg/animation/SMILTimeContainer.h:
(SMILTimeContainer):
* svg/animation/SVGSMILElement.h:
(SVGSMILElement):

LayoutTests:

Add tests that change the CSS property while an animation is running, finally fixed now for both SVG DOM & CSS animations.

* svg/animations/change-css-property-while-animating-fill-freeze-expected.txt: Added.
* svg/animations/change-css-property-while-animating-fill-freeze.html: Added.
* svg/animations/change-css-property-while-animating-fill-remove-expected.txt: Added.
* svg/animations/change-css-property-while-animating-fill-remove.html: Added.
* svg/animations/resources/change-css-property-while-animating-fill-freeze.svg: Added.
* svg/animations/resources/change-css-property-while-animating-fill-remove.svg: Added.
* svg/animations/script-tests/change-css-property-while-animating-fill-freeze.js: Added.
(sample1):
(sample2):
(sample3):
(sample4):
(sample5):
(executeTest):
* svg/animations/script-tests/change-css-property-while-animating-fill-remove.js: Added.
(sample1):
(sample2):
(sample3):
(sample4):
(sample5):
(executeTest):

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

8 years agoUnreviewed, GTK gardening.
philn@webkit.org [Fri, 27 Apr 2012 13:13:53 +0000 (13:13 +0000)]
Unreviewed, GTK gardening.

* Scripts/run-gtk-tests:
(TestRunner): Fix another typo. So easy to get confused by a Test
name and the actual name of the executable...

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

8 years ago[chromium] Disables a few webkit_unittests.
bulach@chromium.org [Fri, 27 Apr 2012 12:24:46 +0000 (12:24 +0000)]
[chromium] Disables a few webkit_unittests.
https://bugs.webkit.org/show_bug.cgi?id=85052

Unreviewed build fix.

* tests/PopupMenuTest.cpp:
(WebKit::TEST_F):

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

8 years agoMove WebKit1 specific conversion of touch-events to WebKit1
kkristof@inf.u-szeged.hu [Fri, 27 Apr 2012 12:02:12 +0000 (12:02 +0000)]
Move WebKit1 specific conversion of touch-events to WebKit1
https://bugs.webkit.org/show_bug.cgi?id=84951

Patch by Allan Sandfeld Jensen <allan.jensen@nokia.com> on 2012-04-27
Reviewed by Kenneth Rohde Christiansen.

Fix compile when touch-events are disabled.

* WebCoreSupport/WebEventConversion.cpp:
(WebCore):
* WebCoreSupport/WebEventConversion.h:
(WebCore):

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

8 years agoUnreviewed, GTK test_expectations update.
philn@webkit.org [Fri, 27 Apr 2012 11:51:22 +0000 (11:51 +0000)]
Unreviewed, GTK test_expectations update.

* platform/gtk/test_expectations.txt: Mark another http/inspector
test as crashing.

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

8 years agoUnreviewed, GTK gardening.
philn@webkit.org [Fri, 27 Apr 2012 11:42:55 +0000 (11:42 +0000)]
Unreviewed, GTK gardening.

* Scripts/run-gtk-tests:
(TestRunner): Skip failing WebKit2 API test.

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

8 years agoSource/WebCore: Web Inspector: Implement the "Disable JavaScript" option in the setti...
apavlov@chromium.org [Fri, 27 Apr 2012 10:07:37 +0000 (10:07 +0000)]
Source/WebCore: Web Inspector: Implement the "Disable JavaScript" option in the settings dialog
(re-landing r115323 with a fixed test.)
https://bugs.webkit.org/show_bug.cgi?id=84946

Based on user actions in the Inspector frontend, InspectorPageAgent invokes Settings::setScriptEnabled()
for the associated page to switch the script execution therein.

Reviewed by Yury Semikhatsky.

Test: inspector/debugger/disable-script.html

* inspector/Inspector.json:
* inspector/InspectorPageAgent.cpp:
(PageAgentState):
(WebCore::InspectorPageAgent::enable):
(WebCore::InspectorPageAgent::disable):
(WebCore::InspectorPageAgent::getScriptExecutionStatus):
(WebCore):
(WebCore::InspectorPageAgent::setScriptExecutionDisabled):
* inspector/InspectorPageAgent.h:
* inspector/front-end/Settings.js:
* inspector/front-end/SettingsScreen.js:
(WebInspector.SettingsScreen):
(WebInspector.SettingsScreen.prototype.get _updateScriptDisabledCheckbox):
(WebInspector.SettingsScreen.prototype._javaScriptDisabledChanged):
* inspector/front-end/inspector.js:

LayoutTests: Web Inspector: Implement the "Disable JavaScript" option in the settings dialog
https://bugs.webkit.org/show_bug.cgi?id=84946

Reviewed by Yury Semikhatsky.

* inspector/debugger/disable-script-expected.txt: Added.
* inspector/debugger/disable-script.html: Added.

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

8 years agoUnreviewed, GTK test_expectations update.
philn@webkit.org [Fri, 27 Apr 2012 09:59:10 +0000 (09:59 +0000)]
Unreviewed, GTK test_expectations update.

* platform/gtk/test_expectations.txt: Flag http test hitting an ASSERT.

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

8 years ago[EFL] DRT should support LayoutTestController's dumpResourceLoadCallbacks()
commit-queue@webkit.org [Fri, 27 Apr 2012 09:47:05 +0000 (09:47 +0000)]
[EFL] DRT should support LayoutTestController's dumpResourceLoadCallbacks()
https://bugs.webkit.org/show_bug.cgi?id=81891

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-04-27
Reviewed by Philippe Normand.

Source/WebKit/efl:

New "load,resource,finished", "load,resource,failed", and
"resource,response,received" signals were added to notify about different
resource load events. These additional signals are needed for proper
support of LayoutTestController's dumpResourceLoadCallbacks() in EFL's
DumpRenderTree.

* WebCoreSupport/FrameLoaderClientEfl.cpp:
(WebCore::FrameLoaderClientEfl::assignIdentifierToInitialRequest):
(WebCore::FrameLoaderClientEfl::dispatchDidReceiveResponse):
(WebCore::FrameLoaderClientEfl::dispatchDidFinishLoading):
(WebCore::FrameLoaderClientEfl::dispatchDidFailLoading):
* ewk/ewk_frame.cpp:
(ewk_frame_response_received):
(ewk_frame_load_finished):
(ewk_frame_load_resource_finished):
(ewk_frame_load_resource_failed):
(ewk_frame_load_error):
* ewk/ewk_frame.h:
* ewk/ewk_private.h:
* ewk/ewk_view.h:

Tools:

Implement support for LayoutTestController's
dumpResourceLoadCallbacks() in EFL's DumpRenderTree by catching new
ewk_view signals about resource loading and print out the expected
information. This allows for several test cases to be removed from the
skip list.

* DumpRenderTree/efl/DumpRenderTreeChrome.cpp:
(DumpRenderTreeChrome::createView):
(descriptionSuitableForTestResult):
(DumpRenderTreeChrome::onResponseReceived):
(DumpRenderTreeChrome::onResourceLoadFinished):
(DumpRenderTreeChrome::onResourceLoadFailed):
(DumpRenderTreeChrome::onNewResourceRequest):
* DumpRenderTree/efl/DumpRenderTreeChrome.h:
(DumpRenderTreeChrome):

LayoutTests:

Unskip tests which depend on EFL's DumpRenderTree support for
LayoutTestController's dumpResourceLoadCallbacks(), now that it is
implemented.

* platform/efl/Skipped:

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

8 years agoUnreviewed, GTK typo fix.
philn@webkit.org [Fri, 27 Apr 2012 09:16:37 +0000 (09:16 +0000)]
Unreviewed, GTK typo fix.

* Scripts/run-gtk-tests:
(TestRunner): Fix-up skipped WebKit2 API test name TestWKConnection.

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

8 years ago[chromium] Update test expectation.
bulach@chromium.org [Fri, 27 Apr 2012 09:07:18 +0000 (09:07 +0000)]
[chromium] Update test expectation.
https://bugs.webkit.org/show_bug.cgi?id=85038

Unreviewed, chromium test_expectations update.

* platform/chromium/test_expectations.txt:

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

8 years agoUnreviewed, GTK test_expectations update.
philn@webkit.org [Fri, 27 Apr 2012 08:09:47 +0000 (08:09 +0000)]
Unreviewed, GTK test_expectations update.

* platform/gtk/test_expectations.txt: Fix expected results of
css2.1 results and remove non-existant fast/form test.

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

8 years ago[SOUP] Add a way to register custom uri schemes in WebKit2
carlosgc@webkit.org [Fri, 27 Apr 2012 07:13:40 +0000 (07:13 +0000)]
[SOUP] Add a way to register custom uri schemes in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=84130

Reviewed by Martin Robinson.

.:

* GNUmakefile.am: Add BUILDING_SOUP__ macro to compilation.

Source/WebKit2:

* GNUmakefile.am: Add new files to compilation.
* Platform/CoreIPC/MessageID.h: Add
MessageClassWebSoupRequestManager and
MessageClassWebSoupRequestManagerProxy message types to identify
WebSoupRequestManager messages.
* Shared/API/c/WKBase.h: Include WKBaseSoup.h when building with
soup network backend.
* Shared/API/c/soup/WKBaseSoup.h: Added.
* Shared/APIObject.h: Add SoupRequestManager type when using soup.
* UIProcess/API/C/WKAPICast.h: Include WKAPICastSoup.h when
building with soup network backend.
* UIProcess/API/C/soup/WKAPICastSoup.h: Added.
(WebKit): Map WKSoupRequestManagerRef to
WebSoupRequestManagerProxy.
* UIProcess/API/C/soup/WKContextSoup.cpp: Added.
(WKContextGetSoupRequestManager): Return WKSoupRequestManagerRef
associated to the context.
* UIProcess/API/C/soup/WKContextSoup.h: Added.
* UIProcess/API/C/soup/WKSoupRequestManager.cpp: Added.
(WKSoupRequestManagerGetTypeID): Return the
WebSoupRequestManagerProxy API type.
(WKSoupRequestManagerSetClient): Set the WKSoupRequestManagerClient.
(WKSoupRequestManagerRegisterURIScheme): Call
WebSoupRequestManagerProxy::registerURIScheme().
(WKSoupRequestManagerHandleURIRequest): Call
WebSoupRequestManagerProxy::handleURIRequest().
* UIProcess/API/C/soup/WKSoupRequestManager.h: Added.
* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext): Initialize
m_soupRequestManagerProxy when using soup.
(WebKit::WebContext::~WebContext): Invalidate and clear the
m_soupRequestManagerProxy when using soup.
(WebKit::WebContext::disconnectProcess): Invalidate the
m_soupRequestManagerProxy when using soup.
(WebKit::WebContext::didReceiveMessage): Forward the message to
m_soupRequestManagerProxy if it's a
MessageClassWebSoupRequestManagerProxy message.
* UIProcess/WebContext.h:
(WebKit::WebContext::soupRequestManagerProxy): Return
m_soupRequestManagerProxy.
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::didReceiveMessage): Forward message to
the web context if it's a MessageClassWebSoupRequestManagerProxy
message.
* UIProcess/soup/WebSoupRequestManagerClient.cpp: Added.
(WebKit::WebSoupRequestManagerClient::didReceiveURIRequest): Call
didReceiveURIRequest callback if it has an implementation.
* UIProcess/soup/WebSoupRequestManagerClient.h: Added.
* UIProcess/soup/WebSoupRequestManagerProxy.cpp: Added.
(WebKit::WebSoupRequestManagerProxy::create): Create a new
WebSoupRequestManagerProxy.
(WebKit::WebSoupRequestManagerProxy::WebSoupRequestManagerProxy):
(WebKit::WebSoupRequestManagerProxy::~WebSoupRequestManagerProxy):
(WebKit::WebSoupRequestManagerProxy::invalidate):
(WebKit::WebSoupRequestManagerProxy::initializeClient):
(WebKit::WebSoupRequestManagerProxy::didReceiveMessage):
(WebKit::WebSoupRequestManagerProxy::registerURIScheme): Send
RegisterURIScheme message to the WebProcess to register the given
URI scheme.
(WebKit::WebSoupRequestManagerProxy::handleURIRequest): Send
HandleURIRequest message to the WebProcess with the given data and
data type.
(WebKit::WebSoupRequestManagerProxy::didReceiveURIRequest): Call
didReceiveURIRequest callback to allow the user to handle the
request.
* UIProcess/soup/WebSoupRequestManagerProxy.h: Added.
* UIProcess/soup/WebSoupRequestManagerProxy.messages.in: Added.
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::WebProcess): Initialize m_soupRequestManager
when using soup.
(WebKit::WebProcess::didReceiveMessage): Forward the message to
m_soupRequestManager if it's a MessageClassWebSoupRequestManager
message.
* WebProcess/WebProcess.h:
(WebKit::WebProcess::soupRequestManager): Return m_soupRequestManager.
* WebProcess/soup/WebKitSoupRequestGeneric.cpp: Added.
(webkitSoupRequestGenericFinalize):
(webkit_soup_request_generic_init):
(webkitSoupRequestGenericSendAsync): Create a GSimpleAsyncResult
to handle the request and pass it to the WebSoupRequestManager.
(webkitSoupRequestGenericSendFinish): Finish the async operation
started by webkitSoupRequestGenericSendAsync() and return the
contents of the request as returned by WebSoupRequestManager.
(webkitSoupRequestGenericGetContentLength): Get the request
contents length.
(webkitSoupRequestGenericGetContentType): Get the request mime
type.
(webkit_soup_request_generic_class_init):
(webkitSoupRequestGenericSetContentLength): Set the request
contents length.
(webkitSoupRequestGenericSetContentType): Set the request mime
type.
* WebProcess/soup/WebKitSoupRequestGeneric.h: Added.
* WebProcess/soup/WebSoupRequestManager.cpp: Added.
(WebKit::generateSoupRequestID): Helper function to generate a
unique request identifier.
(WebKit::WebSoupRequestManager::WebSoupRequestManager):
(WebKit::WebSoupRequestManager::~WebSoupRequestManager):
(WebKit::WebSoupRequestManager::didReceiveMessage):
(WebKit::WebSoupRequestManager::registerURIScheme): Add the scheme
to the schemes array and add a new WebKitSoupRequestGeneric
feature with the new scheme list to the SoupRequester feature.
(WebKit::WebSoupRequestManager::handleURIRequest): Complete the
async operation by creating a GInputStream with the request data,
or setting an error in case of failure.
(WebKit::WebSoupRequestManager::send): Send DidReceiveURIRequest
message to the UI process.
(WebKit::WebSoupRequestManager::finish): Return the GInputStream
containing the request data.
* WebProcess/soup/WebSoupRequestManager.h: Added.
* WebProcess/soup/WebSoupRequestManager.messages.in: Added.

Source/WTF:

Add GPtrArray template to be able to use GRefPtr with GPtrArrays.

* wtf/gobject/GRefPtr.cpp:
(WTF::refGPtr):
(WTF):
(WTF::derefGPtr):
* wtf/gobject/GRefPtr.h:
(WTF):
* wtf/gobject/GTypedefs.h:

Tools:

* Scripts/webkitpy/style/checkers/cpp.py:
(check_identifier_name_in_declaration): Add webkit_soup prefix to
the list of exceptions to the underscores in identifiers rule.

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

8 years agoExtract PerfTestFactory
rniwa@webkit.org [Fri, 27 Apr 2012 07:05:36 +0000 (07:05 +0000)]
Extract PerfTestFactory
https://bugs.webkit.org/show_bug.cgi?id=83944

Reviewed by Dirk Pranke.

Extracted PerfTestFactory out of PerfTest. This class creates appropriate PerfTest object given
a test name and a path. Also removed dirname from the constructors of PerfTest and its subclasses.

Also added simple test cases to sanity check PerfTestFactory.

* Scripts/webkitpy/performance_tests/perftest.py:
(PerfTest.__init__):
(PerfTest.test_name):
(ChromiumStylePerfTest.__init__):
(PageLoadingPerfTest.__init__):
(PageLoadingPerfTest.run):
(PerfTestFactory):
(PerfTestFactory.create_perf_test):
* Scripts/webkitpy/performance_tests/perftest_unittest.py:
(MainTest.test_parse_output):
(MainTest.test_parse_output_with_failing_line):
(TestPageLoadingPerfTest.test_run):
(TestPageLoadingPerfTest.test_run_with_bad_output):
(TestPerfTestFactory):
(TestPerfTestFactory.test_regular_test):
(TestPerfTestFactory.test_inspector_test):
(TestPerfTestFactory.test_page_loading_test):
* Scripts/webkitpy/performance_tests/perftestsrunner.py:
(PerfTestsRunner):
(PerfTestsRunner._collect_tests):
* Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:
(run_test):
(_tests_for_runner):

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

8 years agoREGRESSION (r94497): Pressing Command+A when inline (Marked Text) is not empty will...
rniwa@webkit.org [Fri, 27 Apr 2012 06:45:25 +0000 (06:45 +0000)]
REGRESSION (r94497): Pressing Command+A when inline (Marked Text) is not empty will clean whole content
https://bugs.webkit.org/show_bug.cgi?id=84501

Reviewed by Alexey Proskuryakov.

Source/WebCore:

The bug was caused by setComposition, which is called by cancelComposition, deleting the contents when
the passed text is empty. Fixed it by not deleting text when canceling compositions. This is okay because
as the comment above the line suggests, this particular call to TypingCommand::deleteSelection is only useful
when the confirmed text is empty and the composition text had previously been non-empty.

Test: editing/input/select-all-clear-input-method.html

* editing/Editor.cpp:
(WebCore::Editor::setComposition):

LayoutTests:

Add a regression test for selecting all when there is a composition text.

* editing/input/select-all-clear-input-method-expected.txt: Added.
* editing/input/select-all-clear-input-method.html: Added.

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

8 years ago[Qt] Unreviewed morning gardening, skip a new failing test.
ossy@webkit.org [Fri, 27 Apr 2012 06:11:04 +0000 (06:11 +0000)]
[Qt] Unreviewed morning gardening, skip a new failing test.

* platform/qt/Skipped:

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

8 years agodatalist: Form control in a <datalist> should be barred from constraint validation
keishi@webkit.org [Fri, 27 Apr 2012 04:04:29 +0000 (04:04 +0000)]
datalist: Form control in a <datalist> should be barred from constraint validation
https://bugs.webkit.org/show_bug.cgi?id=84359

Source/WebCore:

http://www.whatwg.org/specs/web-apps/current-work/multipage/the-button-element.html#the-datalist-element
According to this, if an element has a datalist element ancestor, it is barred from constraint validation.

Reviewed by Kent Tamura.

Test: fast/forms/datalist/datalist-child-validation.html

* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::HTMLFormControlElement):
(WebCore::HTMLFormControlElement::updateAncestors): Updates the ancestor information.
(WebCore::HTMLFormControlElement::insertedInto): Invalidates the ancestor information and calls setNeedsWillValidateCheck
(WebCore::HTMLFormControlElement::removedFrom): Invalidates the ancestor information and calls setNeedsWillValidateCheck
(WebCore::HTMLFormControlElement::disabled):
(WebCore::HTMLFormControlElement::recalcWillValidate): Returns false if element has a datalist ancestor.
(WebCore::HTMLFormControlElement::setNeedsWillValidateCheck): Check if ancestor information is valid too.
* html/HTMLFormControlElement.h:
(HTMLFormControlElement):

LayoutTests:

Reviewed by Kent Tamura.

* fast/forms/datalist/datalist-child-validation-expected.txt: Added.
* fast/forms/datalist/datalist-child-validation.html: Added. Tests that willValidate changes from false to true when we move the element out of the datalist.

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

8 years agoDon't define WTF_COMPILER_SUPPORTS_CXX_NULLPTR twice when building with clang on...
thakis@chromium.org [Fri, 27 Apr 2012 03:51:37 +0000 (03:51 +0000)]
Don't define WTF_COMPILER_SUPPORTS_CXX_NULLPTR twice when building with clang on windows.
https://bugs.webkit.org/show_bug.cgi?id=85018

Reviewed by Anders Carlsson.

Clang sets _MSC_VER when compiling for a -pc-win32 target (just like it sets __GNUC__ on unix).
As a result, WTF_COMPILER_SUPPORTS_CXX_NULLPTR gets currently set twice, once for clang and
once for _MSC_VER. Guard the second instance with !COMPILER(CLANG). This matches the gcc code
for WTF_COMPILER_SUPPORTS_CXX_NULLPTR in the same file.

* wtf/Compiler.h:

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

8 years ago[chromium] Remove unused CCLayerImpl::debugID()
enne@google.com [Fri, 27 Apr 2012 03:35:30 +0000 (03:35 +0000)]
[chromium] Remove unused CCLayerImpl::debugID()
https://bugs.webkit.org/show_bug.cgi?id=85019

Reviewed by James Robinson.

CCLayerSorter used debugID() but it was never set anywhere. Change
the CCLayerSorter LOG messages to use id(), which does get set.

* platform/graphics/chromium/cc/CCLayerImpl.h:
(CCLayerImpl):
* platform/graphics/chromium/cc/CCLayerSorter.cpp:
(WebCore::CCLayerSorter::createGraphNodes):
(WebCore::CCLayerSorter::createGraphEdges):
(WebCore::CCLayerSorter::sort):

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

8 years ago[chromium] Fix C++ language use.
thakis@chromium.org [Fri, 27 Apr 2012 03:32:42 +0000 (03:32 +0000)]
[chromium] Fix C++ language use.
https://bugs.webkit.org/show_bug.cgi?id=85015

Reviewed by James Robinson.

Even though MSVC allows it, a sizeof followed by a non-parenthesized
typename is not valid C++.

No functionality change.

* rendering/RenderThemeChromiumWin.cpp:
(WebCore):
(WebCore::getNonClientMetrics):

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

8 years ago[chromium] Move ProgramBinding definitions to LayerRendererChromium and normalize...
jamesr@google.com [Fri, 27 Apr 2012 03:22:20 +0000 (03:22 +0000)]
[chromium] Move ProgramBinding definitions to LayerRendererChromium and normalize naming
https://bugs.webkit.org/show_bug.cgi?id=84808

Reviewed by Adrienne Walker.

Source/WebCore:

The GL programs used are logically part of LayerRendererChromium and not something specific to a layer type,
since a different renderer would want to use a different thing to render the same layer types. This moves all of
the ProgramBinding definitions into LayerRendererChromium and gives them consistent names. With the exception of
CCRenderSurface (noted by an inline comment), these programs are private to LRC.

This patch also deduplicates programs a bit:
1.) Video's NativeTexture and RGBA programs were the same thing, folded.
2.) The TexStretch and TexTransform shaders are basically the same thing, folded together.

* platform/graphics/chromium/LayerChromium.h:
(LayerChromium):
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawCheckerboardQuad):
(WebCore::LayerRendererChromium::drawDebugBorderQuad):
(WebCore::LayerRendererChromium::drawSolidColorQuad):
(WebCore::LayerRendererChromium::drawTileQuad):
(WebCore::LayerRendererChromium::drawYUV):
(WebCore::LayerRendererChromium::drawRGBA):
(WebCore::LayerRendererChromium::drawNativeTexture2D):
(WebCore::LayerRendererChromium::drawStreamTexture):
(WebCore::LayerRendererChromium::drawTextureQuad):
(WebCore::LayerRendererChromium::drawHeadsUpDisplay):
(WebCore::LayerRendererChromium::initializeSharedObjects):
(WebCore::LayerRendererChromium::tileCheckerboardProgram):
(WebCore::LayerRendererChromium::solidColorProgram):
(WebCore::LayerRendererChromium::headsUpDisplayProgram):
(WebCore::LayerRendererChromium::renderSurfaceProgram):
(WebCore::LayerRendererChromium::renderSurfaceProgramAA):
(WebCore::LayerRendererChromium::renderSurfaceMaskProgram):
(WebCore::LayerRendererChromium::renderSurfaceMaskProgramAA):
(WebCore::LayerRendererChromium::tileProgram):
(WebCore::LayerRendererChromium::tileProgramOpaque):
(WebCore::LayerRendererChromium::tileProgramAA):
(WebCore::LayerRendererChromium::tileProgramSwizzle):
(WebCore::LayerRendererChromium::tileProgramSwizzleOpaque):
(WebCore::LayerRendererChromium::tileProgramSwizzleAA):
(WebCore::LayerRendererChromium::textureProgramFlip):
(WebCore::LayerRendererChromium::textureTexRectProgram):
(WebCore::LayerRendererChromium::textureTexRectProgramFlip):
(WebCore::LayerRendererChromium::videoRGBAProgram):
(WebCore::LayerRendererChromium::videoYUVProgram):
(WebCore::LayerRendererChromium::videoStreamTextureProgram):
(WebCore::LayerRendererChromium::cleanupSharedObjects):
* platform/graphics/chromium/LayerRendererChromium.h:
(WebCore):
(LayerRendererChromium):
* platform/graphics/chromium/ShaderChromium.cpp:
* platform/graphics/chromium/ShaderChromium.h:
* platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
(CCHeadsUpDisplay):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
(WebCore):
* platform/graphics/chromium/cc/CCRenderSurface.cpp:
(WebCore::CCRenderSurface::copyTextureToFramebuffer):
(WebCore::CCRenderSurface::drawLayer):
* platform/graphics/chromium/cc/CCRenderSurface.h:
(CCRenderSurface):
* platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
* platform/graphics/chromium/cc/CCTextureLayerImpl.h:
(CCTextureLayerImpl):
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
* platform/graphics/chromium/cc/CCTiledLayerImpl.h:
(CCTiledLayerImpl):
* platform/graphics/chromium/cc/CCVideoLayerImpl.h:
(WebCore):
(CCVideoLayerImpl):

Source/WebKit/chromium:

Add some includes needed by this test that were previously picked up by upstream headers.

* tests/CCLayerTreeHostImplTest.cpp:

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

8 years ago[Qt][WK2] A GraphicsSurface instance is created with every update
noam.rosenthal@nokia.com [Fri, 27 Apr 2012 03:16:32 +0000 (03:16 +0000)]
[Qt][WK2] A GraphicsSurface instance is created with every update
https://bugs.webkit.org/show_bug.cgi?id=85014

Reviewed by Kenneth Rohde Christiansen.

Keep a copy of the GraphicsSurface in the UI process, and reuse it for
subsequent updates. This ensure that the texture and other data associated
with the GraphicsSurface does not need to be reconstructed.

* Shared/ShareableSurface.h:
(Handle):
(WebKit::ShareableSurface::Handle::graphicsSurfaceToken):
* UIProcess/LayerTreeHostProxy.cpp:
(WebKit::LayerTreeHostProxy::updateTileForLayer):
* UIProcess/LayerTreeHostProxy.h:
(LayerTreeHostProxy):

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

8 years agoUnreviewed amend to bug 84873 (r115345).
tonikitoo@webkit.org [Fri, 27 Apr 2012 03:08:47 +0000 (03:08 +0000)]
Unreviewed amend to bug 84873 (r115345).

* platform/ScrollView.cpp:
(WebCore::ScrollView::scrollSize):

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

8 years ago[Chromium] Security: Autofill info can be captured by innocuous social engineering
isherman@chromium.org [Fri, 27 Apr 2012 02:44:05 +0000 (02:44 +0000)]
[Chromium] Security: Autofill info can be captured by innocuous social engineering
Prevent users from interacting with invisible popups rendered outside the main frame's contents view.
https://bugs.webkit.org/show_bug.cgi?id=84420
https://code.google.com/p/chromium/issues/detail?id=122925

Reviewed by Kent Tamura.

* src/ChromeClientImpl.cpp:
(WebKit::ChromeClientImpl::popupOpened): Hide popups rendered outside the main frame's contents view.
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::applyAutofillSuggestions): Fix up order of operations to support immediately hiding a popup if it would not be visible

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

8 years agoInvalid cast in WebCore::HTMLCollection::isAcceptableElement
jpfau@apple.com [Fri, 27 Apr 2012 02:35:47 +0000 (02:35 +0000)]
Invalid cast in WebCore::HTMLCollection::isAcceptableElement
https://bugs.webkit.org/show_bug.cgi?id=84626

Reviewed by Darin Adler.

Source/WebCore:

Check if the object is an HTMLElement before casting.

Test: fast/dom/htmlcollection-non-html.html

* html/HTMLCollection.cpp:
(WebCore::HTMLCollection::isAcceptableElement):

LayoutTests:

Add tests to make sure only HTML elements are present in most HTMLCollection objects.

* fast/dom/htmlcollection-non-html-option-expected.txt: Added.
* fast/dom/htmlcollection-non-html.html: Added.

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

8 years ago[chromium] Some background filters require inflating damage on the surface behind...
danakj@chromium.org [Fri, 27 Apr 2012 02:17:03 +0000 (02:17 +0000)]
[chromium] Some background filters require inflating damage on the surface behind them
https://bugs.webkit.org/show_bug.cgi?id=84479

Reviewed by Adrienne Walker.

Source/WebCore:

A layer with a background blur will expand the damage from pixels in the
surface below it. We extend the damage tracker to expand damage in a
surface below such layers.

Unit test: CCDamageTrackerTest.verifyDamageForBackgroundBlurredChild

* platform/graphics/chromium/cc/CCDamageTracker.cpp:
(WebCore::expandPixelOutsetsWithFilters):
(WebCore):
(WebCore::expandDamageRectInsideRectWithFilters):
(WebCore::expandDamageRectWithFilters):
(WebCore::CCDamageTracker::updateDamageTrackingState):
(WebCore::CCDamageTracker::trackDamageFromActiveLayers):
* platform/graphics/chromium/cc/CCDamageTracker.h:
(CCDamageTracker):

Source/WebKit/chromium:

* tests/CCDamageTrackerTest.cpp:
(WebKitTests::TEST_F):
(WebKitTests):

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

8 years agoImprove compositing logging output
simon.fraser@apple.com [Fri, 27 Apr 2012 01:40:10 +0000 (01:40 +0000)]
Improve compositing logging output
https://bugs.webkit.org/show_bug.cgi?id=85010

Reviewed by Dean Jackson.

In the compositing log channel output, indent the layers
based on z-order tree depth. Tabulate the summary, and
show obligate and secondary backing store area separately.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateClipRects):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::RenderLayerCompositor):
(WebCore::RenderLayerCompositor::updateCompositingLayers):
(WebCore::RenderLayerCompositor::logLayerInfo):
(WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
(WebCore::RenderLayerCompositor::updateLayerTreeGeometry):
(WebCore::RenderLayerCompositor::reasonForCompositing):
* rendering/RenderLayerCompositor.h:
(RenderLayerCompositor):

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

8 years agoREGRESSION (r115163): Unable to scroll article body with trackpad on altdevblogaday...
andersca@apple.com [Fri, 27 Apr 2012 01:38:05 +0000 (01:38 +0000)]
REGRESSION (r115163): Unable to scroll article body with trackpad on altdevblogaday.com blog post
https://bugs.webkit.org/show_bug.cgi?id=85024
<rdar://problem/11330758>

Reviewed by Sam Weinig.

Fix broken logic in canHaveScrollbars.

* page/scrolling/ScrollingTreeNode.h:
(WebCore::ScrollingTreeNode::canHaveScrollbars):

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

8 years ago[chromium] Use different CCDrawQuad types for textures vs IOSurfaces
jamesr@google.com [Fri, 27 Apr 2012 01:24:04 +0000 (01:24 +0000)]
[chromium] Use different CCDrawQuad types for textures vs IOSurfaces
https://bugs.webkit.org/show_bug.cgi?id=84811

Reviewed by Adrienne Walker.

IOSurface and texture backed layers share few properties (only the flipped bool), so it doesn't make a lot of
sense for them to use the same CCDrawQuad type for both. This splits IOSurfaces out to a dedicated quad type to
make it easier to understand which bits of state apply to each.

The logical next step after this is to split the layer type as well, but that will be awkward until bug 84808 is
resolved.

* WebCore.gypi:
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawQuad):
(WebCore::LayerRendererChromium::drawTextureQuad):
(WebCore):
(WebCore::LayerRendererChromium::drawIOSurfaceQuad):
* platform/graphics/chromium/LayerRendererChromium.h:
(LayerRendererChromium):
* platform/graphics/chromium/cc/CCDrawQuad.cpp:
(WebCore::CCDrawQuad::toIOSurfaceDrawQuad):
(WebCore):
* platform/graphics/chromium/cc/CCDrawQuad.h:
(WebCore):
(CCDrawQuad):
* platform/graphics/chromium/cc/CCIOSurfaceDrawQuad.cpp: Copied from Source/WebCore/platform/graphics/chromium/cc/CCTextureDrawQuad.cpp.
(WebCore):
(WebCore::CCIOSurfaceDrawQuad::create):
(WebCore::CCIOSurfaceDrawQuad::CCIOSurfaceDrawQuad):
* platform/graphics/chromium/cc/CCIOSurfaceDrawQuad.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCTextureDrawQuad.h.
(WebCore):
(CCIOSurfaceDrawQuad):
(WebCore::CCIOSurfaceDrawQuad::flipped):
(WebCore::CCIOSurfaceDrawQuad::ioSurfaceSize):
(WebCore::CCIOSurfaceDrawQuad::ioSurfaceTextureId):
* platform/graphics/chromium/cc/CCTextureDrawQuad.cpp:
(WebCore::CCTextureDrawQuad::create):
(WebCore::CCTextureDrawQuad::CCTextureDrawQuad):
* platform/graphics/chromium/cc/CCTextureDrawQuad.h:
(CCTextureDrawQuad):
* platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
(WebCore::CCTextureLayerImpl::appendQuads):

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

8 years agoCleanup WebMediaPlayer enum values that didn't match Chromium style guidelines
commit-queue@webkit.org [Fri, 27 Apr 2012 01:06:50 +0000 (01:06 +0000)]
Cleanup WebMediaPlayer enum values that didn't match Chromium style guidelines
https://bugs.webkit.org/show_bug.cgi?id=84998

Patch by Aaron Colwell <acolwell@chromium.org> on 2012-04-26
Reviewed by Darin Fisher.

* public/WebMediaPlayer.h:
(WebKit::WebMediaPlayer::generateKeyRequest):
(WebKit::WebMediaPlayer::addKey):
(WebKit::WebMediaPlayer::cancelKeyRequest):

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

8 years agoUse WebKit types for the cache of ObjcClass::methodsNamed()
benjamin@webkit.org [Fri, 27 Apr 2012 01:03:26 +0000 (01:03 +0000)]
Use WebKit types for the cache of ObjcClass::methodsNamed()
https://bugs.webkit.org/show_bug.cgi?id=85012

Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-04-26
Reviewed by Geoffrey Garen.

This patch redefines the method cache ObjcClass to avoid memory allocations in the case of positive match.

Instead of using the converted name as the key, the original identifier string is used. This shortcuts
all the other operations when there is a match.

A side effect is a method can appear multiple times in the cache if it is invoked with different names using
the escape character "$". An attaquer could bloat the cache with a few hundreds strings.
In the common case, having each name mapped is an improvment.

* bridge/objc/objc_class.h:
(ObjcClass):
* bridge/objc/objc_class.mm:
(JSC::Bindings::ObjcClass::ObjcClass):
(JSC::Bindings::ObjcClass::methodsNamed):

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

8 years agoAllocating WeakImpl should not trigger GC, as that makes the world very tricksy.
oliver@apple.com [Fri, 27 Apr 2012 00:51:47 +0000 (00:51 +0000)]
Allocating WeakImpl should not trigger GC, as that makes the world very tricksy.
https://bugs.webkit.org/show_bug.cgi?id=85020

Reviewed by Gavin Barraclough.

Now in the event that we are unable to find an allocator for a new handle, just
add a new allocator rather than trying to recover "dead" handles through a GC.

Find allocator is now much simpler, and addAllocator directly reports the
increased memory usage to the heap without causing any GC to happen immediately.

* heap/WeakSet.cpp:
(JSC::WeakSet::findAllocator):
(JSC::WeakSet::addAllocator):

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

8 years agoSkip the new ObjC tests for WebKit2
benjamin@webkit.org [Fri, 27 Apr 2012 00:49:59 +0000 (00:49 +0000)]
Skip the new ObjC tests for WebKit2

Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-04-26
Reviewed by Andreas Kling.

WebKitTestRunner doesn't have objCController, the new tests for
the Objective-C bindings should be skipped on WebKit2.

* platform/wk2/Skipped:

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

8 years agoDelete dead code in Arena.h/cpp
ojan@chromium.org [Fri, 27 Apr 2012 00:48:39 +0000 (00:48 +0000)]
Delete dead code in Arena.h/cpp
https://bugs.webkit.org/show_bug.cgi?id=84997

Reviewed by Eric Seidel.

Also cleaned up some style issues. Renamed some single-letter variable names.
Avoided anything other than totally trivial style changes to be 100% sure
that there is no change in behavior.

No new tests. There's no non-style code changes except inlining CLEAR_UNUSED
and CLEAR_ARENA.

* platform/Arena.cpp:
(WebCore):
(WebCore::CeilingLog2):
(WebCore::InitArenaPool):
(WebCore::ArenaAllocate):
(WebCore::FreeArenaList):
(WebCore::FinishArenaPool):
* platform/Arena.h:
(WebCore):

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

8 years agoRemove RegisterFile::end()/m_end
oliver@apple.com [Fri, 27 Apr 2012 00:07:11 +0000 (00:07 +0000)]
Remove RegisterFile::end()/m_end
https://bugs.webkit.org/show_bug.cgi?id=85011

Reviewed by Gavin Barraclough.

Source/JavaScriptCore:

Get rid of end() and m_end from RegisterFile.  From now on
we only care about the end of the committed region when calling
code.  When re-entering the VM we now plant the new CallFrame
immediately after whatever the current topCallFrame is.  This
required adding a routine to CallFrame to determine exactly what
we should be doing (in the absence of an existing CallFrame, we
can't reason about the frameExtent() so we check for that).

This also now means that the GC only marks the portion of the
RegisterFile that is actually in use, and that VM re-entry doesn't
exhaust the RegisterFile as rapidly.

* dfg/DFGOperations.cpp:
* heap/Heap.cpp:
(JSC::Heap::getConservativeRegisterRoots):
(JSC::Heap::markRoots):
* interpreter/CallFrame.h:
(JSC::ExecState::init):
(JSC::ExecState::startOfReusableRegisterFile):
(ExecState):
* interpreter/Interpreter.cpp:
(JSC::Interpreter::execute):
(JSC::Interpreter::executeCall):
(JSC::Interpreter::executeConstruct):
(JSC::Interpreter::prepareForRepeatCall):
(JSC::Interpreter::privateExecute):
* interpreter/Interpreter.h:
(JSC::Interpreter::execute):
* interpreter/RegisterFile.cpp:
(JSC::RegisterFile::growSlowCase):
(JSC::RegisterFile::gatherConservativeRoots):
* interpreter/RegisterFile.h:
(JSC::RegisterFile::commitEnd):
(JSC::RegisterFile::addressOfEnd):
(RegisterFile):
(JSC::RegisterFile::RegisterFile):
(JSC::RegisterFile::shrink):
(JSC::RegisterFile::grow):
* jit/JITStubs.cpp:
(JSC::DEFINE_STUB_FUNCTION):
(JSC::jitCompileFor):
(JSC::lazyLinkFor):
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
(JSC::LLInt::handleHostCall):
* llint/LowLevelInterpreter.asm:
* runtime/CommonSlowPaths.h:
(JSC::CommonSlowPaths::arityCheckFor):

LayoutTests:

Now that we recurse on the top of the used portion of the stack we
can provide an error message even when the stack is completely full.

Also made sure we were consistent in which callframe we used when
creating stack overflow errors.

* fast/js/global-recursion-on-full-stack-expected.txt:
* fast/js/stack-trace-expected.txt:

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

8 years agoSource/WebCore: Re-implement backFaceVisibility to avoid dealing with perspective...
shawnsingh@chromium.org [Fri, 27 Apr 2012 00:00:27 +0000 (00:00 +0000)]
Source/WebCore: Re-implement backFaceVisibility to avoid dealing with perspective w < 0 problem
https://bugs.webkit.org/show_bug.cgi?id=84059

Reviewed by Adrienne Walker.

Unit tests added to CCMathUtilTest.cpp.

This patch changes the implementation of backFaceIsVisible so that
it doesn't need to deal with the w < 0 problem from of perspective
projections. Instead, it is equally correct to simply use the
inverse-transpose of the matrix, and quickly check the third row,
third column element. Additionally, it was appropriate to move
this function into TransformationMatrix itself.

Making this change fixes some issues related to disappearing
layers in Chromium (where the compositor incorrectly thought that
the back face was visible, and skipped the layer).

* platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
(WebCore::calculateVisibleLayerRect):
(WebCore::layerShouldBeSkipped):
* platform/graphics/transforms/TransformationMatrix.cpp:
(WebCore::TransformationMatrix::isBackFaceVisible):
(WebCore):
* platform/graphics/transforms/TransformationMatrix.h:
(TransformationMatrix):

Source/WebKit/chromium: [chromium] re-implement backFaceVisibility to avoid dealing with perspective w<0 problem
https://bugs.webkit.org/show_bug.cgi?id=84059

Reviewed by Adrienne Walker.

* WebKit.gypi:
* tests/CCMathUtilTest.cpp: Added.
(WebCore):
(WebCore::TEST):

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

8 years ago[Cairo] Wrap cairo surfaces in a class when storing native images
mrobinson@webkit.org [Thu, 26 Apr 2012 23:03:06 +0000 (23:03 +0000)]
[Cairo] Wrap cairo surfaces in a class when storing native images
https://bugs.webkit.org/show_bug.cgi?id=83611

Reviewed by Alejandro G. Castro.

Source/WebCore:

No new tests. This is just a refactoring. This shouldn't change
functionality.

Added class that wraps Cairo images surfaces to serve as the "native image"
type for the Cairo platform. This will allow the addition of caching resampled
images as well as versions of the image for non-image Cairo backends. Also
split out BitmapImageCairo.cpp from ImageCairo.cpp since these classes are
defined in two headers.

* GNUmakefile.list.am: Added new files.
* platform/graphics/BitmapImage.h: Added a factory method that takes an image surface to
reduce code churn.
* platform/graphics/ImageSource.h: NativeImagePtr is now NativeImageCairo*.
(WebCore):
* platform/graphics/cairo/BitmapImageCairo.cpp: Copied from Source/WebCore/platform/graphics/cairo/ImageCairo.cpp.
* platform/graphics/cairo/GraphicsContext3DCairo.cpp: Updated to reflect use of NativeImageCairo.
* platform/graphics/cairo/ImageCairo.cpp: Ditto.
* platform/graphics/cairo/NativeImageCairo.cpp: Added.
* platform/graphics/cairo/NativeImageCairo.h: Added.
* platform/graphics/cairo/PatternCairo.cpp: Updated to reflect use of NativeImageCairo.
* platform/graphics/gtk/ImageGtk.cpp: Ditto.
* platform/image-decoders/cairo/ImageDecoderCairo.cpp: Ditto.

Source/WebKit/efl:

* ewk/ewk_history.cpp: Updated to reflect addition of NativeImageCario.
* ewk/ewk_settings.cpp: Ditto.

Source/WebKit2:

* Shared/gtk/ArgumentCodersGtk.cpp: Updated to reflect the addition of NativeImageCairo.

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

8 years ago[GTK] Massive media tests failures since r115288
mhahnenberg@apple.com [Thu, 26 Apr 2012 22:53:35 +0000 (22:53 +0000)]
[GTK] Massive media tests failures since r115288
https://bugs.webkit.org/show_bug.cgi?id=84950

Reviewed by Filip Pizlo.

No new tests.

Since the "cross-platform" WebCore timer is at too high of a level in terms of the layers
of WebKit for JSC to use, we are not currently able to use it in JSC, thus only those
platforms that support CoreFoundation can currently take advantage of the new and improved
GC activity timer. We've restored the old code paths for those platforms that don't have
CF so that they will at least have the same behavior as before when calling garbageCollectSoon.

* bindings/js/GCController.cpp: Added back the old WebCore timer along with some
if-defs that do away with the WebCore timer on platforms that support CoreFoundation.
(WebCore::GCController::GCController):
(WebCore::GCController::garbageCollectSoon):
(WebCore):
(WebCore::GCController::gcTimerFired):
* bindings/js/GCController.h: Ditto.
(GCController):

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

8 years agoUnreviewed gardening
tomz@codeaurora.org [Thu, 26 Apr 2012 22:42:48 +0000 (22:42 +0000)]
Unreviewed gardening

* platform/qt/test_expectations.txt:

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

8 years agoDon't include V8Proxy.h in ScriptValue.h when V8GCController is all that's required
adamk@chromium.org [Thu, 26 Apr 2012 22:36:34 +0000 (22:36 +0000)]
Don't include V8Proxy.h in ScriptValue.h when V8GCController is all that's required
https://bugs.webkit.org/show_bug.cgi?id=84986

Reviewed by Kentaro Hara.

This makes it easier to include ScriptValue.h since it greatly reduces
that header's dependencies.

* bindings/v8/ScriptValue.h: Changed to include just V8GCController.h and
removed comment which is redundant with explicit V8GCController references nearby.

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

8 years agoSource/WebCore: Fix missing sourceState change on MEDIA_ERR_SOURCE_NOT_SUPPORTED...
commit-queue@webkit.org [Thu, 26 Apr 2012 22:34:15 +0000 (22:34 +0000)]
Source/WebCore: Fix missing sourceState change on MEDIA_ERR_SOURCE_NOT_SUPPORTED error.
https://bugs.webkit.org/show_bug.cgi?id=84996

Patch by Aaron Colwell <acolwell@chromium.org> on 2012-04-26
Reviewed by Eric Carlson.

No new tests. http/tests/media/media-source/webm/video-media-source-errors.html was updated to verify that webkitSourceState is always SOURCE_CLOSED when the onerror event fires.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::noneSupported):

LayoutTests: Updating MediaSource layout test to verify that webkitSourceState is always
SOURCE_CLOSED when an error occurs.

Minor style fixes and informative console messages were also added.
https://bugs.webkit.org/show_bug.cgi?id=84996

Patch by Aaron Colwell <acolwell@chromium.org> on 2012-04-26
Reviewed by Eric Carlson.

* http/tests/media/media-source/webm/video-media-source-errors-expected.txt:
* http/tests/media/media-source/webm/video-media-source-errors.html:

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

8 years agoCache parsed stylesheets
antti@apple.com [Thu, 26 Apr 2012 22:26:35 +0000 (22:26 +0000)]
Cache parsed stylesheets
https://bugs.webkit.org/show_bug.cgi?id=85004

Reviewed by Andreas Kling.

CSS parsing is 1-2% of WebKit CPU usage on average pages, more on sites with large stylesheets.
We currently reparse all stylesheets from source text when they are encountered again. In many
browsing scenarios we can eliminate lot of this by caching the parsed stylesheets. For example
it is very common for subpages of a site to share the stylesheets.

This patch enables memory caching for stylesheet loaded using the <link> element. Only stylesheets
that have no import rules are cacheable for now.

Cached stylesheets are copied on restore so there is no sharing (and no memory wins) yet.
In the future we will also be able to share the actual data structures between pages for
significant memory savings.

After browsing around for a while <5% of the memory cache data was in parsed stylesheets so this
does not bloat the cache significantly.

* css/CSSStyleSheet.cpp:
(WebCore):
(WebCore::StyleSheetInternal::estimatedSizeInBytes):

    Estimate stylesheet size so we can handle decoded data pruning correctly.

* css/CSSStyleSheet.h:
(StyleSheetInternal):
* css/StylePropertySet.cpp:
(WebCore::StylePropertySet::averageSizeInBytes):
(WebCore):
* css/StylePropertySet.h:
(StylePropertySet):
* css/StyleRule.cpp:
(WebCore::StyleRule::averageSizeInBytes):
(WebCore):
* css/StyleRule.h:
(StyleRule):
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::setCSSStyleSheet):

    Save and restore parsed stylesheet. The current CSS parse context must be identical to the cached
    stylesheets. This ensures that the parsing results would be identical.

* loader/cache/CachedCSSStyleSheet.cpp:
(WebCore):
(WebCore::CachedCSSStyleSheet::destroyDecodedData):
(WebCore::CachedCSSStyleSheet::restoreParsedStyleSheet):
(WebCore::CachedCSSStyleSheet::saveParsedStyleSheet):
* loader/cache/CachedCSSStyleSheet.h:

    The parsed stylesheet cache is considered decoded data, similar to the image bitmaps. It uses the
    same mechanism for pruning.

(WebCore):
(CachedCSSStyleSheet):

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

8 years agonrwt: clean up server process, webkit driver so chromium can use it
dpranke@chromium.org [Thu, 26 Apr 2012 22:10:07 +0000 (22:10 +0000)]
nrwt: clean up server process, webkit driver so chromium can use it
https://bugs.webkit.org/show_bug.cgi?id=84910

Reviewed by Ojan Vafai.

This change moves the "sample a process" logic out of
server_process.py and into a port-specific class (where really
only the mac has an implementation), and also preemptively kills
DRT when a test times out in WebKitDriver (rather than waiting through the
additional delays caused by calling stop() when we would want to
restart the driver generically in worker.py).

These changes will make it possible for the chromium port to
switch over to the stock WebKitDriver implementation, at least
on mac and linux.

* Scripts/webkitpy/layout_tests/port/base.py:
(Port.sample_process):
* Scripts/webkitpy/layout_tests/port/mac.py:
(MacPort.sample_process):
* Scripts/webkitpy/layout_tests/port/mac_unittest.py:
(test_helper_fails_to_stop):
(test_sample_process):
(test_sample_process.logging_run_command):
(test_sample_process_throws_exception):
(test_sample_process_throws_exception.throwing_run_command):
* Scripts/webkitpy/layout_tests/port/server_process.py:
(ServerProcess._log):
(ServerProcess._handle_timeout):
(ServerProcess.stop):
(ServerProcess):
(ServerProcess.kill): Here we add a method to immediately stop
the process rather than trying to shut it down cleanly.
* Scripts/webkitpy/layout_tests/port/server_process_unittest.py:
(TestServerProcess.test_broken_pipe):
* Scripts/webkitpy/layout_tests/port/webkit.py:
(WebKitDriver.run_test): Fix an issue where we weren't passing
along any per-test args (only needed for Chromium, but still).
Also, kill the driver immediately if we time out a test.

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

8 years agoA TileCache should never outlive its WebTileCacheLayer
andersca@apple.com [Thu, 26 Apr 2012 22:03:37 +0000 (22:03 +0000)]
A TileCache should never outlive its WebTileCacheLayer
https://bugs.webkit.org/show_bug.cgi?id=85008
<rdar://problem/11141172>

Reviewed by Andreas Kling.

Since WebTileCacheLayer objects can be destroyed on the scrolling thread, make sure to delete the TileCache layer
when the PlatformCALayer is destroyed. This fixes a crash when the tile revalidation timer fires after the WebTileCacheLayer has
been destroyed, but before the TileCache itself has been destroyed.

* platform/graphics/ca/mac/PlatformCALayerMac.mm:
(PlatformCALayer::~PlatformCALayer):
* platform/graphics/ca/mac/WebTileCacheLayer.h:
* platform/graphics/ca/mac/WebTileCacheLayer.mm:
(-[WebTileCacheLayer dealloc]):
(-[WebTileCacheLayer invalidate]):

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

8 years agoUse String instead of RefPtr<StringImpl> for the cache of ObjcClass
benjamin@webkit.org [Thu, 26 Apr 2012 21:56:23 +0000 (21:56 +0000)]
Use String instead of RefPtr<StringImpl> for the cache of ObjcClass
https://bugs.webkit.org/show_bug.cgi?id=84932

Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-04-26
Reviewed by Andreas Kling.

The cache with RefPtr<StringImpl*> was added with r115007.

This patch aims at making the code a little easier to read. By using String,
one would not need to know the Traits for StringImpl.

* bridge/objc/objc_class.h:
(ObjcClass):

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

8 years ago[V8] Pass Isolate to wrap() in SerializedScriptValue.cpp
haraken@chromium.org [Thu, 26 Apr 2012 21:53:18 +0000 (21:53 +0000)]
[V8] Pass Isolate to wrap() in SerializedScriptValue.cpp
https://bugs.webkit.org/show_bug.cgi?id=84923

Reviewed by Nate Chapin.

The objective is to pass Isolate around in V8 bindings.
In this bug we pass Isolate to wrap() in SerializedScriptValue.cpp.

No tests. No change in behavior.

* bindings/v8/SerializedScriptValue.cpp:

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

8 years ago[chromium] Complex text support for Android.
commit-queue@webkit.org [Thu, 26 Apr 2012 21:51:00 +0000 (21:51 +0000)]
[chromium] Complex text support for Android.
https://bugs.webkit.org/show_bug.cgi?id=84431

Complex text support is different on Android from other platforms.
There are 2 kinds of font on Android: system fonts and fallback fonts.
System fonts have a name, and are accessible in FontPlatformData.
Fallback fonts do not have specific names, so they are not accessible
from WebKit directly. There is one font for each script support.
To feed Harfbuzz, use a trick to get correct SkTypeface based on script.

Patch by Hao Zheng <zhenghao@chromium.org> on 2012-04-26
Reviewed by Tony Chang.

No new tests. Current tests are runnable on Android.

* platform/graphics/FontCache.h:
(FontCache): Make ComplexTextController friend of FontCache on Android.
* platform/graphics/chromium/FontCacheAndroid.cpp:
(WebCore::FontCache::createFontPlatformData):
* platform/graphics/harfbuzz/ComplexTextControllerHarfBuzz.cpp:
(WebCore::ComplexTextController::getComplexFontPlatformData):
(WebCore):
(WebCore::ComplexTextController::setupFontForScriptRun):
* platform/graphics/harfbuzz/ComplexTextControllerHarfBuzz.h:
(ComplexTextController):

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

8 years ago[V8] Pass Isolate to wrap() (Part2)
haraken@chromium.org [Thu, 26 Apr 2012 21:40:14 +0000 (21:40 +0000)]
[V8] Pass Isolate to wrap() (Part2)
https://bugs.webkit.org/show_bug.cgi?id=84922

Reviewed by Nate Chapin.

The objective is to pass Isolate around in V8 bindings.
This patch passes Isolate to wrap() in custom bindings.

No tests. No change in behavior.

* bindings/v8/custom/V8LocationCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8NamedNodeMapCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8SVGPathSegCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8StyleSheetCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8Uint16ArrayCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8Uint32ArrayCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8Uint8ArrayCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8Uint8ClampedArrayCustom.cpp:
(WebCore::toV8):

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

8 years agoRemove Chromium test expectation after r115244.
rniwa@webkit.org [Thu, 26 Apr 2012 21:37:42 +0000 (21:37 +0000)]
Remove Chromium test expectation after r115244.

* platform/chromium/test_expectations.txt:

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

8 years ago[WK2] AlternativeTextClient leaks when the page is destroyed
jonlee@apple.com [Thu, 26 Apr 2012 21:35:34 +0000 (21:35 +0000)]
[WK2] AlternativeTextClient leaks when the page is destroyed
https://bugs.webkit.org/show_bug.cgi?id=84307
<rdar://problem/11328431>

Reviewed by Enrica Casucci.

Source/WebCore:

* page/AlternativeTextClient.h: Add pageDestroyed() call, as in EditorClient.
(AlternativeTextClient):
* page/Page.cpp:
(WebCore::Page::~Page): When the page is destroyed, notify the client if it exists.

Source/WebKit/mac:

* WebCoreSupport/WebAlternativeTextClient.h: Implement pageDestroyed(), as in EditorClient.
(WebAlternativeTextClient):
* WebCoreSupport/WebAlternativeTextClient.mm:
(WebAlternativeTextClient::pageDestroyed): Deletes itself.

Source/WebKit2:

* WebProcess/WebCoreSupport/WebAlternativeTextClient.h: Implement pageDestroyed(), as in EditorClient.
(WebAlternativeTextClient):
* WebProcess/WebCoreSupport/mac/WebAlternativeTextClient.cpp:
(WebKit::WebAlternativeTextClient::pageDestroyed): Deletes itself.

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

8 years agoFull Screen mode does not preserve CALayer ordering after exiting.
jer.noble@apple.com [Thu, 26 Apr 2012 21:29:05 +0000 (21:29 +0000)]
Full Screen mode does not preserve CALayer ordering after exiting.
https://bugs.webkit.org/show_bug.cgi?id=83931

Reviewed by Eric Carlson.

Further corrections to r114567. When swapping view for otherView, give the correct
relative view to -[NSView addSubview:positioned:relativeTo:].

Source/WebKit/mac:

* WebView/WebFullScreenController.mm:
(-[WebFullScreenController _swapView:with:]):

Source/WebKit2:

* UIProcess/mac/WKFullScreenWindowController.mm:
(-[WKFullScreenWindowController _swapView:with:]):

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

8 years agoIntegrate IETC CSS : multicolumn tests
tomz@codeaurora.org [Thu, 26 Apr 2012 21:27:42 +0000 (21:27 +0000)]
Integrate IETC CSS : multicolumn tests
https://bugs.webkit.org/show_bug.cgi?id=84784

Patch by Dave Tharp <dtharp@codeaurora.org> on 2012-04-26
Reviewed by Beth Dakin.

Adding IETC CSS Multicolumn tests along with corresponding reference tests.
Failures are noted in port-specific test_expectations.txt.

* ietestcenter/css3/multicolumn/column-block-formatting-context-001-expected.htm: Added.
* ietestcenter/css3/multicolumn/column-block-formatting-context-001.htm: Added.
* ietestcenter/css3/multicolumn/column-containing-block-001-expected.htm: Added.
* ietestcenter/css3/multicolumn/column-containing-block-001.htm: Added.
* ietestcenter/css3/multicolumn/column-containing-block-002-expected.htm: Added.
* ietestcenter/css3/multicolumn/column-containing-block-002.htm: Added.
* ietestcenter/css3/multicolumn/column-containing-block-003-expected.htm: Added.
* ietestcenter/css3/multicolumn/column-containing-block-003.htm: Added.
* ietestcenter/css3/multicolumn/column-filling-001-expected.htm: Added.
* ietestcenter/css3/multicolumn/column-filling-001.htm: Added.
* ietestcenter/css3/multicolumn/column-width-applies-to-001-expected.htm: Added.
* ietestcenter/css3/multicolumn/column-width-applies-to-001.htm: Added.
* ietestcenter/css3/multicolumn/column-width-applies-to-002-expected.htm: Added.
* ietestcenter/css3/multicolumn/column-width-applies-to-002.htm: Added.
* ietestcenter/css3/multicolumn/column-width-applies-to-003-expected.htm: Added.
* ietestcenter/css3/multicolumn/column-width-applies-to-003.htm: Added.
* ietestcenter/css3/multicolumn/column-width-applies-to-004-expected.htm: Added.
* ietestcenter/css3/multicolumn/column-width-applies-to-004.htm: Added.
* ietestcenter/css3/multicolumn/column-width-applies-to-005-expected.htm: Added.
* ietestcenter/css3/multicolumn/column-width-applies-to-005.htm: Added.
* ietestcenter/css3/multicolumn/column-width-applies-to-006-expected.htm: Added.
* ietestcenter/css3/multicolumn/column-width-applies-to-006.htm: Added.
* ietestcenter/css3/multicolumn/column-width-applies-to-007-expected.htm: Added.
* ietestcenter/css3/multicolumn/column-width-applies-to-007.htm: Added.
* ietestcenter/css3/multicolumn/column-width-applies-to-008-expected.htm: Added.
* ietestcenter/css3/multicolumn/column-width-applies-to-008.htm: Added.
* ietestcenter/css3/multicolumn/column-width-applies-to-009-expected.htm: Added.
* ietestcenter/css3/multicolumn/column-width-applies-to-009.htm: Added.
* ietestcenter/css3/multicolumn/column-width-applies-to-010-expected.htm: Added.
* ietestcenter/css3/multicolumn/column-width-applies-to-010.htm: Added.
* ietestcenter/css3/multicolumn/column-width-applies-to-012-expected.htm: Added.
* ietestcenter/css3/multicolumn/column-width-applies-to-012.htm: Added.
* ietestcenter/css3/multicolumn/column-width-applies-to-013-expected.htm: Added.
* ietestcenter/css3/multicolumn/column-width-applies-to-013.htm: Added.
* ietestcenter/css3/multicolumn/column-width-applies-to-014-expected.htm: Added.
* ietestcenter/css3/multicolumn/column-width-applies-to-014.htm: Added.
* ietestcenter/css3/multicolumn/column-width-applies-to-015-expected.htm: Added.
* ietestcenter/css3/multicolumn/column-width-applies-to-015.htm: Added.
* ietestcenter/css3/multicolumn/column-width-negative-001-expected.htm: Added.
* ietestcenter/css3/multicolumn/column-width-negative-001.htm: Added.
* ietestcenter/css3/multicolumn/column-width-percentage-001-expected.htm: Added.
* ietestcenter/css3/multicolumn/column-width-percentage-001.htm: Added.
* platform/chromium/test_expectations.txt:
* platform/efl/test_expectations.txt:
* platform/gtk/test_expectations.txt:
* platform/mac/test_expectations.txt:
* platform/qt/test_expectations.txt:

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

8 years ago[V8] Pass Isolate to wrap() (Part1)
haraken@chromium.org [Thu, 26 Apr 2012 21:25:02 +0000 (21:25 +0000)]
[V8] Pass Isolate to wrap() (Part1)
https://bugs.webkit.org/show_bug.cgi?id=84921

Reviewed by Nate Chapin.

The objective is to pass Isolate around in V8 bindings.
This patch passes Isolate to wrap() in custom bindings.

No tests. No change in behavior.

* bindings/v8/custom/V8BlobCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8CSSRuleCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8CSSStyleSheetCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8CSSValueCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8DOMStringMapCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8DOMTokenListCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8DataViewCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8EventCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8Float32ArrayCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8Float64ArrayCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8HTMLCollectionCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8ImageDataCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8Int16ArrayCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8Int32ArrayCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8Int8ArrayCustom.cpp:
(WebCore::toV8):

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

8 years ago[EFL] Unreviewed gardening.
rakuco@webkit.org [Thu, 26 Apr 2012 21:24:50 +0000 (21:24 +0000)]
[EFL] Unreviewed gardening.

Update expectations in security/ after r115294.

* platform/efl/security/block-test-expected.txt:
* platform/efl/security/block-test-no-port-expected.txt:

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

8 years agoDFG ARMv7 backend should optimize Float32 arrays
fpizlo@apple.com [Thu, 26 Apr 2012 21:21:56 +0000 (21:21 +0000)]
DFG ARMv7 backend should optimize Float32 arrays
https://bugs.webkit.org/show_bug.cgi?id=85000
<rdar://problem/10652827>

Reviewed by Gavin Barraclough.

* assembler/ARMv7Assembler.h:
(ARMv7Assembler):
(JSC::ARMv7Assembler::flds):
(JSC::ARMv7Assembler::fsts):
(JSC::ARMv7Assembler::vcvtds):
(JSC::ARMv7Assembler::vcvtsd):
* assembler/MacroAssemblerARMv7.h:
(JSC::MacroAssemblerARMv7::loadFloat):
(MacroAssemblerARMv7):
(JSC::MacroAssemblerARMv7::storeFloat):
(JSC::MacroAssemblerARMv7::convertFloatToDouble):
(JSC::MacroAssemblerARMv7::convertDoubleToFloat):
* bytecode/PredictedType.h:
(JSC::isActionableFloatMutableArrayPrediction):
* dfg/DFGNode.h:
(JSC::DFG::Node::shouldSpeculateFloat32Array):

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

8 years ago[Chromium] Remove expectation of failure for a fixed test.
dglazkov@chromium.org [Thu, 26 Apr 2012 21:15:23 +0000 (21:15 +0000)]
[Chromium] Remove expectation of failure for a fixed test.

* platform/chromium/test_expectations.txt: Now passing.

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

8 years agoUnreviewed gardening, remove tests that now pass from test_expectations.txt
eric.carlson@apple.com [Thu, 26 Apr 2012 21:12:12 +0000 (21:12 +0000)]
Unreviewed gardening, remove tests that now pass from test_expectations.txt

* platform/mac/test_expectations.txt:

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

8 years agoAdd a test for crash in DOMSelection::deleteFromDocument
rniwa@webkit.org [Thu, 26 Apr 2012 21:10:22 +0000 (21:10 +0000)]
Add a test for crash in DOMSelection::deleteFromDocument
https://bugs.webkit.org/show_bug.cgi?id=84991

Reviewed by Alexey Proskuryakov.

Add a test for the bug 44153 (fixed in r65587).

* editing/selection/deleteFromDocument-after-document-open-crash-expected.txt: Added.
* editing/selection/deleteFromDocument-after-document-open-crash.html: Added.

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

8 years agoVersioning.
lforschler@apple.com [Thu, 26 Apr 2012 21:08:22 +0000 (21:08 +0000)]
Versioning.

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

8 years agoObjcClass::methodsNamed() can leak if buffer is dynamically allocated
benjamin@webkit.org [Thu, 26 Apr 2012 21:07:56 +0000 (21:07 +0000)]
ObjcClass::methodsNamed() can leak if buffer is dynamically allocated
https://bugs.webkit.org/show_bug.cgi?id=84668

Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-04-26
Reviewed by Alexey Proskuryakov.

Source/WebCore:

Change ObjcClass::methodsNamed() to be based on a vector instead of managing
the memory manually.

Tests: platform/mac/plugins/bindings-objc-long-method-name.html
       platform/mac/plugins/bindings-objc-method-name-conversion.html

* bridge/objc/objc_class.mm:
(Bindings):
(JSC::Bindings::convertJSMethodNameToObjc):
(JSC::Bindings::ObjcClass::methodsNamed):

Tools:

Extend ObjCPlugin to support the new layout tests of the Objective-C bridge.

* DumpRenderTree/mac/ObjCPlugin.m:
(+[ObjCPlugin isSelectorExcludedFromWebScript:]):
(+[ObjCPlugin webScriptNameForSelector:]):
(-[ObjCPlugin methodMappedToLongName]):
(-[ObjCPlugin testConversionColon:]):
(-[ObjCPlugin _:]):

LayoutTests:

Extend the test coverage to accessor with very long name. Add coverage for the
JavaScript to Objective-C method name conversion.

* platform/mac/plugins/bindings-objc-long-method-name-expected.txt: Added.
* platform/mac/plugins/bindings-objc-long-method-name.html: Added.
* platform/mac/plugins/bindings-objc-method-name-conversion-expected.txt: Added.
* platform/mac/plugins/bindings-objc-method-name-conversion.html: Added.

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

8 years ago[Chromium] media/video-currentTime-set.html is flaky
dglazkov@chromium.org [Thu, 26 Apr 2012 21:01:35 +0000 (21:01 +0000)]
[Chromium] media/video-currentTime-set.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=85003

* platform/chromium/test_expectations.txt: Added expectation of flakiness.

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

8 years ago[Chromium] Single buffered canvas layers with the threaded compositor
jamesr@google.com [Thu, 26 Apr 2012 20:58:08 +0000 (20:58 +0000)]
[Chromium] Single buffered canvas layers with the threaded compositor
https://bugs.webkit.org/show_bug.cgi?id=80540

Patch by Justin Novosad <junov@chromium.org> on 2012-04-26
Reviewed by James Robinson.

Source/WebCore:

Tests:
CCLayerTreeHostTestWriteLayersRedraw
CCLayerTreeHostTestWriteLayersAfterVisible
Canvas2DLayerChromiumTest.testFullLifecycleSingleThreadDeferred
Canvas2DLayerChromiumTest.testFullLifecycleThreadDeferred
CCSchedulerTest.VisibilitySwitchWithTextureAcquisition
CCSchedulerTest.TextureAcquisitionCollision

Disable double buffering and rate limiting on accelerated canvas
when the threaded compositor and deferred canvas are enabled.
Concurrent access to the layer texture by the main renderer thread and
the compositor thread is avoided by enforcing a lock. The state of the
lock is maintained by CCSchedulerStateMachine. Write access by the main
thread is acquired through a signal round trip to the compositor thread,
which may block the main thread in the event that one or more committed
layers need to be protected until the compositor completes the requested
draw. Draws on the impl thread are cancelled if the main thread has
obtained write access to the texture.  The write access is relinquished
by the main thread upon commit completion.  The scheduler state machine
is responsible for preventing the texture lock from causing deadlocks by
detecting and resolving problematic states.

* platform/graphics/chromium/Canvas2DLayerChromium.cpp:
(WebCore::Canvas2DLayerChromium::create):
(WebCore::Canvas2DLayerChromium::Canvas2DLayerChromium):
(WebCore::Canvas2DLayerChromium::~Canvas2DLayerChromium):
(WebCore::Canvas2DLayerChromium::drawingIntoImplThreadTexture):
(WebCore):
(WebCore::Canvas2DLayerChromium::setTextureId):
(WebCore::Canvas2DLayerChromium::setNeedsDisplayRect):
(WebCore::Canvas2DLayerChromium::update):
(WebCore::Canvas2DLayerChromium::layerWillDraw):
(WebCore::Canvas2DLayerChromium::pushPropertiesTo):
* platform/graphics/chromium/Canvas2DLayerChromium.h:
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::acquireLayerTextures):
(WebCore):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(CCLayerTreeHost):
* platform/graphics/chromium/cc/CCProxy.h:
(CCProxy):
* platform/graphics/chromium/cc/CCScheduler.cpp:
(WebCore::CCScheduler::setMainThreadNeedsLayerTextures):
(WebCore):
(WebCore::CCScheduler::processScheduledActions):
* platform/graphics/chromium/cc/CCScheduler.h:
(CCSchedulerClient):
(CCScheduler):
* platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
(WebCore::CCSchedulerStateMachine::CCSchedulerStateMachine):
(WebCore::CCSchedulerStateMachine::drawSuspendedUntilCommit):
(WebCore):
(WebCore::CCSchedulerStateMachine::scheduledToDraw):
(WebCore::CCSchedulerStateMachine::shouldDraw):
(WebCore::CCSchedulerStateMachine::shouldAcquireLayerTexturesForMainThread):
(WebCore::CCSchedulerStateMachine::nextAction):
(WebCore::CCSchedulerStateMachine::updateState):
(WebCore::CCSchedulerStateMachine::setMainThreadNeedsLayerTextures):
* platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
(CCSchedulerStateMachine):
* platform/graphics/chromium/cc/CCSingleThreadProxy.h:
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::CCThreadProxy):
(WebCore::CCThreadProxy::beginFrame):
(WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):
(WebCore):
(WebCore::CCThreadProxy::acquireLayerTextures):
(WebCore::CCThreadProxy::acquireLayerTexturesForMainThreadOnImplThread):
(WebCore::CCThreadProxy::scheduledActionAcquireLayerTexturesForMainThread):
* platform/graphics/chromium/cc/CCThreadProxy.h:
(CCThreadProxy):
* platform/graphics/skia/ImageBufferSkia.cpp:
(WebCore):
(WebCore::AcceleratedDeviceContext::AcceleratedDeviceContext):
(WebCore::AcceleratedDeviceContext::prepareForDraw):
(AcceleratedDeviceContext):
(WebCore::createAcceleratedCanvas):
(WebCore::ImageBuffer::context):

Source/WebKit/chromium:

* tests/CCLayerTreeHostTest.cpp:
(WTF::CCLayerTreeHostTest::AcquireLayerTextures):
(CCLayerTreeHostTest):
(WTF::CCLayerTreeHostTest::dispatchAcquireLayerTextures):
(WTF::TEST_F):
(WTF):
(CCLayerTreeHostTestWriteLayersRedraw):
(WTF::CCLayerTreeHostTestWriteLayersRedraw::CCLayerTreeHostTestWriteLayersRedraw):
(WTF::CCLayerTreeHostTestWriteLayersRedraw::beginTest):
(WTF::CCLayerTreeHostTestWriteLayersRedraw::drawLayersOnCCThread):
(WTF::CCLayerTreeHostTestWriteLayersRedraw::commitCompleteOnCCThread):
(WTF::CCLayerTreeHostTestWriteLayersRedraw::afterTest):
(CCLayerTreeHostTestWriteLayersAfterVisible):
(WTF::CCLayerTreeHostTestWriteLayersAfterVisible::CCLayerTreeHostTestWriteLayersAfterVisible):
(WTF::CCLayerTreeHostTestWriteLayersAfterVisible::beginTest):
(WTF::CCLayerTreeHostTestWriteLayersAfterVisible::commitCompleteOnCCThread):
(WTF::CCLayerTreeHostTestWriteLayersAfterVisible::afterTest):
* tests/CCSchedulerTest.cpp:
(WebKitTests::TEST):
(WebKitTests):
* tests/Canvas2DLayerChromiumTest.cpp:
(Canvas2DLayerChromiumTest::fullLifecycleTest):

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

8 years agoUnreviewed, rolling out r115342.
robert@webkit.org [Thu, 26 Apr 2012 20:53:53 +0000 (20:53 +0000)]
Unreviewed, rolling out r115342.
http://trac.webkit.org/changeset/115342

r115340 was rolled out

* platform/qt/test_expectations.txt:

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

8 years agoUnreviewed, rolling out r115349.
dglazkov@chromium.org [Thu, 26 Apr 2012 20:50:25 +0000 (20:50 +0000)]
Unreviewed, rolling out r115349.
http://trac.webkit.org/changeset/115349

Patch that required this change was reverted.

* platform/chromium/test_expectations.txt:

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

8 years agoUnreviewed, rolling out r115340.
dglazkov@chromium.org [Thu, 26 Apr 2012 20:47:23 +0000 (20:47 +0000)]
Unreviewed, rolling out r115340.
http://trac.webkit.org/changeset/115340
https://bugs.webkit.org/show_bug.cgi?id=83048

Does not work with Windows.

Tools:

* Scripts/webkitpy/layout_tests/controllers/single_test_runner.py:
(SingleTestRunner._run_reftest):
* Scripts/webkitpy/layout_tests/controllers/test_result_writer.py:
(copy_file):
* Scripts/webkitpy/layout_tests/port/base.py:
(Port._parse_reftest_list):
(Port.reference_files):
(Port._real_tests):
* Scripts/webkitpy/layout_tests/port/base_unittest.py:
(PortTest.test_reference_files):
* Scripts/webkitpy/layout_tests/port/chromium_unittest.py:
(ChromiumDriverTest.test_write_command_and_read_line):

LayoutTests:

* css2.1/20110323/abspos-containing-block-initial-004-ref-expected.png: Added.
* css2.1/20110323/abspos-containing-block-initial-004-ref-expected.txt: Added.
* css2.1/20110323/abspos-containing-block-initial-004a-expected.png: Added.
* css2.1/20110323/abspos-containing-block-initial-004a-expected.txt: Added.
* css2.1/20110323/abspos-containing-block-initial-004b-expected.png: Added.
* css2.1/20110323/abspos-containing-block-initial-004b-expected.txt: Added.
* css2.1/20110323/abspos-containing-block-initial-004c-expected.png: Added.
* css2.1/20110323/abspos-containing-block-initial-004c-expected.txt: Added.
* css2.1/20110323/abspos-containing-block-initial-004d-expected.png: Added.
* css2.1/20110323/abspos-containing-block-initial-004d-expected.txt: Added.
* css2.1/20110323/abspos-containing-block-initial-004e-expected.png: Added.
* css2.1/20110323/abspos-containing-block-initial-004e-expected.txt: Added.
* css2.1/20110323/abspos-containing-block-initial-004f-expected.png: Added.
* css2.1/20110323/abspos-containing-block-initial-004f-expected.txt: Added.
* css2.1/20110323/abspos-containing-block-initial-005-ref-expected.png: Added.
* css2.1/20110323/abspos-containing-block-initial-005-ref-expected.txt: Added.
* css2.1/20110323/abspos-containing-block-initial-005a-expected.png: Added.
* css2.1/20110323/abspos-containing-block-initial-005a-expected.txt: Added.
* css2.1/20110323/abspos-containing-block-initial-005b-expected.png: Added.
* css2.1/20110323/abspos-containing-block-initial-005b-expected.txt: Added.
* css2.1/20110323/abspos-containing-block-initial-005c-expected.png: Added.
* css2.1/20110323/abspos-containing-block-initial-005c-expected.txt: Added.
* css2.1/20110323/abspos-containing-block-initial-005d-expected.png: Added.
* css2.1/20110323/abspos-containing-block-initial-005d-expected.txt: Added.
* css2.1/20110323/abspos-containing-block-initial-007-expected.txt: Added.
* css2.1/20110323/abspos-containing-block-initial-007-ref-expected.txt: Added.
* css2.1/20110323/abspos-containing-block-initial-009-ref-expected.png: Added.
* css2.1/20110323/abspos-containing-block-initial-009-ref-expected.txt: Added.
* css2.1/20110323/abspos-containing-block-initial-009a-expected.png: Added.
* css2.1/20110323/abspos-containing-block-initial-009a-expected.txt: Added.
* css2.1/20110323/abspos-containing-block-initial-009b-expected.png: Added.
* css2.1/20110323/abspos-containing-block-initial-009b-expected.txt: Added.
* css2.1/20110323/abspos-containing-block-initial-009e-expected.png: Added.
* css2.1/20110323/abspos-containing-block-initial-009e-expected.txt: Added.
* css2.1/20110323/abspos-containing-block-initial-009f-expected.png: Added.
* css2.1/20110323/abspos-containing-block-initial-009f-expected.txt: Added.
* css2.1/20110323/abspos-non-replaced-width-margin-000-expected.txt: Added.
* css2.1/20110323/abspos-replaced-width-margin-000-expected.txt: Added.
* css2.1/20110323/background-016.htm: Removed.
* css2.1/20110323/block-replaced-width-001.htm: Added.
* css2.1/20110323/empty-inline-001.htm:
* css2.1/20110323/reftest.list: Removed.
* css2.1/reference/ref-filled-green-100px-square.htm: Removed.
* css2.1/reference/ref-filled-green-100px-square.xht: Removed.
* css2.1/reference/ref-if-there-is-no-red.htm: Removed.
* css2.1/reference/ref-if-there-is-no-red.xht: Removed.
* css2.1/reference/ref-nothing-below.htm: Removed.
* css2.1/reference/ref-nothing-below.xht: Removed.
* css2.1/reference/ref-this-text-should-be-green.htm: Removed.
* css2.1/reference/ref-this-text-should-be-green.xht: Removed.
* platform/chromium-linux/css2.1/20110323/abspos-containing-block-initial-001-expected.png: Added.
* platform/chromium-linux/css2.1/20110323/abspos-containing-block-initial-001-ref-expected.png: Added.
* platform/chromium-linux/css2.1/20110323/abspos-containing-block-initial-007-expected.png: Added.
* platform/chromium-linux/css2.1/20110323/abspos-containing-block-initial-007-ref-expected.png: Added.
* platform/chromium-linux/css2.1/20110323/abspos-non-replaced-width-margin-000-expected.png: Added.
* platform/chromium-linux/css2.1/20110323/abspos-non-replaced-width-margin-000-ref-expected.png: Added.
* platform/chromium-linux/css2.1/20110323/abspos-replaced-width-margin-000-expected.png: Added.
* platform/chromium-linux/css2.1/20110323/abspos-replaced-width-margin-000-ref-expected.png: Added.
* platform/chromium-linux/css2.1/20110323/empty-inline-001-expected.png: Added.
* platform/chromium-mac-leopard/css2.1/20110323/block-replaced-width-001-expected.png: Added.
* platform/chromium-mac-leopard/css2.1/20110323/empty-inline-001-expected.png: Added.
* platform/chromium-mac-snowleopard/css2.1/20110323/abspos-containing-block-initial-001-expected.png: Added.
* platform/chromium-mac-snowleopard/css2.1/20110323/abspos-containing-block-initial-007-expected.png: Added.
* platform/chromium-mac-snowleopard/css2.1/20110323/abspos-non-replaced-width-margin-000-expected.png: Added.
* platform/chromium-mac-snowleopard/css2.1/20110323/abspos-replaced-width-margin-000-expected.png: Added.
* platform/chromium-mac-snowleopard/css2.1/20110323/block-replaced-width-001-expected.png: Added.
* platform/chromium-mac-snowleopard/css2.1/20110323/empty-inline-001-expected.png: Added.
* platform/chromium-mac/css2.1/20110323/abspos-containing-block-initial-001-expected.png: Added.
* platform/chromium-mac/css2.1/20110323/abspos-containing-block-initial-007-expected.png: Added.
* platform/chromium-mac/css2.1/20110323/abspos-non-replaced-width-margin-000-expected.png: Added.
* platform/chromium-mac/css2.1/20110323/abspos-replaced-width-margin-000-expected.png: Added.
* platform/chromium-mac/css2.1/20110323/block-replaced-width-001-expected.png: Added.
* platform/chromium-mac/css2.1/20110323/empty-inline-001-expected.png: Added.
* platform/chromium-win/css2.1/20110323/abspos-containing-block-initial-001-expected.png: Added.
* platform/chromium-win/css2.1/20110323/abspos-containing-block-initial-001-ref-expected.png: Added.
* platform/chromium-win/css2.1/20110323/abspos-containing-block-initial-007-expected.png: Added.
* platform/chromium-win/css2.1/20110323/abspos-containing-block-initial-007-ref-expected.png: Added.
* platform/chromium-win/css2.1/20110323/abspos-non-replaced-width-margin-000-expected.png: Added.
* platform/chromium-win/css2.1/20110323/abspos-non-replaced-width-margin-000-ref-expected.png: Added.
* platform/chromium-win/css2.1/20110323/abspos-replaced-width-margin-000-expected.png: Added.
* platform/chromium-win/css2.1/20110323/abspos-replaced-width-margin-000-ref-expected.png: Added.
* platform/chromium-win/css2.1/20110323/empty-inline-001-expected.png: Added.
* platform/chromium-win/css2.1/20110323/empty-inline-001-expected.txt: Added.
* platform/chromium/css2.1/20110323/abspos-containing-block-initial-001-ref-expected.png: Added.
* platform/chromium/css2.1/20110323/abspos-containing-block-initial-007-ref-expected.png: Added.
* platform/efl/css2.1/20110323/abspos-containing-block-initial-007-expected.png: Added.
* platform/efl/css2.1/20110323/abspos-containing-block-initial-007-expected.txt: Added.
* platform/efl/css2.1/20110323/abspos-containing-block-initial-007-ref-expected.png: Added.
* platform/efl/css2.1/20110323/abspos-containing-block-initial-007-ref-expected.txt: Added.
* platform/efl/css2.1/20110323/abspos-non-replaced-width-margin-000-expected.png: Added.
* platform/efl/css2.1/20110323/abspos-non-replaced-width-margin-000-expected.txt: Added.
* platform/efl/css2.1/20110323/abspos-non-replaced-width-margin-000-ref-expected.png: Added.
* platform/efl/css2.1/20110323/abspos-non-replaced-width-margin-000-ref-expected.txt: Added.
* platform/efl/css2.1/20110323/abspos-replaced-width-margin-000-expected.png: Added.
* platform/efl/css2.1/20110323/abspos-replaced-width-margin-000-expected.txt: Added.
* platform/efl/css2.1/20110323/abspos-replaced-width-margin-000-ref-expected.png: Added.
* platform/efl/css2.1/20110323/abspos-replaced-width-margin-000-ref-expected.txt: Added.
* platform/efl/css2.1/20110323/block-replaced-width-001-expected.png: Added.
* platform/efl/css2.1/20110323/block-replaced-width-001-expected.txt: Added.
* platform/gtk/css2.1/20110323/abspos-containing-block-initial-001-expected.txt: Added.
* platform/gtk/css2.1/20110323/abspos-containing-block-initial-001-ref-expected.txt: Added.
* platform/gtk/css2.1/20110323/abspos-containing-block-initial-007-expected.txt: Added.
* platform/gtk/css2.1/20110323/abspos-non-replaced-width-margin-000-expected.png: Added.
* platform/gtk/css2.1/20110323/abspos-non-replaced-width-margin-000-expected.txt: Added.
* platform/gtk/css2.1/20110323/abspos-non-replaced-width-margin-000-ref-expected.png: Added.
* platform/gtk/css2.1/20110323/abspos-non-replaced-width-margin-000-ref-expected.txt: Added.
* platform/gtk/css2.1/20110323/abspos-replaced-width-margin-000-expected.png: Added.
* platform/gtk/css2.1/20110323/abspos-replaced-width-margin-000-expected.txt: Added.
* platform/gtk/css2.1/20110323/abspos-replaced-width-margin-000-ref-expected.png: Added.
* platform/gtk/css2.1/20110323/abspos-replaced-width-margin-000-ref-expected.txt: Added.
* platform/gtk/css2.1/20110323/block-replaced-width-001-expected.png: Added.
* platform/mac-snowleopard/css2.1/20110323/abspos-containing-block-initial-001-expected.png: Added.
* platform/mac-snowleopard/css2.1/20110323/abspos-containing-block-initial-007-expected.png: Added.
* platform/mac-snowleopard/css2.1/20110323/abspos-replaced-width-margin-000-expected.png: Added.
* platform/mac/css2.1/20110323/abspos-containing-block-initial-001-expected.txt: Added.
* platform/mac/css2.1/20110323/abspos-containing-block-initial-001-ref-expected.txt: Added.
* platform/mac/css2.1/20110323/abspos-containing-block-initial-007-expected.txt: Added.
* platform/mac/css2.1/20110323/abspos-containing-block-initial-007-ref-expected.txt: Added.
* platform/mac/css2.1/20110323/abspos-non-replaced-width-margin-000-expected.png: Added.
* platform/mac/css2.1/20110323/abspos-non-replaced-width-margin-000-expected.txt: Added.
* platform/mac/css2.1/20110323/abspos-non-replaced-width-margin-000-ref-expected.png: Added.
* platform/mac/css2.1/20110323/abspos-non-replaced-width-margin-000-ref-expected.txt: Added.
* platform/mac/css2.1/20110323/abspos-replaced-width-margin-000-expected.png: Added.
* platform/mac/css2.1/20110323/abspos-replaced-width-margin-000-expected.txt: Added.
* platform/mac/css2.1/20110323/abspos-replaced-width-margin-000-ref-expected.png: Added.
* platform/mac/css2.1/20110323/abspos-replaced-width-margin-000-ref-expected.txt: Added.
* platform/mac/css2.1/20110323/block-replaced-width-001-expected.png: Added.
* platform/mac/css2.1/20110323/block-replaced-width-001-expected.txt: Added.
* platform/mac/css2.1/20110323/empty-inline-001-expected.png: Added.
* platform/mac/css2.1/20110323/empty-inline-001-expected.txt: Added.
* platform/qt/css2.1/20110323/abspos-containing-block-initial-001-expected.txt: Added.
* platform/qt/css2.1/20110323/abspos-containing-block-initial-001-ref-expected.txt: Added.
* platform/qt/css2.1/20110323/abspos-non-replaced-width-margin-000-expected.png: Added.
* platform/qt/css2.1/20110323/abspos-non-replaced-width-margin-000-ref-expected.png: Added.
* platform/qt/css2.1/20110323/abspos-non-replaced-width-margin-000-ref-expected.txt: Added.
* platform/qt/css2.1/20110323/abspos-replaced-width-margin-000-expected.png: Added.
* platform/qt/css2.1/20110323/abspos-replaced-width-margin-000-ref-expected.png: Added.
* platform/qt/css2.1/20110323/abspos-replaced-width-margin-000-ref-expected.txt: Added.
* platform/qt/css2.1/20110323/block-replaced-width-001-expected.png: Added.
* platform/qt/css2.1/20110323/block-replaced-width-001-expected.txt: Added.
* platform/qt/css2.1/20110323/empty-inline-001-expected.txt: Added.

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

8 years ago[V8] Pass Isolate to toV8() in SerializedScriptValue.cpp
haraken@chromium.org [Thu, 26 Apr 2012 20:41:20 +0000 (20:41 +0000)]
[V8] Pass Isolate to toV8() in SerializedScriptValue.cpp
https://bugs.webkit.org/show_bug.cgi?id=84918

Reviewed by Nate Chapin.

This is the last step to pass Isolate around in
SerializedScriptValue.cpp. This patch passes Isolate
to toV8().

No tests. No change in behavior.

* bindings/v8/SerializedScriptValue.cpp:

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

8 years ago[V8] Pass Isolate to wrapSlow()
haraken@chromium.org [Thu, 26 Apr 2012 20:34:09 +0000 (20:34 +0000)]
[V8] Pass Isolate to wrapSlow()
https://bugs.webkit.org/show_bug.cgi?id=84919

Reviewed by Nate Chapin.

The objective is to pass Isolate around in V8 bindings.
In this bug, we pass Isolate to wrapSlow().

Test: bindings/scripts/test/TestObj.idl etc

* bindings/scripts/CodeGeneratorV8.pm: Modified as described above.
(GenerateHeader):
(GenerateToV8Converters):

* bindings/scripts/test/V8/V8Float64Array.cpp: Updated run-bindings-tests.
(WebCore::V8Float64Array::wrapSlow):
* bindings/scripts/test/V8/V8Float64Array.h:
(V8Float64Array):
(WebCore::V8Float64Array::wrap):
* bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
(WebCore::V8TestActiveDOMObject::wrapSlow):
* bindings/scripts/test/V8/V8TestActiveDOMObject.h:
(V8TestActiveDOMObject):
(WebCore::V8TestActiveDOMObject::wrap):
* bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
(WebCore::V8TestCustomNamedGetter::wrapSlow):
* bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
(V8TestCustomNamedGetter):
(WebCore::V8TestCustomNamedGetter::wrap):
* bindings/scripts/test/V8/V8TestEventConstructor.cpp:
(WebCore::V8TestEventConstructor::wrapSlow):
* bindings/scripts/test/V8/V8TestEventConstructor.h:
(V8TestEventConstructor):
(WebCore::V8TestEventConstructor::wrap):
* bindings/scripts/test/V8/V8TestEventTarget.cpp:
(WebCore::V8TestEventTarget::wrapSlow):
* bindings/scripts/test/V8/V8TestEventTarget.h:
(V8TestEventTarget):
(WebCore::V8TestEventTarget::wrap):
* bindings/scripts/test/V8/V8TestInterface.cpp:
(WebCore::V8TestInterface::wrapSlow):
* bindings/scripts/test/V8/V8TestInterface.h:
(V8TestInterface):
(WebCore::V8TestInterface::wrap):
* bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
(WebCore::V8TestMediaQueryListListener::wrapSlow):
* bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
(V8TestMediaQueryListListener):
(WebCore::V8TestMediaQueryListListener::wrap):
* bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
(WebCore::V8TestNamedConstructor::wrapSlow):
* bindings/scripts/test/V8/V8TestNamedConstructor.h:
(V8TestNamedConstructor):
(WebCore::V8TestNamedConstructor::wrap):
* bindings/scripts/test/V8/V8TestNode.cpp:
(WebCore::V8TestNode::wrapSlow):
* bindings/scripts/test/V8/V8TestNode.h:
(V8TestNode):
(WebCore::V8TestNode::wrap):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::V8TestObj::wrapSlow):
* bindings/scripts/test/V8/V8TestObj.h:
(V8TestObj):
(WebCore::V8TestObj::wrap):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
(WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
(V8TestSerializedScriptValueInterface):
(WebCore::V8TestSerializedScriptValueInterface::wrap):

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

8 years ago[Chromium] Remove expectation of a test failure after the test itself was removed...
dglazkov@chromium.org [Thu, 26 Apr 2012 20:17:01 +0000 (20:17 +0000)]
[Chromium] Remove expectation of a test failure after the test itself was removed in r115340.

* platform/chromium/test_expectations.txt: Removed failure expectation.

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

8 years ago[BlackBerry] properly disable DRAG_SUPPORT
tonikitoo@webkit.org [Thu, 26 Apr 2012 20:15:17 +0000 (20:15 +0000)]
[BlackBerry] properly disable DRAG_SUPPORT
https://bugs.webkit.org/show_bug.cgi?id=84952

Reviewed by Daniel Bates.
Patch by Antonio Gomes <agomes@rim.com>

.:

Add CMake build options to toggle DRAG_SUPPORT on/off,
and set its value for BlackBerry port.

* Source/cmake/OptionsBlackBerry.cmake: Set it OFF by default.
* Source/cmake/OptionsEFL.cmake: Set it ON by default.
* Source/cmake/OptionsWinCE.cmake: Set it OFF by default.
* Source/cmake/OptionsWindows.cmake: Set it ON by default.
* Source/cmakeconfig.h.cmake:

Source/WTF:

* wtf/Platform.h: Remove the line that disables drag support from here.

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

8 years agoAdd ScrollAnimatorBlackBerry as an extension to ScrollAnimatorNone
tonikitoo@webkit.org [Thu, 26 Apr 2012 20:15:07 +0000 (20:15 +0000)]
Add ScrollAnimatorBlackBerry as an extension to ScrollAnimatorNone
https://bugs.webkit.org/show_bug.cgi?id=84625

Reviewed by Anders Carlsson.
Patch by Antonio Gomes <agomes@rim.com>

Patch adds ScrollAnimatorBlackBerry class as an extension to of
ScrollAnimatorNone. The main goal here is extending the later to allow
overscrolling while the animation runs.

Once the animation finishes, the flag gets reseted and
ScrollableArea::constrainsScrollingtoContentEdge is set back to the value
it had before, so this method has to be explicitly called anytime it is wanted.

* CMakeLists.txt:
* platform/ScrollAnimator.h:
(WebCore::ScrollAnimator::animationWillStart):
(WebCore::ScrollAnimator::animationDidFinish):
(ScrollAnimator):
* platform/ScrollAnimatorNone.cpp:
(WebCore):
(WebCore::ScrollAnimatorNone::scroll):
(WebCore::ScrollAnimatorNone::animationTimerFired):
* platform/blackberry/ScrollAnimatorBlackBerry.cpp: Added.
(WebCore):
(WebCore::ScrollAnimator::create):
(WebCore::ScrollAnimatorBlackBerry::ScrollAnimatorBlackBerry):
(WebCore::ScrollAnimatorBlackBerry::animationWillStart):
(WebCore::ScrollAnimatorBlackBerry::animationDidFinish):
(WebCore::ScrollAnimatorBlackBerry::setDisableConstrainsScrollingToContentEdgeWhileAnimating):
* platform/blackberry/ScrollAnimatorBlackBerry.h: Added.
(WebCore):
(ScrollAnimatorBlackBerry):

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

8 years ago[BlackBerry] Add smooth_scrolling options to CMAKE and enable it for Blackberry
tonikitoo@webkit.org [Thu, 26 Apr 2012 20:14:54 +0000 (20:14 +0000)]
[BlackBerry] Add smooth_scrolling options to CMAKE and enable it for Blackberry
https://bugs.webkit.org/show_bug.cgi?id=84954

Reviewed by Daniel Bates.
Patch by Antonio Gomes <agomes@rim.com>

.:

* Source/cmakeconfig.h.cmake: Make it possible for CMake builds to
  toggle SMOOTH_SCROLLING on/off
* Source/cmake/OptionsBlackBerry.cmake: ... and set it to ON by defualt
  for the Blackberry port.

Source/WebCore:

Add the default scroll animator to the build system (ScrollAnimatorNone.cpp)

* CMakeLists.txt:

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

8 years agoMake ScrollView::scrollSize scrollbar-independent
tonikitoo@webkit.org [Thu, 26 Apr 2012 20:14:41 +0000 (20:14 +0000)]
Make ScrollView::scrollSize scrollbar-independent
https://bugs.webkit.org/show_bug.cgi?id=84873

Reviewed by Anders Carlsson.
Patch by Antonio Gomes <agomes@rim.com>

For ports that disable scrollbars creation at FrameView creation time
ScrollView::scrollSize should still return the scrollable ammount of
content (if any) if scrolling is not prohibted.

No new test, but it makes ScrollAnimator work for the BlackBerry port.

* platform/ScrollView.cpp:
(WebCore::ScrollView::scrollSize):

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

8 years agoThe tile cache should know if a frame view can ever have scrollbars
andersca@apple.com [Thu, 26 Apr 2012 20:01:44 +0000 (20:01 +0000)]
The tile cache should know if a frame view can ever have scrollbars
https://bugs.webkit.org/show_bug.cgi?id=84888

Reviewed by Andreas Kling.

If a frame view has overflow: hidden on its body element we know that the document will most
likely never be scrolled. The tile cache should know about this so we can optimize.

* page/FrameView.cpp:
(WebCore::FrameView::performPostLayoutTasks):
* platform/graphics/TiledBacking.h:
(TiledBacking):
* platform/graphics/ca/mac/TileCache.h:
(TileCache):
* platform/graphics/ca/mac/TileCache.mm:
(WebCore::TileCache::TileCache):
(WebCore::TileCache::setCanHaveScrollbars):
(WebCore):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::RenderLayerBacking):

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