commit-queue@webkit.org [Wed, 22 Feb 2012 13:25:11 +0000 (13:25 +0000)]
[chromium] Build WebKit with MEDIA_STREAM disabled.
https://bugs.webkit.org/show_bug.cgi?id=79214
Patch by Hao Zheng <zhenghao@chromium.org> on 2012-02-22
Reviewed by Kent Tamura.
Source/WebKit/chromium:
* src/UserMediaClientImpl.h:
Tools:
* DumpRenderTree/chromium/WebUserMediaClientMock.cpp:
* DumpRenderTree/chromium/WebUserMediaClientMock.h:
* DumpRenderTree/chromium/WebViewHost.cpp:
(WebViewHost::createMediaPlayer):
* DumpRenderTree/chromium/WebViewHost.h:
(WebViewHost):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108487
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pfeldman@chromium.org [Wed, 22 Feb 2012 13:13:01 +0000 (13:13 +0000)]
Web Inspector: do not filter out requestAnimationFrame from timeline, implement stop on animation events.
https://bugs.webkit.org/show_bug.cgi?id=79116
Reviewed by Yury Semikhatsky.
Source/WebCore:
* English.lproj/localizedStrings.js:
* dom/ScriptedAnimationController.cpp:
(WebCore::ScriptedAnimationController::registerCallback):
* inspector/InspectorInstrumentation.cpp:
(WebCore):
(WebCore::InspectorInstrumentation::didRequestAnimationFrameCallbackImpl):
(WebCore::InspectorInstrumentation::didCancelAnimationFrameCallbackImpl):
(WebCore::InspectorInstrumentation::willFireAnimationFrameEventImpl):
* inspector/InspectorInstrumentation.h:
(InspectorInstrumentation):
(WebCore::InspectorInstrumentation::didRequestAnimationFrameCallback):
* inspector/InspectorTimelineAgent.cpp:
(TimelineRecordType):
(WebCore::InspectorTimelineAgent::didRequestAnimationFrameCallback):
(WebCore::InspectorTimelineAgent::didCancelAnimationFrameCallback):
(WebCore::InspectorTimelineAgent::willFireAnimationFrameEvent):
(WebCore::InspectorTimelineAgent::didFireAnimationFrameEvent):
* inspector/InspectorTimelineAgent.h:
(InspectorTimelineAgent):
* inspector/front-end/BreakpointsSidebarPane.js:
(WebInspector.EventListenerBreakpointsSidebarPane):
(WebInspector.EventListenerBreakpointsSidebarPane.eventNameForUI):
* inspector/front-end/TimelineAgent.js:
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel):
(WebInspector.TimelinePanel.prototype.get _recordStyles):
(WebInspector.TimelinePanel.prototype._findParentRecord):
(WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
(WebInspector.TimelinePanel.prototype._onRecordsCleared):
(WebInspector.TimelinePanel.FormattedRecord):
(WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
(WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
LayoutTests:
* inspector/timeline/timeline-animation-frame-expected.txt:
* inspector/timeline/timeline-animation-frame.html:
* inspector/timeline/timeline-enum-stability-expected.txt:
* platform/chromium/inspector/timeline/timeline-animation-frame-expected.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108486
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
haraken@chromium.org [Wed, 22 Feb 2012 13:10:09 +0000 (13:10 +0000)]
Remove unused class declaration in WebCore/page/scrolling/ScrollingCoordinator.h
https://bugs.webkit.org/show_bug.cgi?id=79175
Patch by Changhun Kang <temoochin@company100.net> on 2012-02-22
Reviewed by Kentaro Hara.
* page/scrolling/ScrollingCoordinator.h:
Remove PlatformGestureEvent class declaration.
(WebCore):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108485
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Wed, 22 Feb 2012 13:05:14 +0000 (13:05 +0000)]
Unreviewed, rolling out r108456.
http://trac.webkit.org/changeset/108456
https://bugs.webkit.org/show_bug.cgi?id=79223
Broke fast/regex/pcre-test-4.html and cannot find anyone on
IRC (Requested by zherczeg on #webkit).
Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-02-22
* yarr/YarrJIT.cpp:
(JSC::Yarr::YarrGenerator::backtrackPatternCharacterGreedy):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108484
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abecsi@webkit.org [Wed, 22 Feb 2012 12:56:57 +0000 (12:56 +0000)]
[Qt][WK2] Fix the N9 build
https://bugs.webkit.org/show_bug.cgi?id=79101
Reviewed by Simon Hausmann.
Fixed the include order of the rolled out r108359 not to break
the build with CONFIG+=force_static_libs_as_shared.
* platform/graphics/OpenGLShims.h: Add missing include.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108483
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
yutak@chromium.org [Wed, 22 Feb 2012 12:51:01 +0000 (12:51 +0000)]
[Chromium] Unreviewed, regular maintenance of test expectations.
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108482
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Wed, 22 Feb 2012 12:20:10 +0000 (12:20 +0000)]
[Qt] Unreviewed gardening, skip a new failing test.
* platform/qt/Skipped:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108481
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
shinyak@chromium.org [Wed, 22 Feb 2012 12:06:34 +0000 (12:06 +0000)]
firstRendererOf() should also return a fallback element renderer in NodeRenderingContext.
https://bugs.webkit.org/show_bug.cgi?id=79180
Reviewed by Hajime Morita.
Source/WebCore:
Currently we have handled AttachingFallback in some special mannger, however if firstRendererOf
and lastRendererOf return a fallback element renderer, we don't need to handle it in such a manner.
We have introduced new attaching phase: AttachingFallbacked, and AttachingNotFallbacked.
They are used for fallback elements.
Added new test cases in:
fast/dom/shadow/shadow-contents-fallback.html
fast/dom/shadow/shadow-contents-fallback-dynamic.html
* dom/NodeRenderingContext.cpp:
(WebCore::NodeRenderingContext::NodeRenderingContext):
(WebCore::firstRendererOf):
(WebCore::lastRendererOf):
(WebCore::NodeRenderingContext::nextRenderer):
(WebCore::NodeRenderingContext::previousRenderer):
(WebCore::NodeRenderingContext::shouldCreateRenderer):
* dom/NodeRenderingContext.h:
* html/shadow/InsertionPoint.h:
(WebCore::isInsertionPoint):
(WebCore):
(WebCore::toInsertionPoint):
LayoutTests:
Added new test cases, e.g. <content> in <content>, with display:none.
* fast/dom/shadow/shadow-contents-fallback-dynamic-expected.txt:
* fast/dom/shadow/shadow-contents-fallback-dynamic.html:
* fast/dom/shadow/shadow-contents-fallback-expected.txt:
* fast/dom/shadow/shadow-contents-fallback.html:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108480
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zeno.albisser@nokia.com [Wed, 22 Feb 2012 11:46:50 +0000 (11:46 +0000)]
[Qt][WK2][Mac] WebKitTestRunner does not build with clang.
https://bugs.webkit.org/show_bug.cgi?id=79124
WebKitTestRunnerPrefix.h should also be included
when building with clang.
Reviewed by Kenneth Rohde Christiansen.
* WebKitTestRunner/Target.pri:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108479
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Wed, 22 Feb 2012 11:38:14 +0000 (11:38 +0000)]
[Qt] Unreviewed gardening after r108464.
* Target.pri:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108478
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
haraken@chromium.org [Wed, 22 Feb 2012 11:21:01 +0000 (11:21 +0000)]
Add performance tests for the Element.id getter and setter
https://bugs.webkit.org/show_bug.cgi?id=79209
Reviewed by Adam Barth.
This patch adds performance tests for the Element.id getter and setter.
The results of 10 runs in my local Chromium/Linux are as follows:
dom_attributes_id_getter.html:
median= 92.0 ms, stdev= 1.
65151445649 ms, min= 89.0 ms, max= 96.0 ms
median= 87.5 ms, stdev= 1.
84390889146 ms, min= 85.0 ms, max= 92.0 ms
median= 94.0 ms, stdev= 1.
46543508898 ms, min= 90.0 ms, max= 95.0 ms
median= 86.0 ms, stdev= 1.
66958078571 ms, min= 84.0 ms, max= 91.0 ms
median= 94.0 ms, stdev= 2.
25610283454 ms, min= 103.0 ms, max= 98.0 ms
median= 86.0 ms, stdev= 1.
49666295471 ms, min= 84.0 ms, max= 91.0 ms
median= 86.0 ms, stdev= 1.
5321553446 ms, min= 84.0 ms, max= 90.0 ms
median= 86.0 ms, stdev= 2.
20227155455 ms, min= 84.0 ms, max= 94.0 ms
median= 96.0 ms, stdev= 1.
74570902501 ms, min= 101.0 ms, max= 99.0 ms
median= 86.0 ms, stdev= 1.
63935963108 ms, min= 84.0 ms, max= 90.0 ms
median= 94.0 ms, stdev= 1.
49248115566 ms, min= 90.0 ms, max= 95.0 ms
median= 88.0 ms, stdev= 5.
20192272146 ms, min= 84.0 ms, max= 98.0 ms
median= 86.0 ms, stdev= 1.
41067359797 ms, min= 84.0 ms, max= 89.0 ms
median= 86.0 ms, stdev= 1.
48660687473 ms, min= 84.0 ms, max= 89.0 ms
median= 94.0 ms, stdev= 1.
58113883008 ms, min= 93.0 ms, max= 97.0 ms
median= 86.0 ms, stdev= 1.
95959179423 ms, min= 84.0 ms, max= 93.0 ms
median= 86.0 ms, stdev= 1.
8547236991 ms, min= 84.0 ms, max= 92.0 ms
median= 86.0 ms, stdev= 1.
39283882772 ms, min= 84.0 ms, max= 89.0 ms
median= 88.0 ms, stdev= 1.
48660687473 ms, min= 85.0 ms, max= 90.0 ms
median= 86.5 ms, stdev= 2.3 ms, min= 84.0 ms, max= 93.0 ms
dom_attributes_id_setter.html:
median= 123.0 ms, stdev= 2.
06397674406 ms, min= 119.0 ms, max= 128.0 ms
median= 119.0 ms, stdev= 1.
92028643697 ms, min= 117.0 ms, max= 123.0 ms
median= 121.0 ms, stdev= 1.
8781639971 ms, min= 118.0 ms, max= 123.0 ms
median= 123.0 ms, stdev= 2.
21585198062 ms, min= 119.0 ms, max= 130.0 ms
median= 124.5 ms, stdev= 2.
36378933071 ms, min= 119.0 ms, max= 129.0 ms
median= 122.0 ms, stdev= 2.
4474476501 ms, min= 118.0 ms, max= 128.0 ms
median= 123.0 ms, stdev= 1.
76351920885 ms, min= 118.0 ms, max= 125.0 ms
median= 119.0 ms, stdev= 1.
79652442232 ms, min= 117.0 ms, max= 125.0 ms
median= 121.0 ms, stdev= 1.
49916643506 ms, min= 119.0 ms, max= 123.0 ms
median= 119.5 ms, stdev= 1.
85135085816 ms, min= 117.0 ms, max= 125.0 ms
median= 124.0 ms, stdev= 1.
43090880213 ms, min= 120.0 ms, max= 124.0 ms
median= 122.0 ms, stdev= 1.
45859521458 ms, min= 118.0 ms, max= 123.0 ms
median= 123.0 ms, stdev= 1.
50332963784 ms, min= 120.0 ms, max= 124.0 ms
median= 123.0 ms, stdev= 1.
3638181697 ms, min= 120.0 ms, max= 125.0 ms
median= 119.0 ms, stdev= 1.
43527000944 ms, min= 117.0 ms, max= 121.0 ms
median= 122.5 ms, stdev= 1.
71682847134 ms, min= 118.0 ms, max= 124.0 ms
median= 121.0 ms, stdev= 1.
44481832768 ms, min= 118.0 ms, max= 123.0 ms
median= 120.0 ms, stdev= 1.
40978721799 ms, min= 117.0 ms, max= 122.0 ms
median= 122.0 ms, stdev= 1.
68522995464 ms, min= 119.0 ms, max= 125.0 ms
median= 122.0 ms, stdev= 1.
55804364509 ms, min= 118.0 ms, max= 123.0 ms
* Bindings/dom_attributes_id_getter.html: Added.
* Bindings/dom_attributes_id_setter.html: Added.
* Bindings/resources/dom_attributes_common.js: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108477
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bashi@chromium.org [Wed, 22 Feb 2012 11:20:31 +0000 (11:20 +0000)]
Unreviewed, rolling out r108468.
http://trac.webkit.org/changeset/108468
https://bugs.webkit.org/show_bug.cgi?id=79219
Broke Chromium Win release build (Requested by bashi on
#webkit).
Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-02-22
Source/JavaScriptCore:
* wtf/Platform.h:
Source/WebCore:
* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* websockets/WebSocket.cpp:
(WebCore::WebSocket::didConnect):
* websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::connect):
(WebCore::WebSocketChannel::fail):
(WebCore::WebSocketChannel::processFrame):
(WebCore::WebSocketChannel::sendFrame):
* websockets/WebSocketChannel.h:
* websockets/WebSocketDeflateFramer.cpp: Removed.
* websockets/WebSocketDeflateFramer.h: Removed.
LayoutTests:
* http/tests/websocket/tests/hybi/compressed-control-frame-expected.txt: Removed.
* http/tests/websocket/tests/hybi/compressed-control-frame.html: Removed.
* http/tests/websocket/tests/hybi/compressed-control-frame_wsh.py: Removed.
* http/tests/websocket/tests/hybi/deflate-frame-comp-bit-onoff-expected.txt: Removed.
* http/tests/websocket/tests/hybi/deflate-frame-comp-bit-onoff.html: Removed.
* http/tests/websocket/tests/hybi/deflate-frame-invalid-parameter-expected.txt: Removed.
* http/tests/websocket/tests/hybi/deflate-frame-invalid-parameter.html: Removed.
* http/tests/websocket/tests/hybi/deflate-frame-invalid-parameter_wsh.py: Removed.
* http/tests/websocket/tests/hybi/deflate-frame-parameter-expected.txt: Removed.
* http/tests/websocket/tests/hybi/deflate-frame-parameter.html: Removed.
* http/tests/websocket/tests/hybi/deflate-frame_wsh.py: Removed.
* http/tests/websocket/tests/hybi/handshake-fail-by-extensions-header-expected.txt:
* http/tests/websocket/tests/hybi/send-file-blob_wsh.py:
(web_socket_transfer_data):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108476
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
philn@webkit.org [Wed, 22 Feb 2012 11:05:03 +0000 (11:05 +0000)]
Unreviewed, GTK gardening, unskip 2 tests that should pass now.
* platform/gtk/Skipped:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108475
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rolandsteiner@chromium.org [Wed, 22 Feb 2012 10:45:15 +0000 (10:45 +0000)]
<style scoped>: Add runtime-flag
https://bugs.webkit.org/show_bug.cgi?id=79074
Source/WebCore:
Added runtime-flag.
Query runtime flag when (un)registering a <style scoped> element, and when determineing a style sheet's scope.
Reviewed by Dimitri Glazkov.
No new tests. (no change in functionality)
* bindings/generic/RuntimeEnabledFeatures.cpp:
(WebCore):
* bindings/generic/RuntimeEnabledFeatures.h:
(RuntimeEnabledFeatures):
(WebCore::RuntimeEnabledFeatures::styleScopedEnabled):
(WebCore::RuntimeEnabledFeatures::setStyleScopedEnabled):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::determineScopingElement):
* html/HTMLStyleElement.cpp:
(WebCore::HTMLStyleElement::registerWithScopingNode):
(WebCore::HTMLStyleElement::unregisterWithScopingNode):
* html/HTMLStyleElement.idl:
Source/WebKit/chromium:
Added a runtime-flag.
Enable default STYLE_SCOPED compile-time flag for Chromium.
Reviewed by Dimitri Glazkov.
* features.gypi: enable STYLE_SCOPED
* public/WebRuntimeFeatures.h:
(WebRuntimeFeatures):
* src/WebRuntimeFeatures.cpp:
(WebKit::WebRuntimeFeatures::enableStyleScoped):
(WebKit):
(WebKit::WebRuntimeFeatures::isStyleScopedEnabled):
Tools:
Enable the runtime-flag for DRT.
Reviewed by Dimitri Glazkov.
* DumpRenderTree/chromium/TestShell.cpp:
(TestShell::TestShell):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108474
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
apavlov@chromium.org [Wed, 22 Feb 2012 10:42:46 +0000 (10:42 +0000)]
Web Inspector: Audit rules to recommend unprefixing supported CSS properties
https://bugs.webkit.org/show_bug.cgi?id=78985
Reviewed by Pavel Feldman.
Source/WebCore:
* inspector/front-end/AuditCategories.js:
(WebInspector.AuditCategories.PagePerformance.prototype.initialize):
* inspector/front-end/AuditRules.js:
(WebInspector.AuditRules.CSSRuleBase):
(WebInspector.AuditRules.CSSRuleBase.prototype.doRun.sheetsCallback):
(WebInspector.AuditRules.CSSRuleBase.prototype.doRun):
(WebInspector.AuditRules.CSSRuleBase.prototype._visitStyleSheet.sheetCallback):
(WebInspector.AuditRules.CSSRuleBase.prototype._visitStyleSheet):
(WebInspector.AuditRules.CSSRuleBase.prototype._visitRule):
(WebInspector.AuditRules.CSSRuleBase.prototype.visitStyleSheet):
(WebInspector.AuditRules.CSSRuleBase.prototype.didVisitStyleSheet):
(WebInspector.AuditRules.CSSRuleBase.prototype.visitRule):
(WebInspector.AuditRules.CSSRuleBase.prototype.didVisitRule):
(WebInspector.AuditRules.CSSRuleBase.prototype.visitProperty):
(WebInspector.AuditRules.VendorPrefixedCSSProperties):
(WebInspector.AuditRules.VendorPrefixedCSSProperties.prototype.didVisitStyleSheet):
(WebInspector.AuditRules.VendorPrefixedCSSProperties.prototype.visitRule):
(WebInspector.AuditRules.VendorPrefixedCSSProperties.prototype.didVisitRule):
(WebInspector.AuditRules.VendorPrefixedCSSProperties.prototype.visitProperty):
* inspector/front-end/ResourceUtils.js:
LayoutTests:
* inspector/audits/audits-panel-functional-expected.txt:
* inspector/audits/audits-panel-functional.html:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108473
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 22 Feb 2012 10:17:16 +0000 (10:17 +0000)]
[Qt][WK2] Add frame flattening setting to QWebPreferences.
https://bugs.webkit.org/show_bug.cgi?id=79099
Patch by Zalan Bujtas <zbujtas@gmail.com> on 2012-02-22
Reviewed by Simon Hausmann.
Frame flattening is enabled by default for Qt WebKit2.
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::initialize):
* UIProcess/API/qt/qwebpreferences.cpp:
(QWebPreferencesPrivate::testAttribute):
(QWebPreferencesPrivate::setAttribute):
(QWebPreferences::setNavigatorQtObjectEnabled):
(QWebPreferences::frameFlatteningEnabled):
(QWebPreferences::setFrameFlatteningEnabled):
* UIProcess/API/qt/qwebpreferences_p.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108471
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
shinyak@chromium.org [Wed, 22 Feb 2012 10:12:30 +0000 (10:12 +0000)]
Node::attach() should be after attaching children in Element::attach().
https://bugs.webkit.org/show_bug.cgi?id=79201
Reviewed by Hajime Morita.
In Element::attach(), Node::attach() is called before attaching children if a shaodw root exists.
This may cause O(N^2) problem in NodeRenderingContext.
No new tests. Existing tests should cover this.
* dom/Element.cpp:
(WebCore::Element::attach):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108470
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bashi@chromium.org [Wed, 22 Feb 2012 10:03:46 +0000 (10:03 +0000)]
Adding WebSocket per-frame DEFLATE extension
https://bugs.webkit.org/show_bug.cgi?id=77522
Source/JavaScriptCore:
Added USE(ZLIB) flag.
Reviewed by Kent Tamura.
* wtf/Platform.h:
Source/WebCore:
Add WebSocketDeflateFramer class which handles deflate-frame extension.
This class encapsulates WebSocketDeflater and WebSocketInflater classes,
which depend on zlib, so that WebSocketChannel is not necessary to aware
zlib dependency.
Reviewed by Kent Tamura.
Tests: http/tests/websocket/tests/hybi/compressed-control-frame.html
http/tests/websocket/tests/hybi/deflate-frame-comp-bit-onoff.html
http/tests/websocket/tests/hybi/deflate-frame-invalid-parameter.html
http/tests/websocket/tests/hybi/deflate-frame-parameter.html
* CMakeLists.txt: Added WebSocketDeflateFramer.(cpp|h)
* GNUmakefile.list.am: Ditto.
* Target.pri: Ditto.
* WebCore.gypi: Ditto.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* websockets/WebSocket.cpp:
(WebCore::WebSocket::didConnect): Set m_extensions.
* websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::connect): Add deflate-frame extension processor to WebSocketHanshake if deflate can use.
(WebCore::WebSocketChannel::fail): Call m_deflateFramer.didFail().
(WebCore::WebSocketChannel::processFrame): Decompress frames if needed.
(WebCore::WebSocketChannel::sendFrame): Compress frames if possible.
* websockets/WebSocketChannel.h:
* websockets/WebSocketDeflateFramer.cpp: Added.
(WebCore):
(WebSocketExtensionDeflateFrame):
(WebCore::WebSocketExtensionDeflateFrame::create):
(WebCore::WebSocketExtensionDeflateFrame::~WebSocketExtensionDeflateFrame):
(WebCore::WebSocketExtensionDeflateFrame::WebSocketExtensionDeflateFrame):
(WebCore::WebSocketExtensionDeflateFrame::handshakeString):
(WebCore::WebSocketExtensionDeflateFrame::processResponse):
(WebCore::DeflateResultHolder::DeflateResultHolder):
(WebCore::DeflateResultHolder::~DeflateResultHolder):
(WebCore::DeflateResultHolder::fail):
(WebCore::InflateResultHolder::InflateResultHolder):
(WebCore::InflateResultHolder::~InflateResultHolder):
(WebCore::InflateResultHolder::fail):
(WebCore::WebSocketDeflateFramer::WebSocketDeflateFramer):
(WebCore::WebSocketDeflateFramer::createExtensionProcessor):
(WebCore::WebSocketDeflateFramer::canDeflate):
(WebCore::WebSocketDeflateFramer::enableDeflate):
(WebCore::WebSocketDeflateFramer::deflate):
(WebCore::WebSocketDeflateFramer::resetDeflateContext):
(WebCore::WebSocketDeflateFramer::inflate):
(WebCore::WebSocketDeflateFramer::resetInflateContext):
(WebCore::WebSocketDeflateFramer::didFail):
* websockets/WebSocketDeflateFramer.h: Added.
(WebCore):
(DeflateResultHolder):
(WebCore::DeflateResultHolder::succeeded):
(WebCore::DeflateResultHolder::failureReason):
(InflateResultHolder):
(WebCore::InflateResultHolder::succeeded):
(WebCore::InflateResultHolder::failureReason):
(WebSocketDeflateFramer):
(WebCore::WebSocketDeflateFramer::enabled):
LayoutTests:
Added tests for WebSocket deflate-frame extension. Also updated some
tests to follow the change.
Reviewed by Kent Tamura.
* http/tests/websocket/tests/hybi/compressed-control-frame-expected.txt: Added.
* http/tests/websocket/tests/hybi/compressed-control-frame.html: Added.
* http/tests/websocket/tests/hybi/compressed-control-frame_wsh.py: Added.
(web_socket_do_extra_handshake):
(web_socket_transfer_data):
* http/tests/websocket/tests/hybi/deflate-frame-comp-bit-onoff-expected.txt: Added.
* http/tests/websocket/tests/hybi/deflate-frame-comp-bit-onoff.html: Added.
* http/tests/websocket/tests/hybi/deflate-frame-invalid-parameter-expected.txt: Added.
* http/tests/websocket/tests/hybi/deflate-frame-invalid-parameter.html: Added.
* http/tests/websocket/tests/hybi/deflate-frame-invalid-parameter_wsh.py: Added.
(web_socket_do_extra_handshake):
(web_socket_transfer_data):
* http/tests/websocket/tests/hybi/deflate-frame-parameter-expected.txt: Added.
* http/tests/websocket/tests/hybi/deflate-frame-parameter.html: Added.
* http/tests/websocket/tests/hybi/deflate-frame_wsh.py: Added.
(_get_deflate_frame_extension_processor):
(web_socket_do_extra_handshake):
(web_socket_transfer_data):
* http/tests/websocket/tests/hybi/handshake-fail-by-extensions-header-expected.txt:
* http/tests/websocket/tests/hybi/send-file-blob_wsh.py:
(_retrieve_frame):
(web_socket_transfer_data):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108468
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
yutak@chromium.org [Wed, 22 Feb 2012 10:00:02 +0000 (10:00 +0000)]
Unreviewed, rolling out r108453.
http://trac.webkit.org/changeset/108453
https://bugs.webkit.org/show_bug.cgi?id=78549
Broke Chromium's webkit_unit_tests.
Source/WebCore:
* WebCore.gypi:
* platform/graphics/chromium/cc/CCOcclusionTracker.cpp: Removed.
* platform/graphics/chromium/cc/CCOcclusionTracker.h: Removed.
Source/WebKit/chromium:
* WebKit.gypi:
* tests/CCLayerTreeHostCommonTest.cpp:
(WebCore::TEST):
(WebCore):
* tests/CCOcclusionTrackerTest.cpp: Removed.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108467
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zherczeg@webkit.org [Wed, 22 Feb 2012 09:56:58 +0000 (09:56 +0000)]
[Qt] clipToImageBuffer assertion fix in debug mode on Qt.
Rubber stamped by Csaba Osztrogonác.
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::restorePlatformState):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108466
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abarth@webkit.org [Wed, 22 Feb 2012 09:45:55 +0000 (09:45 +0000)]
[GTK] fast/frames/frame-dead-region.html crash
https://bugs.webkit.org/show_bug.cgi?id=79205
Unreviewed.
Apparently we're not supposed to call willDetachPage from
CachedFrame::destroy. This call got added in
http://trac.webkit.org/changeset/108428, but it seems to cause a crash.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::closeAndRemoveChild):
(WebCore::FrameLoader::detachFromParent):
* page/Frame.h:
(WebCore::Frame::detachFromPage):
* page/Page.cpp:
(WebCore::Page::~Page):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108465
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abarth@webkit.org [Wed, 22 Feb 2012 09:40:27 +0000 (09:40 +0000)]
Move Geolocation code into Modules/geolocation
https://bugs.webkit.org/show_bug.cgi?id=79204
Reviewed by Hajime Morita.
There are still some dangling references into the Geolocation module,
which I will clean up in a followup patch.
* CMakeLists.txt:
* DerivedSources.make:
* DerivedSources.pri:
* GNUmakefile.list.am:
* Modules/geolocation/Geolocation.cpp: Copied from Source/WebCore/page/Geolocation.cpp.
* Modules/geolocation/Geolocation.h: Copied from Source/WebCore/page/Geolocation.h.
* Modules/geolocation/Geolocation.idl: Copied from Source/WebCore/page/Geolocation.idl.
* Modules/geolocation/GeolocationController.cpp: Copied from Source/WebCore/page/GeolocationController.cpp.
* Modules/geolocation/GeolocationController.h: Copied from Source/WebCore/page/GeolocationController.h.
* Modules/geolocation/GeolocationError.h: Copied from Source/WebCore/page/GeolocationError.h.
* Modules/geolocation/GeolocationPosition.h: Copied from Source/WebCore/page/GeolocationPosition.h.
* Modules/geolocation/Geoposition.h: Copied from Source/WebCore/page/Geoposition.h.
* Modules/geolocation/Geoposition.idl: Copied from Source/WebCore/page/Geoposition.idl.
* Modules/geolocation/PositionCallback.h: Copied from Source/WebCore/page/PositionCallback.h.
* Modules/geolocation/PositionCallback.idl: Copied from Source/WebCore/page/PositionCallback.idl.
* Modules/geolocation/PositionError.h: Copied from Source/WebCore/page/PositionError.h.
* Modules/geolocation/PositionError.idl: Copied from Source/WebCore/page/PositionError.idl.
* Modules/geolocation/PositionErrorCallback.h: Copied from Source/WebCore/page/PositionErrorCallback.h.
* Modules/geolocation/PositionErrorCallback.idl: Copied from Source/WebCore/page/PositionErrorCallback.idl.
* Modules/geolocation/PositionOptions.h: Copied from Source/WebCore/page/PositionOptions.h.
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* page/Geolocation.cpp: Removed.
* page/Geolocation.h: Removed.
* page/Geolocation.idl: Removed.
* page/GeolocationController.cpp: Removed.
* page/GeolocationController.h: Removed.
* page/GeolocationError.h: Removed.
* page/GeolocationPosition.h: Removed.
* page/Geoposition.h: Removed.
* page/Geoposition.idl: Removed.
* page/PositionCallback.h: Removed.
* page/PositionCallback.idl: Removed.
* page/PositionError.h: Removed.
* page/PositionError.idl: Removed.
* page/PositionErrorCallback.h: Removed.
* page/PositionErrorCallback.idl: Removed.
* page/PositionOptions.h: Removed.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108464
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 22 Feb 2012 09:28:57 +0000 (09:28 +0000)]
[gtk] Accessibility: use find funtion in vector instead of for.
https://bugs.webkit.org/show_bug.cgi?id=77878
Patch by Frederik Gladhorn <frederik.gladhorn@nokia.com> on 2012-02-22
Reviewed by Hajime Morita.
Minor cleanup, use the find function from vector.
* accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
(webkitAccessibleGetIndexInParent):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108463
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Wed, 22 Feb 2012 09:14:53 +0000 (09:14 +0000)]
Remove the remaining uses of CSSStyleDeclaration in Editor
https://bugs.webkit.org/show_bug.cgi?id=78939
Reviewed by Enrica Casucci.
Source/WebCore:
Changed the argument types of shouldApplyStyle, applyParagraphStyle, applyStyleToSelection,
applyParagraphStyleToSelection, and computeAndSetTypingStyle in Editor from CSSStyleDeclaration
to StylePropertySet.
* WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj:
* editing/Editor.cpp:
(WebCore::Editor::applyStyle):
(WebCore::Editor::shouldApplyStyle):
(WebCore::Editor::applyParagraphStyle):
(WebCore::Editor::applyStyleToSelection):
(WebCore::Editor::applyParagraphStyleToSelection):
(WebCore::Editor::setBaseWritingDirection):
(WebCore::Editor::computeAndSetTypingStyle):
* editing/Editor.h:
(WebCore):
(Editor):
* editing/EditorCommand.cpp:
(WebCore::applyCommandToFrame):
(WebCore::executeApplyParagraphStyle):
(WebCore::executeMakeTextWritingDirectionLeftToRight):
(WebCore::executeMakeTextWritingDirectionNatural):
(WebCore::executeMakeTextWritingDirectionRightToLeft):
* loader/EmptyClients.h:
(WebCore::EmptyEditorClient::shouldApplyStyle):
* page/DragController.cpp:
(WebCore::DragController::concludeEditDrag):
* page/EditorClient.h:
(WebCore):
(EditorClient):
Source/WebKit/blackberry:
* WebCoreSupport/EditorClientBlackBerry.cpp:
(WebCore::EditorClientBlackBerry::shouldApplyStyle):
* WebCoreSupport/EditorClientBlackBerry.h:
(EditorClientBlackBerry):
Source/WebKit/chromium:
* src/EditorClientImpl.cpp:
(WebKit::EditorClientImpl::shouldApplyStyle):
* src/EditorClientImpl.h:
(EditorClientImpl):
Source/WebKit/efl:
* WebCoreSupport/EditorClientEfl.cpp:
(WebCore::EditorClientEfl::shouldApplyStyle):
* WebCoreSupport/EditorClientEfl.h:
(EditorClientEfl):
Source/WebKit/gtk:
* WebCoreSupport/EditorClientGtk.cpp:
(WebKit::EditorClient::shouldApplyStyle):
* WebCoreSupport/EditorClientGtk.h:
(EditorClient):
Source/WebKit/mac:
* WebCoreSupport/WebEditorClient.h:
(WebEditorClient):
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::shouldApplyStyle):
* WebView/WebFrame.mm:
(-[WebFrame _setTypingStyle:withUndoAction:]):
* WebView/WebHTMLView.mm:
(-[WebHTMLView _applyStyleToSelection:withUndoAction:]):
(-[WebHTMLView _changeCSSColorUsingSelector:inRange:]):
* WebView/WebView.mm:
(-[WebView applyStyle:]):
Source/WebKit/qt:
* WebCoreSupport/EditorClientQt.cpp:
(WebCore::EditorClientQt::shouldApplyStyle):
* WebCoreSupport/EditorClientQt.h:
(EditorClientQt):
Source/WebKit/win:
* WebCoreSupport/WebEditorClient.cpp:
(WebEditorClient::shouldApplyStyle):
* WebCoreSupport/WebEditorClient.h:
(WebEditorClient):
Source/WebKit/wince:
* WebCoreSupport/EditorClientWinCE.cpp:
(WebKit::EditorClientWinCE::shouldApplyStyle):
Source/WebKit/wx:
* WebKitSupport/EditorClientWx.cpp:
(WebCore::EditorClientWx::shouldApplyStyle):
* WebKitSupport/EditorClientWx.h:
(EditorClientWx):
Source/WebKit2:
* WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::shouldApplyStyle):
* WebProcess/WebCoreSupport/WebEditorClient.h:
(WebEditorClient):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108462
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 22 Feb 2012 09:03:02 +0000 (09:03 +0000)]
[GTK] fast/mediastream/peerconnection-argument-types.html fails
https://bugs.webkit.org/show_bug.cgi?id=79096
Patch by Yanbin Zhang <yanbin.zhang@intel.com> on 2012-02-22
Reviewed by Adam Barth.
* fast/mediastream/peerconnection-argument-types-expected.txt:
* fast/mediastream/script-tests/argument-types.js:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108460
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Wed, 22 Feb 2012 08:55:46 +0000 (08:55 +0000)]
Unreviewed, rolling out r107351.
http://trac.webkit.org/changeset/107351
https://bugs.webkit.org/show_bug.cgi?id=53600
Several issues introduced in WebKitGTK+ API
Source/WebKit/gtk:
* WebCoreSupport/ChromeClientGtk.cpp:
(WebKit::ChromeClient::ChromeClient):
(WebKit::ChromeClient::chromeDestroyed):
(WebKit::ChromeClient::canRunModal):
(WebKit::ChromeClient::runModal):
* WebCoreSupport/ChromeClientGtk.h:
(ChromeClient):
* webkit/webkitwebview.cpp:
(webkit_web_view_class_init):
Tools:
* DumpRenderTree/gtk/DumpRenderTree.cpp:
(createWebView):
* GtkLauncher/main.c:
(createWebViewCb):
(createBrowser):
(createWindow):
(main):
LayoutTests:
* platform/gtk/Skipped:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108459
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 22 Feb 2012 08:54:57 +0000 (08:54 +0000)]
[chromium] Cull quads outside of the scissoring damage rect
https://bugs.webkit.org/show_bug.cgi?id=79181
Patch by Dana Jansens <danakj@chromium.org> on 2012-02-22
Reviewed by James Robinson.
Source/WebCore:
Quads outside of the partial swap cause us to execute GL operations
that actually use a fair amount of CPU time (enough to affect power
usage). Here we cull quads by only keeping their intersection
with the damage rect used for partial swap.
Unit test: CCQuadCuller.cpp
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::optimizeRenderPasses):
* platform/graphics/chromium/cc/CCQuadCuller.cpp:
(WebCore::CCQuadCuller::cullOccludedQuads):
* platform/graphics/chromium/cc/CCQuadCuller.h:
(CCQuadCuller):
* platform/graphics/chromium/cc/CCRenderPass.cpp:
(WebCore::CCRenderPass::optimizeQuads):
* platform/graphics/chromium/cc/CCRenderPass.h:
(CCRenderPass):
Source/WebKit/chromium:
* tests/CCQuadCullerTest.cpp:
(WebCore::TEST):
(WebCore):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108458
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 22 Feb 2012 08:43:52 +0000 (08:43 +0000)]
Short circuit fixed for a 16 bt pattern character and an 8 bit string.
https://bugs.webkit.org/show_bug.cgi?id=75602
Patch by Hojong Han <hojong.han@samsung.com> on 2012-02-22
Reviewed by Gavin Barraclough.
* yarr/YarrJIT.cpp:
(JSC::Yarr::YarrGenerator::backtrackPatternCharacterGreedy):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108456
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
philn@webkit.org [Wed, 22 Feb 2012 08:37:18 +0000 (08:37 +0000)]
Unreviewed, GTK gardening.
* platform/gtk/Skipped:
* platform/gtk/fast/forms/float-before-fieldset-expected.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108455
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jonlee@apple.com [Wed, 22 Feb 2012 08:30:01 +0000 (08:30 +0000)]
Part of r108409 was incorrect, and incorporated an older version of a sub-patch.
This is the actual sub-patch that should have been submitted.
* WebCoreSupport/WebNotificationClient.h:
* WebCoreSupport/WebNotificationClient.mm:
(WebNotificationClient::show):
(WebNotificationClient::cancel):
(WebNotificationClient::clearNotifications):
(WebNotificationClient::notificationObjectDestroyed):
(WebNotificationClient::notificationControllerDestroyed):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108454
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 22 Feb 2012 07:59:51 +0000 (07:59 +0000)]
[Chromium] New CCOcclusionTracker class with tests
https://bugs.webkit.org/show_bug.cgi?id=78549
Patch by Dana Jansens <danakj@chromium.org> on 2012-02-21
Reviewed by James Robinson.
Source/WebCore:
Adds a CCOcclusionTrackerBase template class that is able to track occlusion
of layers while traversing the layer tree from front-to-back, with typedefed
versions for the main and impl threads.
At each step of the front-to-back traversal, the class should be notified of
changes to the current render target, and when done working with a layer, the
layer is added the tracked occlusion.
The class provides tests for checking if a rect in content space
for a layer/surface is occluded by others in front of it.
Unit tests: CCOcclusionTrackerTest.cpp
* WebCore.gypi:
* platform/graphics/chromium/cc/CCOcclusionTracker.cpp: Added.
(WebCore):
(WebCore::::enterTargetRenderSurface):
(WebCore::::finishedTargetRenderSurface):
(WebCore::transformSurfaceOpaqueRegion):
(WebCore::::leaveToTargetRenderSurface):
(WebCore::contentToScreenSpaceTransform):
(WebCore::contentToTargetSurfaceTransform):
(WebCore::computeOcclusionBehindLayer):
(WebCore::::markOccludedBehindLayer):
(WebCore::testContentRectOccluded):
(WebCore::::occluded):
(WebCore::::surfaceOccluded):
(WebCore::rectSubtractRegion):
(WebCore::computeUnoccludedContentRect):
(WebCore::::unoccludedContentRect):
(WebCore::::surfaceUnoccludedContentRect):
(WebCore::::currentOcclusionInScreenSpace):
(WebCore::::currentOcclusionInTargetSurface):
* platform/graphics/chromium/cc/CCOcclusionTracker.h: Added.
(WebCore):
(CCOcclusionTrackerBase):
(WebCore::CCOcclusionTrackerBase::CCOcclusionTrackerBase):
(StackObject):
Source/WebKit/chromium:
* WebKit.gypi:
* tests/CCLayerTreeHostCommonTest.cpp:
(WebCore):
* tests/CCOcclusionTrackerTest.cpp: Added.
(WebCore):
(WebCore::setLayerPropertiesForTesting):
(LayerChromiumWithForcedDrawsContent):
(WebCore::LayerChromiumWithForcedDrawsContent::LayerChromiumWithForcedDrawsContent):
(WebCore::LayerChromiumWithForcedDrawsContent::drawsContent):
(TestCCOcclusionTracker):
(WebCore::TestCCOcclusionTracker::occlusionInScreenSpace):
(WebCore::TestCCOcclusionTracker::occlusionInTargetSurface):
(WebCore::TestCCOcclusionTracker::setOcclusionInScreenSpace):
(WebCore::TestCCOcclusionTracker::setOcclusionInTargetSurface):
(WebCore::TEST):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108453
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Wed, 22 Feb 2012 07:37:30 +0000 (07:37 +0000)]
[GTK] Null ResourceErrors are encoded/decoded as empty ResourceErrors
https://bugs.webkit.org/show_bug.cgi?id=79120
Reviewed by Martin Robinson.
* Shared/gtk/WebCoreArgumentCodersGtk.cpp:
(CoreIPC::::encode): Encode a boolean to indicate whether it's a
Null error.
(CoreIPC::::decode): Check whether the error is Null and do not
continue decoding in such case.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108452
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kling@webkit.org [Wed, 22 Feb 2012 07:33:56 +0000 (07:33 +0000)]
Cache <font face> family lists in CSSValuePool.
<http://webkit.org/b/79195>
Reviewed by Antti Koivisto.
HTMLFontElements with "face" attributes are very common in legacy web content.
Add a String->CSSValue cache for these in CSSValuePool and use it to avoid
reparsing and recreating duplicate font face values.
This knocks 20ms (~1.5%) worth of samples off of the Moz page cycler on my system.
* css/CSSParser.cpp:
(WebCore::CSSParser::parseFontFaceValue):
* css/CSSParser.h:
* css/CSSValuePool.cpp:
(WebCore::CSSValuePool::createFontFaceValue):
* css/CSSValuePool.h:
* html/HTMLFontElement.cpp:
(WebCore::HTMLFontElement::collectStyleForAttribute):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108451
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abarth@webkit.org [Wed, 22 Feb 2012 07:28:04 +0000 (07:28 +0000)]
Separate the implementation of registerProtocolHandler from Navigator.cpp
https://bugs.webkit.org/show_bug.cgi?id=78945
Reviewed by Eric Seidel.
The implementation of registerProtocolHandler needlessly complicates
the implementation of Navigator.cpp. In principle,
registerProtocolHandler (and possibly registerContentHandler, when we
implement that feature) could be its own module, but that seems like
overkill for one or two files.
* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* page/Navigator.cpp:
(WebCore):
* page/Navigator.h:
(Navigator):
* page/Navigator.idl:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108450
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
morrita@google.com [Wed, 22 Feb 2012 07:20:19 +0000 (07:20 +0000)]
HasIDFlag and HasClassFlag can be removed.
https://bugs.webkit.org/show_bug.cgi?id=77861
Reviewed by Andreas Kling.
Replaced HasIDFlag and HasClassFlag with a check against
ElementAttributeData. It looks these flags (originally bitfields)
were legacy of ancient era, where we didn't cache @id and @class
values and needed a hash lookup for each check.
No new tests. No behavioral change.
* dom/Element.cpp:
(WebCore::Element::idAttributeChanged):
* dom/Element.h:
(WebCore::Element::hasID):
(WebCore):
(WebCore::Element::hasClass):
(WebCore::Node::hasID):
(WebCore::Node::hasClass):
* dom/ElementAttributeData.h:
(WebCore::ElementAttributeData::hasID):
(WebCore::ElementAttributeData::hasClass):
(ElementAttributeData):
* dom/Node.h:
(Node):
(WebCore::nodeStyleChangeShift):
* dom/StyledElement.cpp:
(WebCore::StyledElement::classAttributeChanged):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108449
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Wed, 22 Feb 2012 07:15:46 +0000 (07:15 +0000)]
Build fix for systems with case sensitive disks.
* llint/LLIntOfflineAsmConfig.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108448
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mdelaney@apple.com [Wed, 22 Feb 2012 06:29:33 +0000 (06:29 +0000)]
2D Canvas setTransform makes unnecessary matrix mults
https://bugs.webkit.org/show_bug.cgi?id=79190
Reviewed by Dan Bernstein.
No new tests - plenty of current tests using setTransform.
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::setTransform):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108447
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
morrita@google.com [Wed, 22 Feb 2012 05:46:08 +0000 (05:46 +0000)]
INPUT_SPEECH should be implemented as a PageSupplement.
https://bugs.webkit.org/show_bug.cgi?id=79051
Source/WebCore:
Turned SpeechInput to a PageSupplement.
Reviewed by Adam Barth.
No new tests. No behavior change.
* html/shadow/TextControlInnerElements.cpp:
(WebCore::InputFieldSpeechButtonElement::speechInput):
(WebCore::InputFieldSpeechButtonElement::attach):
* page/Page.cpp:
(WebCore::Page::Page):
(WebCore::Page::PageClients::PageClients):
* page/Page.h:
(WebCore):
(PageClients):
(Page):
* page/SpeechInput.cpp:
(WebCore::SpeechInput::supplementName):
(WebCore):
(WebCore::provideSpeechInputTo):
* page/SpeechInput.h:
(SpeechInput):
(WebCore::SpeechInput::from):
* page/SpeechInputClient.h:
(WebCore):
Source/WebKit/chromium:
Reviewed by Adam Barth.
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::WebViewImpl):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108446
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 22 Feb 2012 05:29:06 +0000 (05:29 +0000)]
[chromium] Add three small zoom gesture features
https://bugs.webkit.org/show_bug.cgi?id=74216
Patch by Alexandre Elias <aelias@google.com> on 2012-02-21
Reviewed by James Robinson.
1. Support panning around with two fingers.
2. When double-tap zooming, issue the commit at final/scroll scale as
early as possible.
3. When pinch zooming out, issue a commit at minimum scale to avoid
showing checkerboard.
Added test for panning to CCLayerTreeHostImplTest::pinchGesture.
(The other features are heuristics whose exact behavior we don't need
to lock in with a test.)
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::startPageScaleAnimation):
(WebCore::CCLayerTreeHostImpl::pinchGestureBegin):
(WebCore::CCLayerTreeHostImpl::pinchGestureUpdate):
(WebCore::CCLayerTreeHostImpl::computeDoubleTapZoomDeltas):
(WebCore::CCLayerTreeHostImpl::computePinchZoomDeltas):
(WebCore::CCLayerTreeHostImpl::makeScrollAndScaleSet):
(WebCore::CCLayerTreeHostImpl::processScrollDeltas):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108445
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Wed, 22 Feb 2012 05:23:19 +0000 (05:23 +0000)]
JSC should be a triple-tier VM
https://bugs.webkit.org/show_bug.cgi?id=75812
<rdar://problem/
10079694>
Source/JavaScriptCore:
Reviewed by Gavin Barraclough.
Implemented an interpreter that uses the JIT's calling convention. This
interpreter is called LLInt, or the Low Level Interpreter. JSC will now
will start by executing code in LLInt and will only tier up to the old
JIT after the code is proven hot.
LLInt is written in a modified form of our macro assembly. This new macro
assembly is compiled by an offline assembler (see offlineasm), which
implements many modern conveniences such as a Turing-complete CPS-based
macro language and direct access to relevant C++ type information
(basically offsets of fields and sizes of structs/classes).
Code executing in LLInt appears to the rest of the JSC world "as if" it
were executing in the old JIT. Hence, things like exception handling and
cross-execution-engine calls just work and require pretty much no
additional overhead.
This interpreter is 2-2.5x faster than our old interpreter on SunSpider,
V8, and Kraken. With triple-tiering turned on, we're neutral on SunSpider,
V8, and Kraken, but appear to get a double-digit improvement on real-world
websites due to a huge reduction in the amount of JIT'ing.
* CMakeLists.txt:
* GNUmakefile.am:
* GNUmakefile.list.am:
* JavaScriptCore.pri:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops:
* JavaScriptCore.vcproj/JavaScriptCore/copy-files.cmd:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri:
* assembler/LinkBuffer.h:
* assembler/MacroAssemblerCodeRef.h:
(MacroAssemblerCodePtr):
(JSC::MacroAssemblerCodePtr::createFromExecutableAddress):
* bytecode/BytecodeConventions.h: Added.
* bytecode/CallLinkStatus.cpp:
(JSC::CallLinkStatus::computeFromLLInt):
(JSC):
(JSC::CallLinkStatus::computeFor):
* bytecode/CallLinkStatus.h:
(JSC::CallLinkStatus::isSet):
(JSC::CallLinkStatus::operator!):
(CallLinkStatus):
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dump):
(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::~CodeBlock):
(JSC::CodeBlock::finalizeUnconditionally):
(JSC::CodeBlock::stronglyVisitStrongReferences):
(JSC):
(JSC::CodeBlock::unlinkCalls):
(JSC::CodeBlock::unlinkIncomingCalls):
(JSC::CodeBlock::bytecodeOffset):
(JSC::ProgramCodeBlock::jettison):
(JSC::EvalCodeBlock::jettison):
(JSC::FunctionCodeBlock::jettison):
(JSC::ProgramCodeBlock::jitCompileImpl):
(JSC::EvalCodeBlock::jitCompileImpl):
(JSC::FunctionCodeBlock::jitCompileImpl):
* bytecode/CodeBlock.h:
(JSC):
(CodeBlock):
(JSC::CodeBlock::baselineVersion):
(JSC::CodeBlock::linkIncomingCall):
(JSC::CodeBlock::bytecodeOffset):
(JSC::CodeBlock::jitCompile):
(JSC::CodeBlock::hasOptimizedReplacement):
(JSC::CodeBlock::addPropertyAccessInstruction):
(JSC::CodeBlock::addGlobalResolveInstruction):
(JSC::CodeBlock::addLLIntCallLinkInfo):
(JSC::CodeBlock::addGlobalResolveInfo):
(JSC::CodeBlock::numberOfMethodCallLinkInfos):
(JSC::CodeBlock::valueProfilePredictionForBytecodeOffset):
(JSC::CodeBlock::likelyToTakeSlowCase):
(JSC::CodeBlock::couldTakeSlowCase):
(JSC::CodeBlock::likelyToTakeSpecialFastCase):
(JSC::CodeBlock::likelyToTakeDeepestSlowCase):
(JSC::CodeBlock::likelyToTakeAnySlowCase):
(JSC::CodeBlock::addFrequentExitSite):
(JSC::CodeBlock::dontJITAnytimeSoon):
(JSC::CodeBlock::jitAfterWarmUp):
(JSC::CodeBlock::jitSoon):
(JSC::CodeBlock::llintExecuteCounter):
(ProgramCodeBlock):
(EvalCodeBlock):
(FunctionCodeBlock):
* bytecode/GetByIdStatus.cpp:
(JSC::GetByIdStatus::computeFromLLInt):
(JSC):
(JSC::GetByIdStatus::computeFor):
* bytecode/GetByIdStatus.h:
(JSC::GetByIdStatus::GetByIdStatus):
(JSC::GetByIdStatus::wasSeenInJIT):
(GetByIdStatus):
* bytecode/Instruction.h:
(JSC):
(JSC::Instruction::Instruction):
(Instruction):
* bytecode/LLIntCallLinkInfo.h: Added.
(JSC):
(JSC::LLIntCallLinkInfo::LLIntCallLinkInfo):
(LLIntCallLinkInfo):
(JSC::LLIntCallLinkInfo::~LLIntCallLinkInfo):
(JSC::LLIntCallLinkInfo::isLinked):
(JSC::LLIntCallLinkInfo::unlink):
* bytecode/MethodCallLinkStatus.cpp:
(JSC::MethodCallLinkStatus::computeFor):
* bytecode/Opcode.cpp:
(JSC):
* bytecode/Opcode.h:
(JSC):
(JSC::padOpcodeName):
* bytecode/PutByIdStatus.cpp:
(JSC::PutByIdStatus::computeFromLLInt):
(JSC):
(JSC::PutByIdStatus::computeFor):
* bytecode/PutByIdStatus.h:
(PutByIdStatus):
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitResolve):
(JSC::BytecodeGenerator::emitResolveWithBase):
(JSC::BytecodeGenerator::emitGetById):
(JSC::BytecodeGenerator::emitPutById):
(JSC::BytecodeGenerator::emitDirectPutById):
(JSC::BytecodeGenerator::emitCall):
(JSC::BytecodeGenerator::emitConstruct):
(JSC::BytecodeGenerator::emitCatch):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::getPredictionWithoutOSRExit):
(JSC::DFG::ByteCodeParser::handleInlining):
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGCapabilities.h:
(JSC::DFG::canCompileOpcode):
* dfg/DFGOSRExitCompiler.cpp:
* dfg/DFGOperations.cpp:
* heap/Heap.h:
(JSC):
(JSC::Heap::firstAllocatorWithoutDestructors):
(Heap):
* heap/MarkStack.cpp:
(JSC::visitChildren):
* heap/MarkedAllocator.h:
(JSC):
(MarkedAllocator):
* heap/MarkedSpace.h:
(JSC):
(MarkedSpace):
(JSC::MarkedSpace::firstAllocator):
* interpreter/CallFrame.cpp:
(JSC):
(JSC::CallFrame::bytecodeOffsetForNonDFGCode):
(JSC::CallFrame::setBytecodeOffsetForNonDFGCode):
(JSC::CallFrame::currentVPC):
(JSC::CallFrame::setCurrentVPC):
(JSC::CallFrame::trueCallerFrame):
* interpreter/CallFrame.h:
(JSC::ExecState::hasReturnPC):
(JSC::ExecState::clearReturnPC):
(ExecState):
(JSC::ExecState::bytecodeOffsetForNonDFGCode):
(JSC::ExecState::currentVPC):
(JSC::ExecState::setCurrentVPC):
* interpreter/Interpreter.cpp:
(JSC::Interpreter::Interpreter):
(JSC::Interpreter::~Interpreter):
(JSC):
(JSC::Interpreter::initialize):
(JSC::Interpreter::isOpcode):
(JSC::Interpreter::unwindCallFrame):
(JSC::getCallerInfo):
(JSC::Interpreter::privateExecute):
(JSC::Interpreter::retrieveLastCaller):
* interpreter/Interpreter.h:
(JSC):
(Interpreter):
(JSC::Interpreter::getOpcode):
(JSC::Interpreter::getOpcodeID):
(JSC::Interpreter::classicEnabled):
* interpreter/RegisterFile.h:
(JSC):
(RegisterFile):
* jit/ExecutableAllocator.h:
(JSC):
* jit/HostCallReturnValue.cpp: Added.
(JSC):
(JSC::getHostCallReturnValueWithExecState):
* jit/HostCallReturnValue.h: Added.
(JSC):
(JSC::initializeHostCallReturnValue):
* jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):
(JSC::JIT::privateCompile):
* jit/JITCode.h:
(JSC::JITCode::isOptimizingJIT):
(JITCode):
(JSC::JITCode::isBaselineCode):
(JSC::JITCode::JITCode):
* jit/JITDriver.h:
(JSC::jitCompileIfAppropriate):
(JSC::jitCompileFunctionIfAppropriate):
* jit/JITExceptions.cpp:
(JSC::jitThrow):
* jit/JITInlineMethods.h:
(JSC::JIT::updateTopCallFrame):
* jit/JITStubs.cpp:
(JSC::DEFINE_STUB_FUNCTION):
(JSC):
* jit/JITStubs.h:
(JSC):
* jit/JSInterfaceJIT.h:
* llint: Added.
* llint/LLIntCommon.h: Added.
* llint/LLIntData.cpp: Added.
(LLInt):
(JSC::LLInt::Data::Data):
(JSC::LLInt::Data::performAssertions):
(JSC::LLInt::Data::~Data):
* llint/LLIntData.h: Added.
(JSC):
(LLInt):
(Data):
(JSC::LLInt::Data::exceptionInstructions):
(JSC::LLInt::Data::opcodeMap):
(JSC::LLInt::Data::performAssertions):
* llint/LLIntEntrypoints.cpp: Added.
(LLInt):
(JSC::LLInt::getFunctionEntrypoint):
(JSC::LLInt::getEvalEntrypoint):
(JSC::LLInt::getProgramEntrypoint):
* llint/LLIntEntrypoints.h: Added.
(JSC):
(LLInt):
(JSC::LLInt::getEntrypoint):
* llint/LLIntExceptions.cpp: Added.
(LLInt):
(JSC::LLInt::interpreterThrowInCaller):
(JSC::LLInt::returnToThrowForThrownException):
(JSC::LLInt::returnToThrow):
(JSC::LLInt::callToThrow):
* llint/LLIntExceptions.h: Added.
(JSC):
(LLInt):
* llint/LLIntOfflineAsmConfig.h: Added.
* llint/LLIntOffsetsExtractor.cpp: Added.
(JSC):
(LLIntOffsetsExtractor):
(JSC::LLIntOffsetsExtractor::dummy):
(main):
* llint/LLIntSlowPaths.cpp: Added.
(LLInt):
(JSC::LLInt::llint_trace_operand):
(JSC::LLInt::llint_trace_value):
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
(JSC::LLInt::traceFunctionPrologue):
(JSC::LLInt::shouldJIT):
(JSC::LLInt::entryOSR):
(JSC::LLInt::resolveGlobal):
(JSC::LLInt::getByVal):
(JSC::LLInt::handleHostCall):
(JSC::LLInt::setUpCall):
(JSC::LLInt::genericCall):
* llint/LLIntSlowPaths.h: Added.
(JSC):
(LLInt):
* llint/LLIntThunks.cpp: Added.
(LLInt):
(JSC::LLInt::generateThunkWithJumpTo):
(JSC::LLInt::functionForCallEntryThunkGenerator):
(JSC::LLInt::functionForConstructEntryThunkGenerator):
(JSC::LLInt::functionForCallArityCheckThunkGenerator):
(JSC::LLInt::functionForConstructArityCheckThunkGenerator):
(JSC::LLInt::evalEntryThunkGenerator):
(JSC::LLInt::programEntryThunkGenerator):
* llint/LLIntThunks.h: Added.
(JSC):
(LLInt):
* llint/LowLevelInterpreter.asm: Added.
* llint/LowLevelInterpreter.cpp: Added.
* llint/LowLevelInterpreter.h: Added.
* offlineasm: Added.
* offlineasm/armv7.rb: Added.
* offlineasm/asm.rb: Added.
* offlineasm/ast.rb: Added.
* offlineasm/backends.rb: Added.
* offlineasm/generate_offset_extractor.rb: Added.
* offlineasm/instructions.rb: Added.
* offlineasm/offset_extractor_constants.rb: Added.
* offlineasm/offsets.rb: Added.
* offlineasm/opt.rb: Added.
* offlineasm/parser.rb: Added.
* offlineasm/registers.rb: Added.
* offlineasm/self_hash.rb: Added.
* offlineasm/settings.rb: Added.
* offlineasm/transform.rb: Added.
* offlineasm/x86.rb: Added.
* runtime/CodeSpecializationKind.h: Added.
(JSC):
* runtime/CommonSlowPaths.h:
(JSC::CommonSlowPaths::arityCheckFor):
(CommonSlowPaths):
* runtime/Executable.cpp:
(JSC::jettisonCodeBlock):
(JSC):
(JSC::EvalExecutable::jitCompile):
(JSC::samplingDescription):
(JSC::EvalExecutable::compileInternal):
(JSC::ProgramExecutable::jitCompile):
(JSC::ProgramExecutable::compileInternal):
(JSC::FunctionExecutable::baselineCodeBlockFor):
(JSC::FunctionExecutable::jitCompileForCall):
(JSC::FunctionExecutable::jitCompileForConstruct):
(JSC::FunctionExecutable::compileForCallInternal):
(JSC::FunctionExecutable::compileForConstructInternal):
* runtime/Executable.h:
(JSC):
(EvalExecutable):
(ProgramExecutable):
(FunctionExecutable):
(JSC::FunctionExecutable::jitCompileFor):
* runtime/ExecutionHarness.h: Added.
(JSC):
(JSC::prepareForExecution):
(JSC::prepareFunctionForExecution):
* runtime/JSArray.h:
(JSC):
(JSArray):
* runtime/JSCell.h:
(JSC):
(JSCell):
* runtime/JSFunction.h:
(JSC):
(JSFunction):
* runtime/JSGlobalData.cpp:
(JSC::JSGlobalData::JSGlobalData):
* runtime/JSGlobalData.h:
(JSC):
(JSGlobalData):
* runtime/JSGlobalObject.h:
(JSC):
(JSGlobalObject):
* runtime/JSObject.h:
(JSC):
(JSObject):
(JSFinalObject):
* runtime/JSPropertyNameIterator.h:
(JSC):
(JSPropertyNameIterator):
* runtime/JSString.h:
(JSC):
(JSString):
* runtime/JSTypeInfo.h:
(JSC):
(TypeInfo):
* runtime/JSValue.cpp:
(JSC::JSValue::description):
* runtime/JSValue.h:
(LLInt):
(JSValue):
* runtime/JSVariableObject.h:
(JSC):
(JSVariableObject):
* runtime/Options.cpp:
(Options):
(JSC::Options::initializeOptions):
* runtime/Options.h:
(Options):
* runtime/ScopeChain.h:
(JSC):
(ScopeChainNode):
* runtime/Structure.cpp:
(JSC::Structure::addPropertyTransition):
* runtime/Structure.h:
(JSC):
(Structure):
* runtime/StructureChain.h:
(JSC):
(StructureChain):
* wtf/InlineASM.h:
* wtf/Platform.h:
* wtf/SentinelLinkedList.h:
(SentinelLinkedList):
(WTF::SentinelLinkedList::isEmpty):
* wtf/text/StringImpl.h:
(JSC):
(StringImpl):
Source/WebCore:
Reviewed by Gavin Barraclough.
No new tests, because there is no change in behavior.
* CMakeLists.txt:
Source/WebKit:
Reviewed by Gavin Barraclough.
Changed EFL's build system to include a new directory in JavaScriptCore.
* CMakeLists.txt:
Tools:
Reviewed by Gavin Barraclough.
Changed EFL's build system to include a new directory in JavaScriptCore.
* DumpRenderTree/efl/CMakeLists.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108444
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
haraken@chromium.org [Wed, 22 Feb 2012 05:13:46 +0000 (05:13 +0000)]
NavigatorMediaStream.idl defines an interface for NavigatorGamepad
https://bugs.webkit.org/show_bug.cgi?id=79152
Reviewed by Adam Barth.
Fixed a typo: NavigatorGamepad => NavigatorMediaStream
This typo fix just changes the name of generated files:
- V8NavigatorGamepad.h => V8NavigatorMediaStream.h
- V8NavigatorGamepad.cpp => V8NavigatorMediaStream.cpp
The reason why the typo has not caused any serious build issues is that
the generate files for supplemental interfaces are "empty" and not important.
They just exist to control makefile dependencies.
No tests. No change in behavior.
* mediastream/NavigatorMediaStream.idl:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108443
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 22 Feb 2012 05:12:15 +0000 (05:12 +0000)]
[Chromium] Fix compositor setting color uniforms incorrectly for solid color quads.
https://bugs.webkit.org/show_bug.cgi?id=76017
Patch by Daniel Sievers <sievers@chromium.org> on 2012-02-21
Reviewed by James Robinson.
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawSolidColorQuad):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108442
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 22 Feb 2012 04:42:29 +0000 (04:42 +0000)]
getCTM() on SVG root element with borders, paddings, and viewbox returns incorrect values
https://bugs.webkit.org/show_bug.cgi?id=78631
Patch by Max Vujovic <mvujovic@adobe.com> on 2012-02-21
Reviewed by Eric Seidel.
Source/WebCore:
SVGSVGElement::currentViewportSize was returning the size of the SVG viewport plus CSS
borders and paddings, causing the CTM calculation to be off.
Test: svg/dom/SVGLocatable-getCTM-svg-root.html
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::currentViewportSize):
SVGSVGElement::currentViewportSize now uses the contentBoxRect instead of the frameRect.
The contentBoxRect corresponds to the SVG viewport and does not include borders and
paddings.
LayoutTests:
* platform/chromium/test_expectations.txt
* platform/mac/svg/dom/SVGLocatable-getCTM-svg-root-expected.png
* svg/dom/SVGLocatable-getCTM-svg-root-expected.txt: Added.
* svg/dom/SVGLocatable-getCTM-svg-root.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108441
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 22 Feb 2012 04:34:19 +0000 (04:34 +0000)]
[BlackBerry] Upstream Icon class in platform/graphics/blackberry
https://bugs.webkit.org/show_bug.cgi?id=79088
Patch by Robin Cao <robin.cao@torchmobile.com.cn> on 2012-02-21
Reviewed by Antonio Gomes.
Initial upstreaming, no new tests.
* platform/graphics/blackberry/IconBlackBerry.cpp: Added.
(WebCore):
(WebCore::Icon::~Icon):
(WebCore::Icon::paint):
(WebCore::Icon::createIconForFiles):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108440
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bashi@chromium.org [Wed, 22 Feb 2012 04:26:26 +0000 (04:26 +0000)]
Rename "reserved1" flag of WebSocketFrame to compress
https://bugs.webkit.org/show_bug.cgi?id=79187
Source/WebCore:
WebSocket deflate-frame extension draft specification defines COMP bit.
http://tools.ietf.org/html/draft-tyoshino-hybi-websocket-perframe-deflate-05#page-11
Reviewed by Kent Tamura.
No new tests. http/tests/websocket/tests/hybi/reserved-bits.html is revised to follow the change.
* websockets/WebSocketChannel.cpp:
(WebCore):
(WebCore::WebSocketChannel::parseFrame): "reserved1" renamed "compress".
(WebCore::WebSocketChannel::processFrame): Removed reserved1 flag check.
(WebCore::makeFrameData):
(WebCore::WebSocketChannel::sendFrame):
* websockets/WebSocketFrame.h: "reserved1" flag renamed "compress".
(WebCore::WebSocketFrame::WebSocketFrame):
(WebSocketFrame):
LayoutTests:
Reviewed by Kent Tamura.
* http/tests/websocket/tests/hybi/reserved-bits-expected.txt: Revised to follow the change in meaning rsv1 bit.
* http/tests/websocket/tests/hybi/reserved-bits.html: Ditto.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108439
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
yael.aharon@nokia.com [Wed, 22 Feb 2012 04:02:26 +0000 (04:02 +0000)]
[Texmap] Move all TextureMapper related files to graphics/texmap
https://bugs.webkit.org/show_bug.cgi?id=79141
Reviewed by Martin Robinson.
Move TextureMaooerGL and TextureMapperShaderManager files to graphics/texmap.
No new tests.
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* platform/graphics/qt/GraphicsContext3DQt.cpp
* platform/graphics/opengl/TextureMapperGL.cpp: Removed.
* platform/graphics/opengl/TextureMapperGL.h: Removed.
* platform/graphics/opengl/TextureMapperShaderManager.cpp: Removed.
* platform/graphics/opengl/TextureMapperShaderManager.h: Removed.
* platform/graphics/texmap/TextureMapperGL.cpp: Copied from Source/WebCore/platform/graphics/opengl/TextureMapperGL.cpp.
* platform/graphics/texmap/TextureMapperGL.h: Copied from Source/WebCore/platform/graphics/opengl/TextureMapperGL.h.
* platform/graphics/texmap/TextureMapperShaderManager.cpp: Copied from Source/WebCore/platform/graphics/opengl/TextureMapperShaderManager.cpp.
* platform/graphics/texmap/TextureMapperShaderManager.h: Copied from Source/WebCore/platform/graphics/opengl/TextureMapperShaderManager.h.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108438
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
morrita@google.com [Wed, 22 Feb 2012 03:56:43 +0000 (03:56 +0000)]
MEDIA_STREAM should be implemented as a PageSupplement.
https://bugs.webkit.org/show_bug.cgi?id=79050
Reviewed by Adam Barth.
Source/WebCore:
Added UserMediaController which implements PageSupplement. This
controller mediates WebCore-to-client communication and lifecycle
management. Then pushed UserMediaController out as a
PageSupplement module.
No new tests. No behavior change.
* WebCore.gypi:
* GNUmakefile.list.am:
* mediastream/NavigatorMediaStream.cpp:
(WebCore::NavigatorMediaStream::webkitGetUserMedia):
* mediastream/UserMediaClient.h:
(WebCore):
* mediastream/UserMediaController.cpp: Added.
(WebCore):
(WebCore::UserMediaController::supplementName):
(WebCore::UserMediaController::UserMediaController):
(WebCore::UserMediaController::~UserMediaController):
(WebCore::UserMediaController::create):
(WebCore::provideUserMediaTo):
* mediastream/UserMediaController.h: Added.
(WebCore):
(UserMediaController):
(WebCore::UserMediaController::client):
(WebCore::UserMediaController::from):
(WebCore::UserMediaController::requestUserMedia):
(WebCore::UserMediaController::cancelUserMediaRequest):
* mediastream/UserMediaRequest.cpp:
(WebCore::UserMediaRequest::create):
(WebCore::UserMediaRequest::UserMediaRequest):
(WebCore::UserMediaRequest::didCompleteQuery):
(WebCore::UserMediaRequest::contextDestroyed):
* mediastream/UserMediaRequest.h:
(WebCore):
(UserMediaRequest):
* page/Page.cpp:
(WebCore::Page::Page):
(WebCore::Page::~Page):
(WebCore::Page::PageClients::PageClients):
* page/Page.h:
(WebCore):
(PageClients):
(Page):
Source/WebKit/chromium:
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::WebViewImpl):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108437
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 22 Feb 2012 03:35:32 +0000 (03:35 +0000)]
Node::isContentEditable should only update styles, not layout
https://bugs.webkit.org/show_bug.cgi?id=78637
Patch by James Robinson <jamesr@chromium.org> on 2012-02-21
Reviewed by Ryosuke Niwa.
isContentEditable depends on knowing the node's current computed style, so it has to update styles if they are
out of date. It does not depend on knowing any layout-derived properties, however, so updating layout is just a
waste of time.
Behavior is covered by existing layout tests, primarily in editing/
* dom/Node.cpp:
(WebCore::Node::isContentEditable):
(WebCore::Node::isContentRichlyEditable):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108436
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jamesr@google.com [Wed, 22 Feb 2012 03:16:11 +0000 (03:16 +0000)]
Partially revert r108418 - move allowEventDispatch() call back to where it used to be.
Rubber-stamped by Ryosuke Niwa.
Tested by fast/text/find-layout-crash.html
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::removeChildren):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108435
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Wed, 22 Feb 2012 03:11:59 +0000 (03:11 +0000)]
Background jitters on pages with background-attachment: fixed
https://bugs.webkit.org/show_bug.cgi?id=79182
Reviewed by Dan Bernstein.
Make sure to update the main frame scroll position before updating the scrolling layer.
This also fixes a (purely theoretical) bug where we wouldn't be updating the main frame
position if the main frame didn't have a scroll layer.
* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108434
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 22 Feb 2012 02:58:54 +0000 (02:58 +0000)]
Early-out in Region::unite() for adding an empty region.
https://bugs.webkit.org/show_bug.cgi?id=79174
Patch by Dana Jansens <danakj@chromium.org> on 2012-02-21
Reviewed by Anders Carlsson.
* platform/graphics/Region.cpp:
(WebCore::Region::unite):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108433
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Wed, 22 Feb 2012 02:46:54 +0000 (02:46 +0000)]
Unbreak double-typed arrays on ARMv7
https://bugs.webkit.org/show_bug.cgi?id=79177
Reviewed by Gavin Barraclough.
The existing code had completely broken address arithmetic.
* JSCTypedArrayStubs.h:
(JSC):
* assembler/MacroAssemblerARMv7.h:
(JSC::MacroAssemblerARMv7::storeDouble):
(JSC::MacroAssemblerARMv7::storeFloat):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108432
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 22 Feb 2012 02:45:19 +0000 (02:45 +0000)]
[chromium] Painting a layer clears opaque rect in untouched tiles
https://bugs.webkit.org/show_bug.cgi?id=79157
Patch by Dana Jansens <danakj@chromium.org> on 2012-02-21
Reviewed by James Robinson.
Source/WebCore:
When painting a tiled layer, we would throw away the saved opaque rect
for any tiles that were not part of the paint. So now we check
if we are able to save the existing saved opaque rect in a more
proper way:
1. If any pixels of the saved rect are painted non-opaque, we replace
the saved rect.
2. If an opaque rect is drawn outside of the saved rect, we replace
the saved rect.
Unit test: TiledLayerChromiumTest.cpp
* platform/graphics/chromium/TiledLayerChromium.cpp:
(WebCore::TiledLayerChromium::prepareToUpdateTiles):
(WebCore::TiledLayerChromium::addSelfToOccludedScreenSpace):
Source/WebKit/chromium:
* tests/TiledLayerChromiumTest.cpp:
(WTF::TEST):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108431
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 22 Feb 2012 02:42:35 +0000 (02:42 +0000)]
Small typo in AudioPannerNode.cpp
https://bugs.webkit.org/show_bug.cgi?id=75890
Change to check elevation as intended instead of azimuth.
Patch by Raymond Toy <rtoy@google.com> on 2012-02-21
Reviewed by Chris Rogers.
No new tests for correction of typo.
* webaudio/AudioPannerNode.cpp:
(WebCore::AudioPannerNode::getAzimuthElevation):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108430
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jonlee@apple.com [Wed, 22 Feb 2012 02:35:55 +0000 (02:35 +0000)]
Build fix. Push ENABLE_NOTIFICATIONS into .mm file.
* WebCoreSupport/WebNotificationClient.h:
* WebView/WebNotification.h:
* WebView/WebNotification.mm:
(-[WebNotification title]):
(-[WebNotification body]):
(-[WebNotification origin]):
(-[WebNotification notificationID]):
(-[WebNotification dispatchShowEvent]):
(-[WebNotification dispatchCloseEvent]):
(-[WebNotification dispatchClickEvent]):
(-[WebNotification dispatchErrorEvent]):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108429
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abarth@webkit.org [Wed, 22 Feb 2012 02:22:15 +0000 (02:22 +0000)]
Frame and Navigator shouldn't need to worry about Geolocation
https://bugs.webkit.org/show_bug.cgi?id=78860
Reviewed by Eric Seidel.
This patch removes some Geolocation-specific code from Frame and
Navigator in favor of our new supplemental module mechanism. We're
still refining the module system, but we seem to be converging on a
simple Observer/Supplement design.
In a future patch, I'll move the remaining Geolocation-related files in
WebCore into Modules/geolocation. This patch appears to be the first
patch that introduces a module used by all the various build systems,
which is why there's a bit more build system overhead than usual.
* Modules/geolocation: Added.
* Modules/geolocation/NavigatorGeolocation.cpp: Added.
(WebCore):
(WebCore::NavigatorGeolocation::NavigatorGeolocation):
(WebCore::NavigatorGeolocation::~NavigatorGeolocation):
(WebCore::NavigatorGeolocation::pageDestroyed):
(WebCore::NavigatorGeolocation::from):
(WebCore::NavigatorGeolocation::geolocation):
* Modules/geolocation/NavigatorGeolocation.h: Added.
(WebCore):
(NavigatorGeolocation):
* Modules/geolocation/NavigatorGeolocation.idl: Added.
- I've temporarily disabled this API for GObject because it generates
a strange compile error. Once I land this patch, I'll spend some
more time fixing the compile error.
* page/DOMWindow.cpp:
(WebCore):
* page/DOMWindow.h:
(DOMWindow):
* page/Frame.cpp:
(WebCore::Frame::pageDestroyed):
(WebCore::Frame::transferChildFrameToNewDocument):
* page/FrameDestructionObserver.cpp:
(WebCore::FrameDestructionObserver::pageDestroyed):
(WebCore):
* page/FrameDestructionObserver.h:
(FrameDestructionObserver):
* page/Navigator.cpp:
(WebCore):
* page/Navigator.h:
(WebCore):
(Navigator):
* page/Navigator.idl:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108428
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
barraclough@apple.com [Wed, 22 Feb 2012 01:51:25 +0000 (01:51 +0000)]
Should be able to reconfigure a non-configurable property as read-only
https://bugs.webkit.org/show_bug.cgi?id=79170
Reviewed by Sam Weinig.
See ES5.1 8.12.9 10.a.i - the spec prohibits making a read-only property writable,
but does not inhibit making a writable property read-only.
Source/JavaScriptCore:
* runtime/JSGlobalData.cpp:
(JSC::JSGlobalData::JSGlobalData):
* runtime/JSGlobalData.h:
(JSC::JSGlobalData::setInDefineOwnProperty):
(JSGlobalData):
(JSC::JSGlobalData::isInDefineOwnProperty):
- Added flag, tracking whether we are in JSObject::defineOwnProperty.
* runtime/JSObject.cpp:
(JSC::JSObject::deleteProperty):
(DefineOwnPropertyScope):
- Always allow properties to be deleted by DefineOwnProperty - assume it knows what it is doing!
(JSC::DefineOwnPropertyScope::DefineOwnPropertyScope):
(JSC::DefineOwnPropertyScope::~DefineOwnPropertyScope):
- Added RAII helper.
(JSC::JSObject::defineOwnProperty):
- Track on the globalData when we are in this method.
LayoutTests:
* fast/js/Object-defineProperty-expected.txt:
* fast/js/script-tests/Object-defineProperty.js:
- Update test result (this was enforcing incorrect behaviour).
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108427
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
shawnsingh@chromium.org [Wed, 22 Feb 2012 01:49:36 +0000 (01:49 +0000)]
[chromium] Refactor CCLayerTreeHostCommon: merge scattered setTargetRenderSurface logic
https://bugs.webkit.org/show_bug.cgi?id=78936
Reviewed by James Robinson.
No change in behavior, the code moved around already covered by existing tests.
In calculateDrawTransformsAndVisibility(), there are two separate
if-else statements where setTargetRenderSurface logic is
performed, and this makes the code less readable and more error
prone. This patch merges the logic, removing the redundant if-else
statements.
This code also merges one other set of if-statements that are
equivalent, if (layer->parent()) and if (layer!=rootLayer).
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::createRenderSurface):
* platform/graphics/chromium/cc/CCLayerImpl.cpp:
(WebCore::CCLayerImpl::createRenderSurface):
* platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
(WebCore::calculateDrawTransformsAndVisibilityInternal):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108426
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sullivan@apple.com [Wed, 22 Feb 2012 01:36:11 +0000 (01:36 +0000)]
Build fix.
* WebView/WebUIDelegatePrivate.h:
Added @class declarations for DOMNode and DOMElement.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108425
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
haraken@chromium.org [Wed, 22 Feb 2012 01:23:24 +0000 (01:23 +0000)]
Remove FIXME from resolve-supplemental.pl
https://bugs.webkit.org/show_bug.cgi?id=79160
Reviewed by Adam Barth.
The IDL attribute checker has been enabled in all build systems.
This patch removes FIXME in resolve-supplemental.pl.
Also, this patch improves a comment in IDLAttributes.txt.
No tests. No change in behavior.
* bindings/scripts/IDLAttributes.txt:
* bindings/scripts/resolve-supplemental.pl:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108424
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eae@chromium.org [Wed, 22 Feb 2012 01:19:11 +0000 (01:19 +0000)]
Add FractionalLayoutRect for sub-pixel layout
https://bugs.webkit.org/show_bug.cgi?id=78924
Reviewed by Eric Seidel.
Add FractionalLayoutUnit version of Rect class. Uses FractionalLayoutPoint
and FractionalLayoutSize internally.
Also add conversions to int/float versions of same.
No new tests.
* GNUmakefile.list.am:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/FloatRect.cpp:
(WebCore::FloatRect::FloatRect):
(WebCore):
* platform/graphics/FloatRect.h:
(WebCore):
(FloatRect):
* platform/graphics/FractionalLayoutRect.cpp: Added.
(WebCore):
(WebCore::FractionalLayoutRect::FractionalLayoutRect):
(WebCore::FractionalLayoutRect::intersects):
(WebCore::FractionalLayoutRect::contains):
(WebCore::FractionalLayoutRect::intersect):
(WebCore::FractionalLayoutRect::unite):
(WebCore::FractionalLayoutRect::uniteIfNonZero):
(WebCore::FractionalLayoutRect::scale):
(WebCore::unionRect):
(WebCore::enclosingIntRect):
(WebCore::enclosingFractionalLayoutRect):
(WebCore::pixelSnappedIntRect):
* platform/graphics/FractionalLayoutRect.h: Added.
(WebCore):
(FractionalLayoutRect):
(WebCore::FractionalLayoutRect::FractionalLayoutRect):
(WebCore::FractionalLayoutRect::location):
(WebCore::FractionalLayoutRect::size):
(WebCore::FractionalLayoutRect::setLocation):
(WebCore::FractionalLayoutRect::setSize):
(WebCore::FractionalLayoutRect::x):
(WebCore::FractionalLayoutRect::y):
(WebCore::FractionalLayoutRect::maxX):
(WebCore::FractionalLayoutRect::maxY):
(WebCore::FractionalLayoutRect::width):
(WebCore::FractionalLayoutRect::height):
(WebCore::FractionalLayoutRect::setX):
(WebCore::FractionalLayoutRect::setY):
(WebCore::FractionalLayoutRect::setWidth):
(WebCore::FractionalLayoutRect::setHeight):
(WebCore::FractionalLayoutRect::isEmpty):
(WebCore::FractionalLayoutRect::center):
(WebCore::FractionalLayoutRect::move):
(WebCore::FractionalLayoutRect::moveBy):
(WebCore::FractionalLayoutRect::expand):
(WebCore::FractionalLayoutRect::contract):
(WebCore::FractionalLayoutRect::shiftXEdgeTo):
(WebCore::FractionalLayoutRect::shiftMaxXEdgeTo):
(WebCore::FractionalLayoutRect::shiftYEdgeTo):
(WebCore::FractionalLayoutRect::shiftMaxYEdgeTo):
(WebCore::FractionalLayoutRect::minXMinYCorner):
(WebCore::FractionalLayoutRect::maxXMinYCorner):
(WebCore::FractionalLayoutRect::minXMaxYCorner):
(WebCore::FractionalLayoutRect::maxXMaxYCorner):
(WebCore::FractionalLayoutRect::contains):
(WebCore::FractionalLayoutRect::inflateX):
(WebCore::FractionalLayoutRect::inflateY):
(WebCore::FractionalLayoutRect::inflate):
(WebCore::FractionalLayoutRect::transposedRect):
(WebCore::FractionalLayoutRect::infiniteRect):
(WebCore::intersection):
(WebCore::unionRect):
(WebCore::operator==):
(WebCore::operator!=):
* platform/graphics/IntRect.cpp:
(WebCore::IntRect::IntRect):
(WebCore):
* platform/graphics/IntRect.h:
(WebCore):
(IntRect):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108423
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jamesr@google.com [Wed, 22 Feb 2012 01:04:21 +0000 (01:04 +0000)]
Enable ScrollingCoordinator in chromium whenever compositing is enabled
https://bugs.webkit.org/show_bug.cgi?id=79165
Reviewed by Adam Barth.
Source/WebCore:
As the title says.
* page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
(WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
(WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
(WebCore::ScrollingCoordinator::setScrollLayer):
(WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
(WebCore::ScrollingCoordinator::setScrollParameters):
(WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
(WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
Remove ASSERT_NOT_REACHED()ed from these functions, they are now expected to be called but do nothing.
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::RenderLayerBacking):
Guard a mac-specific piece of code in #if PLATFORM(MAC). This code already has a FIXME.
* rendering/RenderLayerCompositor.cpp:
(WebCore::shouldCompositeOverflowControls):
Make coordinatesScroll..() sufficient but not necessary for compositing overflow controls. In chromium, we
want to composite overflow controls even for FrameViews that we aren't coordinating via the
ScrollingCoordinator.
Source/WebKit/chromium:
* src/NonCompositedContentHost.cpp:
(WebKit::NonCompositedContentHost::setViewport):
Whenever the ScrollingCoordinator is enabled the scroll layer's position is expected to be updated
externally to RenderLayerCompositor, so set it here.
* src/WebSettingsImpl.cpp:
(WebKit::WebSettingsImpl::setAcceleratedCompositingEnabled):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108422
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jonlee@apple.com [Wed, 22 Feb 2012 01:01:31 +0000 (01:01 +0000)]
Build fix for r108409.
* WebCoreSupport/WebNotificationClient.h:
(WebCore):
* WebCoreSupport/WebNotificationClient.mm:
* WebView/WebNotification.h:
(WebSecurityOrigin):
* WebView/WebNotification.mm:
(core):
(-[WebNotification initWithCoreNotification:notificationID:]):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108421
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Wed, 22 Feb 2012 00:49:48 +0000 (00:49 +0000)]
Make TypedArrays be available in commandline jsc
https://bugs.webkit.org/show_bug.cgi?id=79163
Reviewed by Gavin Barraclough.
Adds a compile time option to have jsc support a basic implementation
of the TypedArrays available in WebCore. This lets us test the typed
array logic in the JIT witout having to build webcore.
* JSCTypedArrayStubs.h: Added.
(JSC):
* JavaScriptCore.xcodeproj/project.pbxproj:
* jsc.cpp:
(GlobalObject::finishCreation):
(GlobalObject):
(GlobalObject::addConstructableFunction):
* runtime/JSGlobalData.h:
(JSGlobalData):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108420
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dcheng@chromium.org [Wed, 22 Feb 2012 00:47:28 +0000 (00:47 +0000)]
[chromium] Fix image drag out on Chromium
https://bugs.webkit.org/show_bug.cgi?id=79158
Reviewed by Tony Chang.
Source/WebKit/chromium:
We constructed the WebDragData::Item for dragging out an image but never added it to the
item list. This is normally covered by the fast/events/drag-image-filename.html layout test,
but the bug wasn't caught in the original patch since the implementations in Chrome and DRT
had diverged.
* src/WebDragData.cpp:
(WebKit::WebDragData::items):
Tools:
* DumpRenderTree/chromium/EventSender.cpp:
(EventSender::dumpFilenameBeingDragged):
(EventSender::beginDragWithFiles):
* DumpRenderTree/chromium/WebViewHost.cpp:
(addDRTFakeFileToDataObject):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108419
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
adamk@chromium.org [Wed, 22 Feb 2012 00:46:38 +0000 (00:46 +0000)]
Setting innerText causes DOMSubtreeModified to be dispatched too early
https://bugs.webkit.org/show_bug.cgi?id=79140
Reviewed by Ryosuke Niwa.
Source/WebCore:
Followup to r108152: move children change notifications later in
ContainerNode::removeChildren(), thus making sure Node::inDocument()
is in the correct state when we call into script.
Tests: fast/dom/getElementById-consistency3.html
fast/dom/getElementById-consistency4.html
fast/dom/getElementById-consistency5.html
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::removeChildren):
LayoutTests:
* fast/dom/getElementById-consistency3-expected.txt: Added.
* fast/dom/getElementById-consistency3.html: Added.
* fast/dom/getElementById-consistency4-expected.txt: Added.
* fast/dom/getElementById-consistency4.html: Added.
* fast/dom/getElementById-consistency5-expected.txt: Added.
* fast/dom/getElementById-consistency5.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108418
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Wed, 22 Feb 2012 00:42:37 +0000 (00:42 +0000)]
Assertion failure in TextIterator::handleTextBox
https://bugs.webkit.org/show_bug.cgi?id=78530
Source/WebCore:
Reviewed by Eric Seidel.
The assertion failure was caused by handleTextNodeFirstLetter's updating m_text without clearing
m_sortedTextBoxesPosition. Re-structured handleTextNode so that we always reset m_sortedTextBoxesPosition
when we have a first-letter.
Test: editing/text-iterator/rtl-first-letter-text-iterator-crash.html
* editing/TextIterator.cpp:
(WebCore::TextIterator::handleTextNode):
(WebCore::TextIterator::handleTextBox):
(WebCore::TextIterator::handleTextNodeFirstLetter):
LayoutTests:
Reviewed by Enrica Casucci.
Add a regression test. Also rebaseline a crash test.
* editing/text-iterator/rtl-first-letter-text-iterator-crash-expected.txt: Added.
* editing/text-iterator/rtl-first-letter-text-iterator-crash.html: Added.
* editing/text-iterator/rtl-selection-crash-expected.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108417
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
yael.aharon@nokia.com [Wed, 22 Feb 2012 00:38:06 +0000 (00:38 +0000)]
Unreviewed build fix.
No new tests.
* platform/graphics/opengl/TextureMapperGL.cpp:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108416
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
adamk@chromium.org [Wed, 22 Feb 2012 00:34:19 +0000 (00:34 +0000)]
ContainerNode::childrenChanged must be called immediately after removing children
https://bugs.webkit.org/show_bug.cgi?id=79162
Reviewed by Ryosuke Niwa.
Source/WebCore:
In r108152, a call to childrenChanged() was erroneously moved
below the call to child->removedFromDocument(). This breaks, at the
least, the behavior of the <title> element. This patch corrects the
mistake and adds a test.
Test: fast/dom/title-directionality-removeChild.html
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::removeChild):
LayoutTests:
* fast/dom/title-directionality-removeChild-expected.txt: Added.
* fast/dom/title-directionality-removeChild.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108415
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dpranke@chromium.org [Wed, 22 Feb 2012 00:32:33 +0000 (00:32 +0000)]
webkitpy: speed up hot filesystem_mock functions
https://bugs.webkit.org/show_bug.cgi?id=79159
Reviewed by Adam Barth.
Profiling run_webkit_tests_integrationtest.py revealed that
isdir(), normpath(), and join() are called a lot and were very
slow.This patch speeds them up substantially, shaving 20 seconds
off of the execution time.
* Scripts/webkitpy/common/system/filesystem_mock.py:
(MockFileSystem.isdir):
(MockFileSystem._slow_but_correct_join):
(MockFileSystem.join):
(MockFileSystem.listdir):
(MockFileSystem._slow_but_correct_normpath):
(MockFileSystem.normpath):
(MockFileSystem.write_binary_file):
* Scripts/webkitpy/common/system/filesystem_mock_unittest.py:
(MockFileSystemTest.quick_check):
(MockFileSystemTest):
(MockFileSystemTest.test_join):
(MockFileSystemTest.test_normpath):
* Scripts/webkitpy/tool/servers/rebaselineserver_unittest.py:
(get_test_config): Call write_binary_file() instead of updating
filesystem.files directly, so that we create directories as
needed.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108414
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dpranke@chromium.org [Wed, 22 Feb 2012 00:29:33 +0000 (00:29 +0000)]
nrwt: make the delay between starting workers configurable per-port
https://bugs.webkit.org/show_bug.cgi?id=79148
Reviewed by Eric Seidel.
Because of bug 79147, we have to sleep a bit in between starting
DRTs; however, doing so across the board slows down the Test
port. Making this configurable shaves 10 seconds off of
run_webkit_tests_integrationtest.py
* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager._run_tests):
* Scripts/webkitpy/layout_tests/port/base.py:
(Port.worker_startup_delay_secs):
* Scripts/webkitpy/layout_tests/port/test.py:
(TestPort.worker_startup_delay_secs):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108413
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tsepez@chromium.org [Wed, 22 Feb 2012 00:19:26 +0000 (00:19 +0000)]
equalIgnoringNullity() only comparing half the bytes for equality
https://bugs.webkit.org/show_bug.cgi?id=79135
Reviewed by Adam Barth.
Source/JavaScriptCore:
* wtf/text/StringImpl.h:
(WTF::equalIgnoringNullity):
LayoutTests:
* http/tests/security/xssAuditor/script-tag.html:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108412
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jamesr@google.com [Wed, 22 Feb 2012 00:12:09 +0000 (00:12 +0000)]
[chromium] Update chromium expectations for accessibility/aria-invalid.html
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108411
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
macpherson@chromium.org [Wed, 22 Feb 2012 00:03:28 +0000 (00:03 +0000)]
Implement many instances of HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE in CSSStyleApplyProperty.
https://bugs.webkit.org/show_bug.cgi?id=79067
Reviewed by Andreas Kling.
No new tests / refactoring only.
* css/CSSStyleApplyProperty.cpp:
(WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::collectMatchingRulesForList):
* rendering/style/RenderStyle.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108410
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jonlee@apple.com [Wed, 22 Feb 2012 00:00:59 +0000 (00:00 +0000)]
Source/WebCore: Bring notifications support to WK1 mac
https://bugs.webkit.org/show_bug.cgi?id=78783
<rdar://problem/
10610578>
Reviewed by Anders Carlsson.
* WebCore.exp.in: Expose dispatchErrorEvent on Notification.
Source/WebKit: Bring notifications support to WK1 mac: showing, canceling, removing notifications
https://bugs.webkit.org/show_bug.cgi?id=78783
<rdar://problem/
10610578>
Reviewed by Anders Carlsson.
* WebKit.xcodeproj/project.pbxproj: Added new files.
Source/WebKit/mac: Bring notifications support to WK1 mac: permission requests
https://bugs.webkit.org/show_bug.cgi?id=78783
<rdar://problem/
10610578>
Reviewed by Anders Carlsson.
* WebCoreSupport/WebNotificationClient.h:
* WebCoreSupport/WebNotificationClient.mm: Create policy listener, which conforms to the
WebAllowDenyPolicyListener protocol, similar to geolocation.
(WebNotificationClient::requestPermission):
(WebNotificationClient::checkPermission):
(-[WebNotificationPolicyListener initWithCallback:]):
(-[WebNotificationPolicyListener allow]): Call the callback.
(-[WebNotificationPolicyListener deny]): Call the callback.
* WebView/WebUIDelegatePrivate.h: Define new UI delegate method to ask the user to decide a
policy for navigations.
====
Bring notifications support to WK1 mac: showing, canceling, removing notifications
Create a WebKit wrapper object for WebCore::Notification, which also keeps track of an assigned
ID.
* WebView/WebNotification.h: Added.
(WebSecurityOrigin):
* WebView/WebNotification.mm: Added.
(core):
(-[WebNotification initWithCoreNotification:notificationID:]):
(-[WebNotification init]):
(-[WebNotification dealloc]):
(-[WebNotification title]):
(-[WebNotification body]):
(-[WebNotification origin]):
(-[WebNotification notificationID]):
(-[WebNotification dispatchShowEvent]):
(-[WebNotification dispatchCloseEvent]):
(-[WebNotification dispatchClickEvent]):
(-[WebNotification dispatchErrorEvent]):
* WebView/WebNotificationInternal.h: Added.
(WebCore): Internal category to allow creating instances with WebCore objects.
Extend WebView to include a WebNotificationProvider, which clients implement.
* WebView/WebViewData.h: Add a private member for the provider.
* WebView/WebViewPrivate.h:
* Define an enum WebNotificationPermission that mirrors WebCore::NotificationPresenter::Permission
that client which implement the provider can use to return policy decisions.
* Define WebNotificationProvider.
* Category WebViewNotification extends WebView with methods that set and manager the
notification provider, and handle events from the platform notifications.
* WebView/WebView.mm:
(-[WebView _setNotificationProvider:]): Sets the provider when initializing the WebView.
(-[WebView _notificationControllerDestroyed]):
(-[WebView _notificationProvider]):
(-[WebView _notificationDidShow:]):
(-[WebView _notificationDidClick:]):
(-[WebView _notificationsDidClose:]):
* WebCoreSupport/WebNotificationClient.h: Add variables that map between WebCore::Notification
instances, their assigned IDs, their contexts, and corresponding WebKit wrapper objects.
* WebCoreSupport/WebNotificationClient.mm:
(generateNotificationID): Created unique IDs for each shown notification.
(WebNotificationClient::show): Create wrapper object for notification, assign ID, cache the
mappings between the objects, and forward it to the provider.
(WebNotificationClient::cancel):
(WebNotificationClient::clearNotifications): Clear all notifications associated with the
provided context.
(WebNotificationClient::notificationObjectDestroyed): Remove the notification from the maps.
(WebNotificationClient::notificationControllerDestroyed): If the controller is destroyed, tell
the provider to clear of the notifications related to this web view.
====
(Prep work for) Bring notifications support to WK1 mac
Rename WebGeolocationPolicyListener. The interface is generic enough to be reused for
notification requests. To avoid having to create a new listener type, instead rename it
to WebAllowDenyPolicyListener.
* WebView/WebUIDelegatePrivate.h: Rename the protocol.
* WebCoreSupport/WebGeolocationClient.mm: Refactor geolocation request listener to use
new name.
Add preference to keep track of whether notifications are enabled in general.
* WebView/WebPreferenceKeysPrivate.h: Add WebNotificationsEnabledKey for storing the
preference.
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]): By default have them enabled.
(-[WebPreferences setNotificationsEnabled:]):
(-[WebPreferences notificationsEnabled]):
* WebView/WebPreferencesPrivate.h:
Add a stringValue method that exposes WebCore::SecurityOrigin::toString() for storing the
notification policy for a given origin.
* WebCoreSupport/WebSecurityOrigin.mm:
(-[WebSecurityOrigin stringValue]):
* WebCoreSupport/WebSecurityOriginPrivate.h:
Tools: Bring notifications support to WK1 mac
https://bugs.webkit.org/show_bug.cgi?id=78783
<rdar://problem/
10610578>
Reviewed by Anders Carlsson.
* DumpRenderTree/mac/UIDelegate.mm: Refactor WebGeolocationPolicyListener to WebAllowDenyPolicyListener.
(-[UIDelegate webView:decidePolicyForGeolocationRequestFromOrigin:frame:listener:]):
(-[UIDelegate timerFired]):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108409
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
noam.rosenthal@nokia.com [Tue, 21 Feb 2012 23:33:49 +0000 (23:33 +0000)]
[Qt][WK2] Draw tiles of previous contents-scale for opaque layers if they don't intersect with previous tiles
https://bugs.webkit.org/show_bug.cgi?id=78962
Only avoid painting old-scale tiles in semi-transparent situtations if the old
tiles intersect with existing tiles.
Reviewed by Kenneth Rohde Christiansen.
* UIProcess/qt/LayerBackingStore.cpp:
(WebKit::LayerBackingStore::paintToTextureMapper):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108408
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
noam.rosenthal@nokia.com [Tue, 21 Feb 2012 23:30:52 +0000 (23:30 +0000)]
[Qt] Previous web page appears outside content rect
https://bugs.webkit.org/show_bug.cgi?id=78816
Source/WebCore:
Adjust the scissor clipping by -1, as the glScissor() function requires coordinates and
not sizes.
Reviewed by Kenneth Rohde Christiansen.
No new functionality.
* platform/graphics/opengl/TextureMapperGL.cpp:
(WebCore::scissorClip):
Source/WebKit2:
Apply a clip on painted tiles if some of the tiles fall outside of the target rect.
Reviewed by Kenneth Rohde Christiansen.
* UIProcess/qt/LayerBackingStore.cpp:
(WebKit::LayerBackingStore::paintToTextureMapper):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108407
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 21 Feb 2012 23:28:00 +0000 (23:28 +0000)]
Source/WebCore: Added support for pause-on-exit flag on a TextTrackCue.
https://bugs.webkit.org/show_bug.cgi?id=72173
Patch by Victor Carbune <vcarbune@adobe.com> on 2012-02-21
Reviewed by Eric Carlson.
Test: media/track/track-cues-pause-on-exit.html
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::updateActiveTextTrackCues): Implemented
support for pausing the video if the pause-on-exit flag is set on
a cue that is currently exiting.
LayoutTests: Added relevant tests and functionality for supporting pause-on-exit
flag for a TextTrackCue.
https://bugs.webkit.org/show_bug.cgi?id=72173
Patch by Victor Carbune <vcarbune@adobe.com> on 2012-02-21
Reviewed by Eric Carlson.
* media/track/captions-webvtt/simple-captions.vtt: Added.
* media/track/track-cues-pause-on-exit-expected.txt: Added.
* media/track/track-cues-pause-on-exit.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108406
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
noam.rosenthal@nokia.com [Tue, 21 Feb 2012 22:57:55 +0000 (22:57 +0000)]
[Qt][WK2] Accelerated animations don't work on Mac
https://bugs.webkit.org/show_bug.cgi?id=78963
Problem came from using a non-RunLoop timer.
Remove the unused viewportUpdateTimer, and use the existing animationTimer instead.
Use a continuous timer that we only stop when animations stop.
Reviewed by Kenneth Rohde Christiansen.
* UIProcess/LayerTreeHostProxy.h:
(LayerTreeHostProxy):
* UIProcess/qt/LayerTreeHostProxyQt.cpp:
(WebKit::LayerTreeHostProxy::LayerTreeHostProxy):
(WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
(WebKit):
(WebKit::LayerTreeHostProxy::syncAnimations):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108405
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
haraken@chromium.org [Tue, 21 Feb 2012 22:51:31 +0000 (22:51 +0000)]
Enable the IDL attribute checker in all build systems
https://bugs.webkit.org/show_bug.cgi?id=79090
Reviewed by Adam Barth.
We have enabled the IDL attribute checker in Chromium in r108322.
This patch enables the IDL attribute checker in all other
build systems.
No tests. I manually checked that [Custommm], [CallWith=],
[CallWith=ScriptExecutionContext|Foo] cause build failures.
* CMakeLists.txt:
* DerivedSources.make:
* DerivedSources.pri:
* GNUmakefile.am:
* UseJSC.cmake:
* UseV8.cmake:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/scripts/IDLAttributes.txt: Added [ObjCCustomImplementation]
since I forgot to add it in r108322.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108404
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Tue, 21 Feb 2012 22:46:01 +0000 (22:46 +0000)]
Fix more typos.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108403
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
yael.aharon@nokia.com [Tue, 21 Feb 2012 22:44:59 +0000 (22:44 +0000)]
[Texmap] Better management of shaders in TextureMapperGL
https://bugs.webkit.org/show_bug.cgi?id=78674
Reviewed by Noam Rosenthal.
Split TextureMapperGL.cpp into two files.
Get rid of the enums that we were using to identify shaders and to identify variables.
Switch flip and opaque from using bool to using enums.
No new tests. This is refactoring only.
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* platform/graphics/OpenGLShims.h:
* platform/graphics/opengl/TextureMapperGL.cpp:
(WebCore):
(SharedGLData):
(WebCore::TextureMapperGLData::SharedGLData::SharedGLData):
(WebCore::TextureMapperGLData::SharedGLData::~SharedGLData):
(WebCore::TextureMapperGLData::TextureMapperGLData):
(TextureMapperGLData):
(WebCore::TextureMapperGL::drawTexture):
(WebCore::TextureMapperGL::drawTextureWithMaskAndOpacity):
(WebCore::TextureMapperGL::drawTextureSimple):
(WebCore::TextureMapperGL::beginClip):
* platform/graphics/opengl/TextureMapperGL.h:
* platform/graphics/opengl/TextureMapperShaderManager.cpp: Added.
(WebCore):
(WebCore::FRAGMENT_SHADER):
(WebCore::TextureMapperShaderProgram::initializeProgram):
(WebCore::TextureMapperShaderProgram::getUniformLocation):
(WebCore::TextureMapperShaderProgram::~TextureMapperShaderProgram):
(WebCore::TextureMapperShaderProgramSimple::create):
(WebCore::TextureMapperShaderProgramSimple::TextureMapperShaderProgramSimple):
(WebCore::TextureMapperShaderProgramSimple::vertexShaderSource):
(WebCore::TextureMapperShaderProgramSimple::fragmentShaderSource):
(WebCore::TextureMapperShaderProgramOpacityAndMask::create):
(WebCore::TextureMapperShaderProgramOpacityAndMask::TextureMapperShaderProgramOpacityAndMask):
(WebCore::TextureMapperShaderProgramOpacityAndMask::vertexShaderSource):
(WebCore::TextureMapperShaderProgramOpacityAndMask::fragmentShaderSource):
(WebCore::TextureMapperShaderProgramClip::create):
(WebCore::TextureMapperShaderProgramClip::TextureMapperShaderProgramClip):
(WebCore::TextureMapperShaderProgramClip::vertexShaderSource):
(WebCore::TextureMapperShaderProgramClip::fragmentShaderSource):
(WebCore::TextureMapperShaderManager::TextureMapperShaderManager):
(WebCore::TextureMapperShaderManager::~TextureMapperShaderManager):
* platform/graphics/opengl/TextureMapperShaderManager.h: Added.
(WebCore):
(WebCore::debugGLCommand):
(TextureMapperShaderProgram):
(WebCore::TextureMapperShaderProgram::id):
(WebCore::TextureMapperShaderProgram::vertexAttrib):
(WebCore::TextureMapperShaderProgram::shaderType):
(TextureMapperShaderProgramSimple):
(WebCore::TextureMapperShaderProgramSimple::matrixVariable):
(WebCore::TextureMapperShaderProgramSimple::sourceMatrixVariable):
(WebCore::TextureMapperShaderProgramSimple::sourceTextureVariable):
(WebCore::TextureMapperShaderProgramSimple::opacityVariable):
(TextureMapperShaderProgramOpacityAndMask):
(WebCore::TextureMapperShaderProgramOpacityAndMask::sourceMatrixVariable):
(WebCore::TextureMapperShaderProgramOpacityAndMask::matrixVariable):
(WebCore::TextureMapperShaderProgramOpacityAndMask::maskMatrixVariable):
(WebCore::TextureMapperShaderProgramOpacityAndMask::sourceTextureVariable):
(WebCore::TextureMapperShaderProgramOpacityAndMask::maskTextureVariable):
(WebCore::TextureMapperShaderProgramOpacityAndMask::opacityVariable):
(TextureMapperShaderProgramClip):
(WebCore::TextureMapperShaderProgramClip::matrixVariable):
(TextureMapperShaderManager):
(WebCore::TextureMapperShaderManager::getShaderProgram):
* platform/graphics/qt/GraphicsContext3DQt.cpp:
(WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
* platform/graphics/texmap/TextureMapper.h:
(WebCore::BitmapTexture::reset):
(WebCore::BitmapTexture::isOpaque):
(BitmapTexture):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108402
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Tue, 21 Feb 2012 22:37:43 +0000 (22:37 +0000)]
Fix the typo.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108401
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
haraken@chromium.org [Tue, 21 Feb 2012 22:29:36 +0000 (22:29 +0000)]
Enable the IDL attribute checker in run-bindings-tests
https://bugs.webkit.org/show_bug.cgi?id=79091
Reviewed by Adam Barth.
We have enabled the IDL attribute checker in Chromium in r108322.
This patch enables the IDL attribute checker in run-bindings-tests.
No tests. I manually checked that [Custommm], [CallWith=],
[CallWith=ScriptExecutionContext|Foo] in TestObj.idl cause
run-bindings-tests failures.
* Scripts/webkitpy/bindings/main.py:
(BindingsTests.generate_supplemental_dependency):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108400
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Tue, 21 Feb 2012 22:26:41 +0000 (22:26 +0000)]
perf-o-matic: Extract logic to generate JSON responses as classes to unit test
https://bugs.webkit.org/show_bug.cgi?id=79018
Rubber-stamped by Adam Birth.
Extracted DashboardJSONGenerator, ManifestJSONGenerator, and RunsJSONGenerator
into json_generators.py from DashboardHandler, ManifestHandler, and RunsHandler
and added unit tests for the former three classes.
Merged the latter three classes into controler.py since they have become too trivial
to have their own files.
* Websites/webkit-perf.appspot.com/controller.py:
(ManifestUpdateHandler):
(ManifestUpdateHandler.get):
(ManifestUpdateHandler.post):
(DashboardUpdateHandler):
(DashboardUpdateHandler.get):
(DashboardUpdateHandler.post):
(_get_test_branch_platform_ids):
(RunsUpdateHandler):
(RunsUpdateHandler.get):
(CachedRunsHandler.get):
* Websites/webkit-perf.appspot.com/dashboard_handler.py: Removed.
* Websites/webkit-perf.appspot.com/json_generators.py: Added.
(JSONGeneratorBase):
(JSONGeneratorBase.to_json):
(DashboardJSONGenerator):
(DashboardJSONGenerator.__init__):
(DashboardJSONGenerator.value):
(ManifestJSONGenerator):
(ManifestJSONGenerator.__init__):
(ManifestJSONGenerator.value):
(RunsJSONGenerator):
(RunsJSONGenerator.__init__):
(RunsJSONGenerator._generate_runs):
(RunsJSONGenerator._entry_from_build_and_result):
(RunsJSONGenerator.value):
* Websites/webkit-perf.appspot.com/json_generators_unittest.py: Added.
(_create_results):
(JSONGeneratorBaseTest):
(JSONGeneratorBaseTest.test_to_json):
(JSONGeneratorBaseTest.test_to_json.AJSONGenerator):
(JSONGeneratorBaseTest.test_to_json.AJSONGenerator.value):
(DashboardJSONGeneratorTest):
(DashboardJSONGeneratorTest.test_value_no_branch):
(DashboardJSONGeneratorTest.test_value_no_plaforms):
(DashboardJSONGeneratorTest.test_value_single_platform):
(DashboardJSONGeneratorTest.test_value_two_platforms):
(ManifestJSONGeneratorTest):
(ManifestJSONGeneratorTest.test_value_no_branch):
(ManifestJSONGeneratorTest.test_value_no_plaforms):
(ManifestJSONGeneratorTest._assert_single_test):
(ManifestJSONGeneratorTest.test_value_single_platform):
(ManifestJSONGeneratorTest.test_value_two_platforms):
(ManifestJSONGeneratorTest.test_value_two_tests):
(RunsJSONGeneratorTest):
(RunsJSONGeneratorTest._create_results):
(RunsJSONGeneratorTest.test_generate_runs):
(RunsJSONGeneratorTest.test_value_without_results):
(RunsJSONGeneratorTest.test_value_with_results):
(RunsJSONGeneratorTest._assert_entry):
(RunsJSONGeneratorTest.test_run_from_build_and_result):
(RunsJSONGeneratorTest.test_run_from_build_and_result.create_build):
* Websites/webkit-perf.appspot.com/main.py:
* Websites/webkit-perf.appspot.com/manifest_handler.py: Removed.
* Websites/webkit-perf.appspot.com/models.py:
(Test.update_or_insert.execute):
(Test):
(TestResult.get_or_insert_from_parsed_json):
* Websites/webkit-perf.appspot.com/models_unittest.py:
(TestModelTests.test_update_or_insert_to_update):
(TestResultTests.test_get_or_insert_stat_value):
* Websites/webkit-perf.appspot.com/runs_handler.py: Removed.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108399
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Tue, 21 Feb 2012 22:21:51 +0000 (22:21 +0000)]
The tile cache should keep track of the tile coverage rect
https://bugs.webkit.org/show_bug.cgi?id=79149
<rdar://problem/
10877338>
Reviewed by Andreas Kling.
Keep track of the tile coverage rect and use it to avoid trying to iterate over non-existent tiles on large pages.
* platform/graphics/ca/mac/TileCache.h:
(TileCache):
* platform/graphics/ca/mac/TileCache.mm:
(WebCore::TileCache::setNeedsDisplayInRect):
(WebCore::TileCache::revalidateTiles):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108397
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kling@webkit.org [Tue, 21 Feb 2012 22:05:28 +0000 (22:05 +0000)]
Make WebKitCSSShaderValue inherit directly from CSSValue.
<http://webkit.org/b/79144>
Reviewed by Antti Koivisto.
WebKitCSSShaderValue was inheriting from CSSPrimitiveValue but only used
it for storing the shader URL. Moved that to a String member instead.
WebKitCSSShaderValues didn't even return true for isPrimitiveValue() so
there should be no behavior change whatsoever here.
* css/WebKitCSSShaderValue.cpp:
(WebCore::WebKitCSSShaderValue::WebKitCSSShaderValue):
(WebCore::WebKitCSSShaderValue::cachedShader):
(WebCore::WebKitCSSShaderValue::customCssText):
* css/WebKitCSSShaderValue.h:
(WebKitCSSShaderValue):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108396
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jamesr@google.com [Tue, 21 Feb 2012 21:57:06 +0000 (21:57 +0000)]
Unreviewed windows build fix - avoid return statement after return if USE(ACCELERATED_COMPOSITING) is set.
* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::coordinatesScrollingForFrameView):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108395
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Tue, 21 Feb 2012 21:40:52 +0000 (21:40 +0000)]
[Qt] Unreviewed gardening. Typo fix.
* platform/qt-5.0-wk2/http/tests/websocket/tests/hybi/bad-sub-protocol-non-ascii-expected.txt: Renamed from LayoutTests/platform/qt-5.0-wk2/http/tests/websocket/test/hybi/bad-sub-protocol-non-ascii-expected.txt.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108393
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jamesr@google.com [Tue, 21 Feb 2012 21:39:00 +0000 (21:39 +0000)]
ScrollingCoordinator::coordinatesScrollingForFrameView should be conditional on compositing being active
https://bugs.webkit.org/show_bug.cgi?id=79126
Reviewed by Anders Carlsson.
The ScrollingCoordinator should only attempt to coordinate scrolling when compositing is active, since it's all
about manipulating GraphicsLayers. Adds a runtime check.
Also removes some stray #if ENABLE(THREADED_SCROLLING) guards that snuck into FrameView.
* page/FrameView.cpp:
(WebCore::FrameView::addFixedObject):
(WebCore::FrameView::removeFixedObject):
* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::coordinatesScrollingForFrameView):
(WebCore::ScrollingCoordinator::frameViewRootLayerDidChange):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108392
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jamesr@google.com [Tue, 21 Feb 2012 21:35:38 +0000 (21:35 +0000)]
Chromium build fix. Unreviwed but rubber-stamped by Antti.
* dom/Document.cpp:
* editing/ReplaceSelectionCommand.cpp:
* inspector/InspectorStyleSheet.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108391
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Tue, 21 Feb 2012 21:20:33 +0000 (21:20 +0000)]
[Qt] Unreviewed evening gardening after r108364.
* platform/qt/fast/forms/float-before-fieldset-expected.png: Added.
* platform/qt/fast/forms/float-before-fieldset-expected.txt: Updated.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108389
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
wjmaclean@chromium.org [Tue, 21 Feb 2012 21:14:31 +0000 (21:14 +0000)]
[chromium] Enable compositor filter layout tests (except on mac and win debug)
https://bugs.webkit.org/show_bug.cgi?id=79111
Reviewed by Stephen White.
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108388
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric.carlson@apple.com [Tue, 21 Feb 2012 21:08:43 +0000 (21:08 +0000)]
Set Referrer header for media downloads
https://bugs.webkit.org/show_bug.cgi?id=78614
Reviewed by Alexey Proskuryakov.
Source/WebCore:
Test: http/tests/media/video-referer.html was modified to test this change.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaPlayerReferrer): New, return the document's referer.
* html/HTMLMediaElement.h:
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::referrer): New, return the client's mediaPlayerReferrer.
* platform/graphics/MediaPlayer.h:
(WebCore::MediaPlayerClient::mediaPlayerReferrer):
* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Tell AVFoundation to add
a referer header.
LayoutTests:
* http/tests/media/resources/video-referer-check-referer.php: Get the test file and content-type
from parameters on the url. Fail if referrer is anything but video-referer.html. Add support for
byte-range requests so it will work with AVFoundation.
* http/tests/media/video-referer.html: Pass video file name and content-type as url parameters
instead of having another cgi set a cookie. Set the php script as the 'src' on a <source> element
instead of on the <video> element so we can also add a 'type' attribute.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108387
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti@apple.com [Tue, 21 Feb 2012 20:58:40 +0000 (20:58 +0000)]
Not reviewed.
Remove some obsolete comments, use consistent name for propertyID.
* css/StylePropertySet.h:
(StylePropertySet):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108386
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti@apple.com [Tue, 21 Feb 2012 20:48:05 +0000 (20:48 +0000)]
Clean up StylePropertySet included headers
https://bugs.webkit.org/show_bug.cgi?id=79134
Reviewed by Andreas Kling.
Remove unneccesary includes.
* bindings/js/JSDOMBinding.h:
* css/StylePropertySet.cpp:
* css/StylePropertySet.h:
(WebCore):
(StylePropertySet):
* editing/RemoveCSSPropertyCommand.cpp:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108385
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cfleizach@apple.com [Tue, 21 Feb 2012 20:43:24 +0000 (20:43 +0000)]
AX: move aria-invalid test to top level, so other platforms can use it
https://bugs.webkit.org/show_bug.cgi?id=79041
Unreviewed. Forgot to update paths.
* accessibility/aria-invalid.html:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108384
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 21 Feb 2012 20:10:51 +0000 (20:10 +0000)]
Fix bug from r107672.
https://bugs.webkit.org/show_bug.cgi?id=78773
Before set MediaStreamTrack disable/enable operation,
checking the status of MediaStream that contains this MediaStreamTrack.
if MediaStream is finished, then skipping operation of
didSetMediaStreamTrackEnabled().
Patch by Lin Wei <wei.a.lin@intel.com> on 2012-02-21
Reviewed by Adam Barth.
* mediastream/MediaStreamTrack.cpp:
(WebCore::MediaStreamTrack::setEnabled):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108383
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jchaffraix@webkit.org [Tue, 21 Feb 2012 19:59:42 +0000 (19:59 +0000)]
Move RenderLayer::scrolledContentOffset calls to a common function
https://bugs.webkit.org/show_bug.cgi?id=76971
Reviewed by David Hyatt.
Refactoring without any change in behavior.
This change adds a RenderBox::scrolledContentOffset function to handle all
the calls that goes through the layer(). This indirection will enable us to
add layer() checks without patching a lot of call sites as part of bug 75568.
We also moved down the concept of scroll offset down to RenderBox where it belongs!
* rendering/RenderLayer.h:
(RenderLayer):
(WebCore::RenderLayer::scrolledContentOffset):
Moved scrolledContent to the private section of the class to prevent misuse.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::scrolledContentOffset):
New function to add an indirection with RenderLayer.
* editing/visible_units.cpp:
(WebCore::absoluteLineDirectionPointToLocalPointInBlock):
* rendering/LayoutState.cpp:
(WebCore::LayoutState::LayoutState):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutBlock):
(WebCore::RenderBlock::paintObject):
(WebCore::RenderBlock::selectionGapRectsForRepaint):
(WebCore::RenderBlock::paintSelection):
(WebCore::RenderBlock::nodeAtPoint):
(WebCore::RenderBlock::offsetForContents):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::offsetFromContainer):
(WebCore::RenderBox::computeRectForRepaint):
* rendering/RenderBox.h:
(RenderBox):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
* rendering/RenderInline.cpp:
(WebCore::RenderInline::clippedOverflowRectForRepaint):
(WebCore::RenderInline::computeRectForRepaint):
(WebCore::RenderInline::offsetFromContainer):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::computeRectForRepaint):
(WebCore::RenderObject::mapLocalToContainer):
(WebCore::RenderObject::mapAbsoluteToLocalPoint):
(WebCore::RenderObject::offsetFromContainer):
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlInnerBlock::positionForPoint):
Patched all those call sites to use the new function.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108382
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rafaelw@chromium.org [Tue, 21 Feb 2012 19:55:18 +0000 (19:55 +0000)]
Add rafaelw as a committer.
Unreviewed.
* Scripts/webkitpy/common/config/committers.py:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108381
268f45cc-cd09-0410-ab3c-
d52691b4dbfc