profile/ivi/webkit-efl.git
12 years agoMerge setVisibleRectTrajectoryVector and adjustVisibleRect to the more descriptive...
kenneth@webkit.org [Wed, 22 Feb 2012 13:56:24 +0000 (13:56 +0000)]
Merge setVisibleRectTrajectoryVector and adjustVisibleRect to the more descriptive coverWithTilesIfNeeded https://bugs.webkit.org/show_bug.cgi?id=79230

Reviewed by Simon Hausmann.

Source/WebCore:

Both setVisibleRectTrajectoryVector and the adjustVisibleRect are
used for initiating re-tiling, so make that more obvious and merge
the two.

* platform/graphics/TiledBackingStore.cpp:
(WebCore::TiledBackingStore::coverWithTilesIfNeeded):
* platform/graphics/TiledBackingStore.h:
(TiledBackingStore):

Source/WebKit/qt:

* Api/qgraphicswebview.cpp:
(QGraphicsWebView::paint):

    Use coverWithTilesIfNeeded().

Source/WebKit2:

Replace use by coverWithTilesIfNeeded().

* WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
(WebCore::WebGraphicsLayer::setVisibleContentRectTrajectoryVector):
(WebCore::WebGraphicsLayer::adjustVisibleRect):
(WebCore::WebGraphicsLayer::computeTransformedVisibleRect):

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

12 years agoREGRESSION: unbalanced transparency layers for clipPath
zimmermann@webkit.org [Wed, 22 Feb 2012 13:38:15 +0000 (13:38 +0000)]
REGRESSION: unbalanced transparency layers for clipPath
https://bugs.webkit.org/show_bug.cgi?id=78074

Reviewed by Zoltan Herczeg.

Source/WebCore:

If we're rendering to a mask image buffer, all children are rendered with opacity=1, regardless what their RenderStyles specify.
SVGRenderSupport::finishRenderSVGContent() did not take this into account and always called endTransparencyLayer(). Fix that
by checking if we're rendering to a mask image buffer, if so don't call endTransparencyLayer().

Add new reftest covering both the visual & logical correctness (no assertion).

Tests: svg/clip-path/opacity-assertion-expected.svg
       svg/clip-path/opacity-assertion.svg

* rendering/svg/SVGRenderSupport.cpp:
(WebCore::isRenderingMaskImage): Extraced as sharable helper function.
(WebCore::SVGRenderSupport::prepareToRenderSVGContent): Factor out isRenderingMaskImage() function.
(WebCore::SVGRenderSupport::finishRenderSVGContent): Only call endTransparencyLayer(), if we actually called beginTL() first.

LayoutTests:

* svg/clip-path/opacity-assertion-expected.svg: Added.
* svg/clip-path/opacity-assertion.svg: Added.

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

12 years agoImprove comments in tiling code.
kenneth@webkit.org [Wed, 22 Feb 2012 13:36:12 +0000 (13:36 +0000)]
Improve comments in tiling code.

Rubberstamped by Simon Hausmann.

* platform/graphics/TiledBackingStore.cpp:
(WebCore::TiledBackingStore::createTiles):

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

12 years agoNot reviewed: build fix.
pfeldman@chromium.org [Wed, 22 Feb 2012 13:27:09 +0000 (13:27 +0000)]
Not reviewed: build fix.

* inspector/InspectorController.cpp:
* inspector/InspectorController.h:
(InspectorController):

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

12 years ago[chromium] Build WebKit with MEDIA_STREAM disabled.
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

12 years agoWeb Inspector: do not filter out requestAnimationFrame from timeline, implement stop...
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

12 years agoRemove unused class declaration in WebCore/page/scrolling/ScrollingCoordinator.h
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

12 years agoUnreviewed, rolling out r108456.
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

12 years ago[Qt][WK2] Fix the N9 build
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

12 years ago[Chromium] Unreviewed, regular maintenance of test expectations.
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

12 years ago[Qt] Unreviewed gardening, skip a new failing test.
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

12 years agofirstRendererOf() should also return a fallback element renderer in NodeRenderingContext.
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

12 years ago[Qt][WK2][Mac] WebKitTestRunner does not build with clang.
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

12 years ago[Qt] Unreviewed gardening after r108464.
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

12 years agoAdd performance tests for the Element.id getter and setter
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

12 years agoUnreviewed, rolling out r108468.
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

12 years agoUnreviewed, GTK gardening, unskip 2 tests that should pass now.
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

12 years ago<style scoped>: Add runtime-flag
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

12 years agoWeb Inspector: Audit rules to recommend unprefixing supported CSS properties
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

12 years ago[Qt][WK2] Add frame flattening setting to QWebPreferences.
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

12 years agoNode::attach() should be after attaching children in Element::attach().
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

12 years agoAdding WebSocket per-frame DEFLATE extension
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

12 years agoUnreviewed, rolling out r108453.
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

12 years ago[Qt] clipToImageBuffer assertion fix in debug mode on Qt.
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

12 years ago[GTK] fast/frames/frame-dead-region.html crash
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

12 years agoMove Geolocation code into Modules/geolocation
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

12 years ago[gtk] Accessibility: use find funtion in vector instead of for.
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

12 years agoRemove the remaining uses of CSSStyleDeclaration in Editor
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

12 years ago[GTK] fast/mediastream/peerconnection-argument-types.html fails
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

12 years agoUnreviewed, rolling out r107351.
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

12 years ago[chromium] Cull quads outside of the scissoring damage rect
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

12 years agoShort circuit fixed for a 16 bt pattern character and an 8 bit string.
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

12 years agoUnreviewed, GTK gardening.
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

12 years agoPart of r108409 was incorrect, and incorporated an older version of a sub-patch.
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

12 years ago[Chromium] New CCOcclusionTracker class with tests
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

12 years ago[GTK] Null ResourceErrors are encoded/decoded as empty ResourceErrors
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

12 years agoCache <font face> family lists in CSSValuePool.
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

12 years agoSeparate the implementation of registerProtocolHandler from Navigator.cpp
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

12 years agoHasIDFlag and HasClassFlag can be removed.
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

12 years agoBuild fix for systems with case sensitive disks.
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

12 years ago2D Canvas setTransform makes unnecessary matrix mults
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

12 years agoINPUT_SPEECH should be implemented as a PageSupplement.
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

12 years ago[chromium] Add three small zoom gesture features
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

12 years agoJSC should be a triple-tier VM
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

12 years agoNavigatorMediaStream.idl defines an interface for NavigatorGamepad
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

12 years ago[Chromium] Fix compositor setting color uniforms incorrectly for solid color quads.
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

12 years agogetCTM() on SVG root element with borders, paddings, and viewbox returns incorrect...
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

12 years ago[BlackBerry] Upstream Icon class in platform/graphics/blackberry
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

12 years agoRename "reserved1" flag of WebSocketFrame to compress
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

12 years ago[Texmap] Move all TextureMapper related files to graphics/texmap
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

12 years agoMEDIA_STREAM should be implemented as a PageSupplement.
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

12 years agoNode::isContentEditable should only update styles, not layout
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

12 years agoPartially revert r108418 - move allowEventDispatch() call back to where it used to be.
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

12 years agoBackground jitters on pages with background-attachment: fixed
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

12 years agoEarly-out in Region::unite() for adding an empty region.
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

12 years agoUnbreak double-typed arrays on ARMv7
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

12 years ago[chromium] Painting a layer clears opaque rect in untouched tiles
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

12 years agoSmall typo in AudioPannerNode.cpp
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

12 years agoBuild fix. Push ENABLE_NOTIFICATIONS into .mm file.
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

12 years agoFrame and Navigator shouldn't need to worry about Geolocation
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

12 years agoShould be able to reconfigure a non-configurable property as read-only
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

12 years ago[chromium] Refactor CCLayerTreeHostCommon: merge scattered setTargetRenderSurface...
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

12 years agoBuild fix.
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

12 years agoRemove FIXME from resolve-supplemental.pl
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

12 years agoAdd FractionalLayoutRect for sub-pixel layout
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

12 years agoEnable ScrollingCoordinator in chromium whenever compositing is enabled
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

12 years agoBuild fix for r108409.
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

12 years agoMake TypedArrays be available in commandline jsc
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

12 years ago[chromium] Fix image drag out on Chromium
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

12 years agoSetting innerText causes DOMSubtreeModified to be dispatched too early
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

12 years agoAssertion failure in TextIterator::handleTextBox
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

12 years agoUnreviewed build fix.
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

12 years agoContainerNode::childrenChanged must be called immediately after removing children
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

12 years agowebkitpy: speed up hot filesystem_mock functions
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

12 years agonrwt: make the delay between starting workers configurable per-port
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

12 years agoequalIgnoringNullity() only comparing half the bytes for equality
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

12 years ago[chromium] Update chromium expectations for accessibility/aria-invalid.html
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

12 years agoImplement many instances of HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE in CSSStyleApply...
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

12 years agoSource/WebCore: Bring notifications support to WK1 mac
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

12 years ago[Qt][WK2] Draw tiles of previous contents-scale for opaque layers if they don't inter...
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

12 years ago[Qt] Previous web page appears outside content rect
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

12 years agoSource/WebCore: Added support for pause-on-exit flag on a TextTrackCue.
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

12 years ago[Qt][WK2] Accelerated animations don't work on Mac
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

12 years agoEnable the IDL attribute checker in all build systems
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

12 years agoFix more typos.
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

12 years ago[Texmap] Better management of shaders in TextureMapperGL
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

12 years agoFix the typo.
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

12 years agoEnable the IDL attribute checker in run-bindings-tests
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

12 years agoperf-o-matic: Extract logic to generate JSON responses as classes to unit test
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

12 years agoThe tile cache should keep track of the tile coverage rect
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

12 years agoMake WebKitCSSShaderValue inherit directly from CSSValue.
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

12 years agoUnreviewed windows build fix - avoid return statement after return if USE(ACCELERATED...
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

12 years ago[Qt] Unreviewed gardening. Typo fix.
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

12 years agoScrollingCoordinator::coordinatesScrollingForFrameView should be conditional on compo...
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

12 years agoChromium build fix. Unreviwed but rubber-stamped by Antti.
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

12 years ago[Qt] Unreviewed evening gardening after r108364.
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

12 years ago[chromium] Enable compositor filter layout tests (except on mac and win debug)
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

12 years agoSet Referrer header for media downloads
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

12 years agoNot reviewed.
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

12 years agoClean up StylePropertySet included headers
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