profile/ivi/webkit-efl.git
12 years agoSource/WebCore: Crash due to accessing removed parent lineboxes when clearing view...
inferno@chromium.org [Wed, 22 Feb 2012 21:33:33 +0000 (21:33 +0000)]
Source/WebCore: Crash due to accessing removed parent lineboxes when clearing view selection.
https://bugs.webkit.org/show_bug.cgi?id=79264

Reviewed by Eric Seidel.

When our block needed a full layout, we were deleting our own lineboxes
and letting descendant children (at any level in hierarchy and not just
immediate children) clear their own lineboxes as we keep laying them out.
This was problematic because those descendant children lineboxes were
pointing to removed parent lineboxes in the meantime. An example scenario
where this would go wrong is first-letter object removal, which can cause
clearing view selection, leading to accessing parent lineboxes. The patch
modifies clearing the entire linebox tree upfront. It shouldn't introduce
performance issues since it will eventually happen as we are laying out
those children.

Test: fast/css-generated-content/first-letter-textbox-parent-crash.html

* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::layoutInlineChildren):

LayoutTests: Crash due to accessing removed parent lineboxes when clearing view selection.
https://bugs.webkit.org/show_bug.cgi?id=79264

Reviewed by Eric Seidel.

* fast/css-generated-content/first-letter-textbox-parent-crash-expected.txt: Added.
* fast/css-generated-content/first-letter-textbox-parent-crash.html: Added.

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

12 years agoCloning and linebox issues in multi-column layout.
inferno@chromium.org [Wed, 22 Feb 2012 21:07:18 +0000 (21:07 +0000)]
Cloning and linebox issues in multi-column layout.
https://bugs.webkit.org/show_bug.cgi?id=78273

Reviewed by Eric Seidel.

Source/WebCore:

Tests: fast/multicol/span/clone-flexbox.html
       fast/multicol/span/clone-summary.html
       fast/multicol/span/textbox-not-removed-crash.html

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::clone): Fix cloning algorithm to take
care of cloning descendant classes of RenderBlock.
(WebCore::RenderBlock::splitBlocks): When we move our inline children
to cloneBlock, we need to clear our entire line box tree. Any descendant
child in the hierarchy could be a part of our line box tree and will
never get cleared since the child has moved to new parent cloneBlock.

LayoutTests:

* fast/multicol/span/clone-flexbox-expected.png:
* fast/multicol/span/clone-flexbox-expected.txt: Added.
* fast/multicol/span/clone-flexbox.html: Added. Test passes if we
see two RenderFlexibox in the rendertree.
* fast/multicol/span/clone-summary-expected.png: Added.
* fast/multicol/span/clone-summary-expected.txt: Added.
* fast/multicol/span/clone-summary.html: Added. Test passes if we
see two RenderSummary in the rendertree.
* fast/multicol/span/textbox-not-removed-crash-expected.txt: Added.
* fast/multicol/span/textbox-not-removed-crash.html: Added. Test
passes it we do not crash on m_hasBadParent assert in InlineBox.

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

12 years agoCCLayerTreeHostImpl calls didDraw more frequently than willDraw
commit-queue@webkit.org [Wed, 22 Feb 2012 21:00:26 +0000 (21:00 +0000)]
CCLayerTreeHostImpl calls didDraw more frequently than willDraw
https://bugs.webkit.org/show_bug.cgi?id=79139

Patch by Tim Dresser <tdresser@chromium.org> on 2012-02-22
Reviewed by James Robinson.

Source/WebCore:

Ensure that didDraw is called if and only if willDraw was called previously.

CCLayerTreeHostImplTest.didDrawNotCalledOnHiddenLayer has been added to ensure that
hidden layers, for which willDraw is not called, will also not have didDraw called.

* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::drawLayers):
* platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
(WebCore::CCVideoLayerImpl::didDraw):

Source/WebKit/chromium:

* tests/CCLayerTreeHostImplTest.cpp:
(WebKit::DidDrawCheckLayer::willDraw):
(DidDrawCheckLayer):
(WebKit::DidDrawCheckLayer::willDrawCalled):
(WebKit::DidDrawCheckLayer::DidDrawCheckLayer):
(WebKit::TEST_F):
(WebKit):

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

12 years agoScrollbarThemeComposite::thumbPosition uses the result of a divide by zero
leviw@chromium.org [Wed, 22 Feb 2012 20:57:43 +0000 (20:57 +0000)]
ScrollbarThemeComposite::thumbPosition uses the result of a divide by zero
https://bugs.webkit.org/show_bug.cgi?id=78910

Reviewed by Eric Seidel.

Adding a check to avoid doing a floating point divide by zero and assigning NaN to an integer.
This causes problems with our conversion to subpixel layout, which asserts when we overflow.

* platform/ScrollbarThemeComposite.cpp:
(WebCore::ScrollbarThemeComposite::thumbPosition):

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

12 years agoExplicitly include unistd.h in TestNetscapePlugIn for GCC 4.7
commit-queue@webkit.org [Wed, 22 Feb 2012 20:51:32 +0000 (20:51 +0000)]
Explicitly include unistd.h in TestNetscapePlugIn for GCC 4.7
https://bugs.webkit.org/show_bug.cgi?id=77759

Patch by Kalev Lember <kalevlember@gmail.com> on 2012-02-22
Reviewed by Tony Chang.

Fixes build with gcc 4.7.

r100432 added the include only for ANDROID; this changes the ifdef to
also cover other unix platforms. On Fedora 17 the gcc 4.7 compiler no
longer implicitly includes unistd.h from standard headers and other
unix platforms are likely to get gcc 4.7 as well in the future.

* DumpRenderTree/TestNetscapePlugIn/PluginTest.cpp:

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

12 years ago[chromium] Unreviewed gardening. Rebaseline svg expectations after r108493.
enne@google.com [Wed, 22 Feb 2012 20:43:22 +0000 (20:43 +0000)]
[chromium] Unreviewed gardening. Rebaseline svg expectations after r108493.

Blindly updating expected to actual on Chromium. They only started
failing after the base expectations were updated and don't have any
perceptual differences.

* platform/chromium-mac-snowleopard/svg/foreignObject/clip-expected.png: Added.
* platform/chromium-mac-snowleopard/svg/foreignObject/filter-expected.png: Added.
* platform/chromium-mac-snowleopard/svg/foreignObject/mask-expected.png: Added.
* platform/chromium-win/svg/custom/visited-link-color-expected.png: Added.
* platform/chromium-win/svg/foreignObject/clip-expected.png: Added.
* platform/chromium-win/svg/foreignObject/filter-expected.png: Added.
* platform/chromium-win/svg/foreignObject/mask-expected.png: Added.
* platform/chromium/test_expectations.txt:

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

12 years agoHave the DynamicsCompressorNode support multi-channel data
commit-queue@webkit.org [Wed, 22 Feb 2012 20:41:29 +0000 (20:41 +0000)]
Have the DynamicsCompressorNode support multi-channel data
https://bugs.webkit.org/show_bug.cgi?id=77856

Patch by Raymond Liu <raymond.liu@intel.com> on 2012-02-22
Reviewed by Chris Rogers.

* platform/audio/DynamicsCompressor.cpp:
(WebCore::DynamicsCompressor::DynamicsCompressor):
(WebCore::DynamicsCompressor::setEmphasisStageParameters):
(WebCore::DynamicsCompressor::process):
(WebCore::DynamicsCompressor::reset):
(WebCore::DynamicsCompressor::setNumberOfChannels):
(WebCore):
* platform/audio/DynamicsCompressor.h:
(DynamicsCompressor):
* platform/audio/DynamicsCompressorKernel.cpp:
(WebCore::DynamicsCompressorKernel::DynamicsCompressorKernel):
(WebCore::DynamicsCompressorKernel::setNumberOfChannels):
(WebCore):
(WebCore::DynamicsCompressorKernel::setPreDelayTime):
(WebCore::DynamicsCompressorKernel::process):
(WebCore::DynamicsCompressorKernel::reset):
* platform/audio/DynamicsCompressorKernel.h:
(DynamicsCompressorKernel):
* webaudio/DynamicsCompressorNode.cpp:
(WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
(WebCore::DynamicsCompressorNode::initialize):

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

12 years agoNot correctly recalculating layout for elements within nested SVG elements
commit-queue@webkit.org [Wed, 22 Feb 2012 20:31:11 +0000 (20:31 +0000)]
Not correctly recalculating layout for elements within nested SVG elements
https://bugs.webkit.org/show_bug.cgi?id=77535

Patch by Bear Travis <betravis@adobe.com> on 2012-02-22
Reviewed by Dirk Schulze.

Source/WebCore:

Relatively positioned text is not correctly updating its position when the
size of its nearest viewport changes. Updating to mark text for layout when
viewPort size changes.

Test: svg/repaint/inner-svg-change-viewPort-relative.svg

* rendering/svg/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::layoutChildren):

LayoutTests:

Adding a repaint test for a relatively sized inner svg and inner svg content when
its width/height changes.

* platform/chromium/test_expectations.txt:
* svg/repaint/inner-svg-change-viewPort-relative-expected.png: Added.
* svg/repaint/inner-svg-change-viewPort-relative-expected.txt: Added.
* svg/repaint/inner-svg-change-viewPort-relative.svg: Added.

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

12 years ago[chromium] Fix remaining compositing/rubberbanding test failures
commit-queue@webkit.org [Wed, 22 Feb 2012 20:18:30 +0000 (20:18 +0000)]
[chromium] Fix remaining compositing/rubberbanding test failures
https://bugs.webkit.org/show_bug.cgi?id=78008

These were happening due to the fact that ScrollView wasn't updating
the overhang layer when the contentsSize was updated. This is necessary
because calculateOverhangAreasForPainting() takes the contentsSize into
account when determining whether the overhang areas are visible.

Patch by Alexei Svitkine <asvitkine@chromium.org> on 2012-02-22
Reviewed by James Robinson.

Source/WebCore:

Re-enabled the following tests with updated baselines:
* platform/chromium/compositing/rubberbanding/transform-overhang-e-expected.png:
* platform/chromium/compositing/rubberbanding/transform-overhang-s-expected.png:
* platform/chromium/compositing/rubberbanding/transform-overhang-se-expected.png:
* platform/chromium/test_expectations.txt:

* platform/ScrollView.cpp:
(WebCore::ScrollView::setContentsSize):
(WebCore::ScrollView::scrollContents):
(WebCore::ScrollView::updateOverhangAreas):
(WebCore):
* platform/ScrollView.h:
(ScrollView):

LayoutTests:

Re-enabled the following tests with updated baselines:
* platform/chromium/compositing/rubberbanding/transform-overhang-e-expected.png:
* platform/chromium/compositing/rubberbanding/transform-overhang-s-expected.png:
* platform/chromium/compositing/rubberbanding/transform-overhang-se-expected.png:
* platform/chromium/test_expectations.txt:

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

12 years ago[BlackBerry] InputHandler has signed vs unsigned comparison.
commit-queue@webkit.org [Wed, 22 Feb 2012 20:15:39 +0000 (20:15 +0000)]
[BlackBerry] InputHandler has signed vs unsigned comparison.
https://bugs.webkit.org/show_bug.cgi?id=79261

Fix warning by casting the unsigned int to an int.

Patch by Mike Fenton <mifenton@rim.com> on 2012-02-22
Reviewed by Rob Buis.

* WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::InputHandler::rectForCaret):

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

12 years agoWeb Inspector: [Regression] network worker tests crash on qt.
vsevik@chromium.org [Wed, 22 Feb 2012 20:04:59 +0000 (20:04 +0000)]
Web Inspector: [Regression] network worker tests crash on qt.
https://bugs.webkit.org/show_bug.cgi?id=79263

Reviewed by Pavel Feldman.

* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::createDecoder):
(WebCore::InspectorPageAgent::cachedResourceContent):

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

12 years agoUnreviewed, rolling out r108518.
enne@google.com [Wed, 22 Feb 2012 20:02:55 +0000 (20:02 +0000)]
Unreviewed, rolling out r108518.
http://trac.webkit.org/changeset/108518
https://bugs.webkit.org/show_bug.cgi?id=75864

Breaks surfaceOcclusionWithOverlappingSiblingSurfaces unit test.

* WebCore.gypi:
* platform/graphics/chromium/cc/CCLayerIterator.cpp:
(WebCore):
(WebCore::CCLayerIteratorActions::BackToFront::begin):
(WebCore::CCLayerIteratorActions::BackToFront::end):
(WebCore::CCLayerIteratorActions::BackToFront::next):
(WebCore::CCLayerIteratorActions::FrontToBack::begin):
(WebCore::CCLayerIteratorActions::FrontToBack::end):
(WebCore::CCLayerIteratorActions::FrontToBack::next):
(WebCore::CCLayerIteratorActions::FrontToBack::goToHighestInSubtree):
* platform/graphics/chromium/cc/CCLayerIterator.h:
(WebCore):
(WebCore::CCLayerIterator::CCLayerIterator):
(WebCore::CCLayerIterator::operator++):
(WebCore::CCLayerIterator::operator==):
(WebCore::CCLayerIterator::operator->):
(WebCore::CCLayerIterator::operator*):
(WebCore::CCLayerIterator::representsTargetRenderSurface):
(WebCore::CCLayerIterator::representsContributingRenderSurface):
(WebCore::CCLayerIterator::targetRenderSurfaceLayer):
(CCLayerIterator):
(BackToFront):
(FrontToBack):
* platform/graphics/chromium/cc/CCLayerIteratorPosition.h: Added.
(WebCore):
(CCLayerIteratorPositionValue):
(WebCore::CCLayerIteratorPosition::CCLayerIteratorPosition):
(CCLayerIteratorPosition):
(WebCore::CCLayerIteratorPosition::currentLayer):
(WebCore::CCLayerIteratorPosition::currentLayerRepresentsContributingRenderSurface):
(WebCore::CCLayerIteratorPosition::currentLayerRepresentsTargetRenderSurface):
(WebCore::CCLayerIteratorPosition::targetRenderSurfaceLayer):
(WebCore::CCLayerIteratorPosition::targetRenderSurface):
(WebCore::CCLayerIteratorPosition::targetRenderSurfaceChildren):
(WebCore::CCLayerIteratorPosition::operator==):

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

12 years agoREGRESSION (r62632): page-break-inside: avoid is ignored
mitz@apple.com [Wed, 22 Feb 2012 19:37:26 +0000 (19:37 +0000)]
REGRESSION (r62632): page-break-inside: avoid is ignored
https://bugs.webkit.org/show_bug.cgi?id=79262

Reviewed by Adele Peterson.

Source/WebCore:

This was disabled in r62632 because of <http://webkit.org/b/41532>. Changes to the
pagination code since then have invalidated that bug, so enabling the feature again does not
re-introduce the bug.

Updated expected results for printing/page-break-inside-avoid.html.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::adjustForUnsplittableChild):

LayoutTests:

* printing/page-break-inside-avoid-expected.txt:

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

12 years agoUnreviewed, rolling out r108522.
philn@webkit.org [Wed, 22 Feb 2012 19:20:33 +0000 (19:20 +0000)]
Unreviewed, rolling out r108522.
http://trac.webkit.org/changeset/108522
https://bugs.webkit.org/show_bug.cgi?id=76181

Broke 4 fullscreen tests on GTK.

Source/WebKit/gtk:

* WebCoreSupport/ChromeClientGtk.cpp:
(WebKit::ChromeClient::supportsFullScreenForElement):
(WebKit::ChromeClient::enterFullScreenForElement):
(WebKit::ChromeClient::exitFullScreenForElement):
* WebCoreSupport/ChromeClientGtk.h:
(ChromeClient):
* tests/testwebview.c:
* webkit/webkitwebview.cpp:
(webkit_web_view_class_init):
* webkit/webkitwebview.h:
(_WebKitWebViewClass):

Tools:

* GtkLauncher/main.c:
(createBrowser):
(createWindow):

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

12 years ago[chromium] Unreviewed gardening. Mark some XHR tests as asserting.
enne@google.com [Wed, 22 Feb 2012 19:14:55 +0000 (19:14 +0000)]
[chromium] Unreviewed gardening. Mark some XHR tests as asserting.
https://bugs.webkit.org/show_bug.cgi?id=79229

* platform/chromium/test_expectations.txt:

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

12 years ago[GStreamer] webkitwebsrc: use HTTP referer provided by MediaPlayer
philn@webkit.org [Wed, 22 Feb 2012 19:12:36 +0000 (19:12 +0000)]
[GStreamer] webkitwebsrc: use HTTP referer provided by MediaPlayer
https://bugs.webkit.org/show_bug.cgi?id=79236

Reviewed by Martin Robinson.

Store a pointer to the MediaPlayer object in the private structure
of the WebKitWebSrc element so we can call its public methods,
like ::referrer().

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::sourceChanged):
* platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(_WebKitWebSrcPrivate):
* platform/graphics/gstreamer/WebKitWebSourceGStreamer.h:

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

12 years ago[GTK] Clean build is broken when using make -j
mrobinson@webkit.org [Wed, 22 Feb 2012 18:56:40 +0000 (18:56 +0000)]
[GTK] Clean build is broken when using make -j
https://bugs.webkit.org/show_bug.cgi?id=76388

.:

* GNUmakefile.am: Add new global source list variables.

Source/WebCore:

No new tests. This is just a build fix.

Use order-only dependencies to ensure that built sources are built before
files that depend on them.

* GNUmakefile.am: Establish an order-only dependency on some built sources before starting
to build non-generated sources. Rename some temporary files and variables to be more consistent.
* bindings/gobject/GNUmakefile.am: Updated to reflect new variable names.

Source/WebKit2:

* GNUmakefile.am: Add some WebKit2 sources to global sources lists
so that we can refer to them in separate GNUmakefiles.

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

12 years ago[GTK] FullScreen signals
philn@webkit.org [Wed, 22 Feb 2012 18:56:25 +0000 (18:56 +0000)]
[GTK] FullScreen signals
https://bugs.webkit.org/show_bug.cgi?id=76181

Reviewed by Martin Robinson.

Source/WebKit/gtk:

Added entering-fullscreen and leaving-fullscreen signals, meant to
be used by the user agent to be notified when an element requests
full screen display and when the full screen display is to be
disabled.

* WebCoreSupport/ChromeClientGtk.cpp:
(WebKit::ChromeClient::supportsFullScreenForElement):
(WebKit::onFullscreenGtkKeyPressEvent):
(WebKit::ChromeClient::cancelFullScreen):
(WebKit::ChromeClient::enterFullScreenForElement):
(WebKit::ChromeClient::exitFullScreenForElement):
* WebCoreSupport/ChromeClientGtk.h:
* tests/testwebview.c:
* webkit/webkitwebview.cpp:
(webkit_web_view_real_entering_fullscreen):
(webkit_web_view_real_leaving_fullscreen):
(webkit_web_view_class_init):
* webkit/webkitwebview.h:

Tools:

Use the two new entering/leaving fullscreen signals to hide/show
the tool bar, the status bar and ask the user's permission before
entering fullscreen.

* GtkLauncher/main.c:
(webViewFullscreenMessageWindowClose):
(webViewWindowStateEvent):
(hide_widget):
(show_widget):
(webViewEnteringFullScreen):
(webViewLeavingFullScreen):
(createBrowser):
(createWindow):

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

12 years ago[Chromium] New CCOcclusionTracker class with tests
commit-queue@webkit.org [Wed, 22 Feb 2012 18:45:57 +0000 (18:45 +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-22
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@108521 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago[Chromium] IndexedDB: Integrate with about:tracing
jsbell@chromium.org [Wed, 22 Feb 2012 18:42:12 +0000 (18:42 +0000)]
[Chromium] IndexedDB: Integrate with about:tracing
https://bugs.webkit.org/show_bug.cgi?id=78831

Annotate interesting IDB functions so they show up in the
tracing utility included in the Chromium port.

Reviewed by Tony Chang.

* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* bindings/v8/IDBBindingUtilities.cpp:
(WebCore::createIDBKeyFromSerializedValueAndKeyPath):
(WebCore::injectIDBKeyIntoSerializedValue):
* storage/IDBCursor.cpp:
(WebCore::IDBCursor::direction):
(WebCore::IDBCursor::key):
(WebCore::IDBCursor::primaryKey):
(WebCore::IDBCursor::value):
(WebCore::IDBCursor::update):
(WebCore::IDBCursor::continueFunction):
(WebCore::IDBCursor::deleteFunction):
* storage/IDBCursorBackendImpl.cpp:
(WebCore::IDBCursorBackendImpl::direction):
(WebCore::IDBCursorBackendImpl::key):
(WebCore::IDBCursorBackendImpl::primaryKey):
(WebCore::IDBCursorBackendImpl::value):
(WebCore::IDBCursorBackendImpl::update):
(WebCore::IDBCursorBackendImpl::continueFunction):
(WebCore::IDBCursorBackendImpl::continueFunctionInternal):
(WebCore::IDBCursorBackendImpl::deleteFunction):
(WebCore::IDBCursorBackendImpl::prefetchContinue):
(WebCore::IDBCursorBackendImpl::prefetchContinueInternal):
(WebCore::IDBCursorBackendImpl::prefetchReset):
(WebCore::IDBCursorBackendImpl::close):
* storage/IDBDatabase.cpp:
(WebCore::IDBDatabase::dispatchEvent):
* storage/IDBIndex.cpp:
(WebCore::IDBIndex::openCursor):
(WebCore::IDBIndex::count):
(WebCore::IDBIndex::openKeyCursor):
(WebCore::IDBIndex::get):
(WebCore::IDBIndex::getKey):
* storage/IDBIndexBackendImpl.cpp:
(WebCore::IDBIndexBackendImpl::openCursorInternal):
(WebCore::IDBIndexBackendImpl::openCursor):
(WebCore::IDBIndexBackendImpl::openKeyCursor):
(WebCore::IDBIndexBackendImpl::countInternal):
(WebCore::IDBIndexBackendImpl::count):
(WebCore::IDBIndexBackendImpl::getInternal):
(WebCore::IDBIndexBackendImpl::get):
(WebCore::IDBIndexBackendImpl::getKey):
* storage/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::name):
(WebCore::IDBObjectStore::keyPath):
(WebCore::IDBObjectStore::indexNames):
(WebCore::IDBObjectStore::transaction):
(WebCore::IDBObjectStore::get):
(WebCore::IDBObjectStore::add):
(WebCore::IDBObjectStore::put):
(WebCore::IDBObjectStore::deleteFunction):
(WebCore::IDBObjectStore::clear):
(WebCore::IDBObjectStore::createIndex):
(WebCore::IDBObjectStore::index):
(WebCore::IDBObjectStore::openCursor):
(WebCore::IDBObjectStore::count):
* storage/IDBObjectStoreBackendImpl.cpp:
(WebCore::IDBObjectStoreBackendImpl::get):
(WebCore::IDBObjectStoreBackendImpl::getInternal):
(WebCore::fetchKeyFromKeyPath):
(WebCore::injectKeyIntoKeyPath):
(WebCore::IDBObjectStoreBackendImpl::put):
(WebCore::IDBObjectStoreBackendImpl::putInternal):
(WebCore::IDBObjectStoreBackendImpl::deleteFunction):
(WebCore::IDBObjectStoreBackendImpl::deleteInternal):
(WebCore::IDBObjectStoreBackendImpl::clear):
(WebCore::IDBObjectStoreBackendImpl::openCursor):
(WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
(WebCore::IDBObjectStoreBackendImpl::count):
(WebCore::IDBObjectStoreBackendImpl::countInternal):
* storage/IDBRequest.cpp:
(WebCore::IDBRequest::onSuccess):
(WebCore::IDBRequest::onSuccessWithContinuation):
(WebCore::IDBRequest::dispatchEvent):
* storage/IDBTracing.h: Added.
* storage/IDBTransaction.cpp:
(WebCore::IDBTransaction::dispatchEvent):
* storage/IDBTransactionBackendImpl.cpp:
(WebCore::IDBTransactionBackendImpl::abort):
(WebCore::IDBTransactionBackendImpl::commit):
(WebCore::IDBTransactionBackendImpl::taskTimerFired):
(WebCore::IDBTransactionBackendImpl::taskEventTimerFired):

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

12 years ago[chromium] Push CCLayerIteratorPosition struct into CCLayerIterator class.
commit-queue@webkit.org [Wed, 22 Feb 2012 18:35:46 +0000 (18:35 +0000)]
[chromium] Push CCLayerIteratorPosition struct into CCLayerIterator class.
https://bugs.webkit.org/show_bug.cgi?id=75864

Patch by Dana Jansens <danakj@chromium.org> on 2012-02-22
Reviewed by James Robinson.

* platform/graphics/chromium/cc/CCLayerIterator.cpp:
(WebCore::CCLayerIteratorActions::BackToFront::begin):
(WebCore::CCLayerIteratorActions::BackToFront::end):
(WebCore::CCLayerIteratorActions::BackToFront::next):
(WebCore::CCLayerIteratorActions::FrontToBack::begin):
(WebCore::CCLayerIteratorActions::FrontToBack::end):
(WebCore::CCLayerIteratorActions::FrontToBack::next):
(WebCore::CCLayerIteratorActions::FrontToBack::goToHighestInSubtree):
* platform/graphics/chromium/cc/CCLayerIterator.h:
(WebCore::CCLayerIterator::CCLayerIterator):
(WebCore::CCLayerIterator::operator++):
(WebCore::CCLayerIterator::operator==):
(WebCore::CCLayerIterator::operator->):
(WebCore::CCLayerIterator::operator*):
(WebCore::CCLayerIterator::representsTargetRenderSurface):
(WebCore::CCLayerIterator::representsContributingRenderSurface):
(WebCore::CCLayerIterator::currentLayer):
(WebCore::CCLayerIterator::currentLayerRepresentsContributingRenderSurface):
(WebCore::CCLayerIterator::currentLayerRepresentsTargetRenderSurface):
(WebCore::CCLayerIterator::targetRenderSurfaceLayer):
(WebCore::CCLayerIterator::targetRenderSurface):
(WebCore::CCLayerIterator::targetRenderSurfaceChildren):
* platform/graphics/chromium/cc/CCLayerIteratorPosition.h: Removed.

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

12 years ago[chromium] Unreviewed gardening. Marking svg failures from r108494.
enne@google.com [Wed, 22 Feb 2012 18:35:15 +0000 (18:35 +0000)]
[chromium] Unreviewed gardening. Marking svg failures from r108494.
https://bugs.webkit.org/show_bug.cgi?id=41386

* platform/chromium/test_expectations.txt:

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

12 years agoUpdate Linux ChromiumOS builders in flakiness dashboard.
commit-queue@webkit.org [Wed, 22 Feb 2012 18:25:13 +0000 (18:25 +0000)]
Update Linux ChromiumOS builders in flakiness dashboard.
https://bugs.webkit.org/show_bug.cgi?id=79238

Patch by Rob Flack <flackr@chromium.org> on 2012-02-22
Reviewed by Ojan Vafai.

* TestResultServer/static-dashboards/builders.js:

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

12 years agowebkitpy: test_function_length_check_definition_huge_lines is slow
dpranke@chromium.org [Wed, 22 Feb 2012 18:19:30 +0000 (18:19 +0000)]
webkitpy: test_function_length_check_definition_huge_lines is slow
https://bugs.webkit.org/show_bug.cgi?id=79185

Reviewed by Adam Barth.

This test takes ~3 seconds to run, apparently because we're
running a test on a 10,000 line function :). Dropping the
function length to 640 still exercises the code path and
provides a 10x speedup.

* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(CppStyleTest):
(CheckForFunctionLengthsTest.test_function_length_check_definition_huge_lines):

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

12 years agowebkitpy: speed up FileLockTest.test_lock_lifecycle
dpranke@chromium.org [Wed, 22 Feb 2012 18:16:54 +0000 (18:16 +0000)]
webkitpy: speed up FileLockTest.test_lock_lifecycle
https://bugs.webkit.org/show_bug.cgi?id=79189

Reviewed by Adam Barth.

The unit test had a second lock trying to acquire a
lock already held, and a hard-coded timeout of one second.
I have changed the timeouts to a tenth of a second (which
is probably still fine) and changed the hard-spin on
the lock to a slow-spin every hundredth of a second.

* Scripts/webkitpy/common/system/file_lock.py:
(FileLock.acquire_lock):
* Scripts/webkitpy/common/system/file_lock_integrationtest.py:
(FileLockTest.setUp):
(FileLockTest.test_stuck_lock):

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

12 years agobuild-webkit should use environment variable at number of CPU
rgabor@webkit.org [Wed, 22 Feb 2012 18:10:40 +0000 (18:10 +0000)]
build-webkit should use environment variable at number of CPU
detection on all platform
https://bugs.webkit.org/show_bug.cgi?id=79227

Reviewed by Martin Robinson.

* Scripts/webkitdirs.pm:
(determineNumberOfCPUs):

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

12 years ago[GTK][WK2] Add WebGL WebSetting.
commit-queue@webkit.org [Wed, 22 Feb 2012 17:44:16 +0000 (17:44 +0000)]
[GTK][WK2] Add WebGL WebSetting.
https://bugs.webkit.org/show_bug.cgi?id=79217

Patch by Antaryami Pandia <antaryami.pandia@motorola.com> on 2012-02-22
Reviewed by Martin Robinson.

Add a WebSetting to enable/disable Webgl.

* UIProcess/API/gtk/WebKitSettings.cpp:
(webKitSettingsSetProperty):
(webKitSettingsGetProperty):
(webkit_settings_class_init):
(webkit_settings_set_enable_webaudio):
(webkit_settings_get_enable_webgl):
(webkit_settings_set_enable_webgl):
* UIProcess/API/gtk/WebKitSettings.h:
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
* UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
(testWebKitSettings):

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

12 years agoWeb Inspector: console doesn't show properly arrays from which tail values have been...
pfeldman@chromium.org [Wed, 22 Feb 2012 17:39:03 +0000 (17:39 +0000)]
Web Inspector: console doesn't show properly arrays from which tail values have been deleted
https://bugs.webkit.org/show_bug.cgi?id=79242

Reviewed by Yury Semikhatsky.

Source/WebCore:

* English.lproj/localizedStrings.js:
* inspector/front-end/ConsoleMessage.js:
(WebInspector.ConsoleMessageImpl.prototype._printArray.appendUndefined):
(WebInspector.ConsoleMessageImpl.prototype._printArray):

LayoutTests:

* inspector/console/console-format-expected.txt:
* inspector/console/console-format.html:
* platform/chromium/inspector/console/console-format-collections-expected.txt:
* platform/chromium/inspector/console/console-format-expected.txt:

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

12 years agoWeb Inspector: warning external font mime (font/font/woff).
pfeldman@chromium.org [Wed, 22 Feb 2012 17:09:53 +0000 (17:09 +0000)]
Web Inspector: warning external font mime (font/font/woff).
https://bugs.webkit.org/show_bug.cgi?id=79244

Reviewed by Yury Semikhatsky.

* inspector/front-end/Resource.js:

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

12 years agoWeb Inspector: use dots as markers on the counter graphs
yurys@chromium.org [Wed, 22 Feb 2012 17:05:09 +0000 (17:05 +0000)]
Web Inspector: use dots as markers on the counter graphs
https://bugs.webkit.org/show_bug.cgi?id=79243

Changed counter graphs marker and counter text styles.

Reviewed by Pavel Feldman.

* English.lproj/localizedStrings.js:
* inspector/front-end/MemoryStatistics.js:
(WebInspector.MemoryStatistics):
(WebInspector.MemoryStatistics.prototype._createCounterSidebarElement):
(WebInspector.MemoryStatistics.prototype.addTimlineEvent):
(WebInspector.MemoryStatistics.prototype._draw):
(WebInspector.MemoryStatistics.prototype._onMouseOut):
(WebInspector.MemoryStatistics.prototype._onMouseOver):
(WebInspector.MemoryStatistics.prototype._onMouseMove):
(WebInspector.MemoryStatistics.prototype._refreshCurrentValues):
(WebInspector.MemoryStatistics.prototype._recordIndexAt):
(WebInspector.MemoryStatistics.prototype._highlightCurrentPositionOnGraphs):
(WebInspector.MemoryStatistics.prototype._clearMarkers):
(WebInspector.MemoryStatistics.prototype._saveImageUnderMarker):
(WebInspector.MemoryStatistics.prototype.refresh):
(WebInspector.MemoryStatistics.prototype._drawPolyline):
(WebInspector.MemoryStatistics.prototype._clear):
* inspector/front-end/timelinePanel.css:
(.memory-counter-sidebar-info):
(.memory-counter-sidebar-info .title):
(.memory-counter-sidebar-info .counter-value):

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

12 years agoWeb Inspector: make 'glue asynchronous events' optional.
pfeldman@chromium.org [Wed, 22 Feb 2012 16:54:52 +0000 (16:54 +0000)]
Web Inspector: make 'glue asynchronous events' optional.
https://bugs.webkit.org/show_bug.cgi?id=79240

Reviewed by Yury Semikhatsky.

* English.lproj/localizedStrings.js:
* inspector/front-end/Images/statusbarButtonGlyphs.png:
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel.prototype.get statusBarItems):
(WebInspector.TimelinePanel.prototype._createStatusbarButtons):
(WebInspector.TimelinePanel.prototype._glueParentButtonClicked):
(WebInspector.TimelinePanel.prototype._toggleStartAtZeroButtonClicked):
(WebInspector.TimelinePanel.prototype._repopulateRecords):
(WebInspector.TimelinePanel.prototype._findParentRecord):
(WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
(WebInspector.TimelinePanel.prototype.sidebarResized):
(WebInspector.TimelineCalculator.prototype.computeBarGraphPercentages):
(WebInspector.TimelineCalculator.prototype.computeBarGraphWindowPosition):
(WebInspector.TimelineRecordGraphRow):
(WebInspector.TimelineRecordGraphRow.prototype.update):
(WebInspector.TimelinePanel.FormattedRecord.prototype._calculateAggregatedStats):
* inspector/front-end/timelinePanel.css:
(.glue-async-status-bar-item .glyph):
(.timeline-start-at-zero-status-bar-item .glyph):

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

12 years agoWeb Inspector: [REGRESSION] Console xhr logging is broken for async xhrs since r107672.
vsevik@chromium.org [Wed, 22 Feb 2012 16:47:09 +0000 (16:47 +0000)]
Web Inspector: [REGRESSION] Console xhr logging is broken for async xhrs since r107672.
https://bugs.webkit.org/show_bug.cgi?id=79229

Reviewed by Pavel Feldman.

Source/WebCore:

Test: http/tests/inspector/console-xhr-logging-async.html

* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::setInitialScriptContent):
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::didFinishLoading):

LayoutTests:

* http/tests/inspector/console-xhr-logging-async-expected.txt: Added.
* http/tests/inspector/console-xhr-logging-async.html: Added.

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

12 years ago[Qt] REGRESSION(r108108): It made 3 fast/repaint tests fail
mihnea@adobe.com [Wed, 22 Feb 2012 16:29:33 +0000 (16:29 +0000)]
[Qt] REGRESSION(r108108): It made 3 fast/repaint tests fail
https://bugs.webkit.org/show_bug.cgi?id=78960

Reviewed by Csaba Osztrogonác.

Source/WebKit/qt:

* Api/qwebsettings.cpp:
(QWebSettingsPrivate::apply):
(QWebSettings::QWebSettings):
* Api/qwebsettings.h:

Tools:

* DumpRenderTree/qt/LayoutTestControllerQt.cpp:
(LayoutTestController::overridePreference):

LayoutTests:

* fast/repaint/japanese-rl-selection-repaint-in-regions.html:
* fast/repaint/line-flow-with-floats-in-regions.html:
* fast/repaint/overflow-flipped-writing-mode-block-in-regions.html:
* fast/repaint/region-painting-invalidation.html:
* fast/repaint/region-painting-via-layout.html:
* platform/qt/Skipped:

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

12 years agoWeb Inspector: fix memory counters and start-at-zero modes of timeline panels to...
caseq@chromium.org [Wed, 22 Feb 2012 16:08:25 +0000 (16:08 +0000)]
Web Inspector: fix memory counters and start-at-zero modes of timeline panels to co-exist nicely
https://bugs.webkit.org/show_bug.cgi?id=79241

Reviewed by Yury Semikhatsky.

* inspector/front-end/MemoryStatistics.js:
(WebInspector.MemoryStatistics.prototype.addTimlineEvent):
* inspector/front-end/TimelineOverviewPane.js:
(WebInspector.TimelineOverviewPane):
(WebInspector.TimelineOverviewPane.prototype._showTimelines):
(WebInspector.TimelineOverviewPane.prototype._showMemoryGraph):
(WebInspector.TimelineOverviewPane.prototype.setStartAtZero):
(WebInspector.TimelineOverviewPane.prototype._onWindowChanged):
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel.prototype._timelinesOverviewModeChanged):

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

12 years ago[Chromium] video-referer.html fails
eric.carlson@apple.com [Wed, 22 Feb 2012 15:42:03 +0000 (15:42 +0000)]
[Chromium] video-referer.html fails
https://bugs.webkit.org/show_bug.cgi?id=79239

Unreviewed, skipping a test that started to fail after r108387.

* platform/chromium/test_expectations.txt:

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

12 years agoWeb Inspector: [experimental] add a mode to display timeline events aligned by the...
caseq@chromium.org [Wed, 22 Feb 2012 15:16:45 +0000 (15:16 +0000)]
Web Inspector: [experimental] add a mode to display timeline events aligned by the start time
https://bugs.webkit.org/show_bug.cgi?id=79123

Reviewed by Pavel Feldman.

* inspector/front-end/Images/statusbarButtonGlyphs.png:
* inspector/front-end/Settings.js:
(WebInspector.ExperimentsSettings):
* inspector/front-end/TimelineOverviewPane.js:
(WebInspector.TimelineOverviewPane):
(WebInspector.TimelineOverviewPane.prototype._showTimelines):
(WebInspector.TimelineOverviewPane.prototype._showMemoryGraph):
(WebInspector.TimelineOverviewPane.prototype._onWindowChanged):
(WebInspector.TimelineOverviewPane.prototype.setStartAtZero):
(WebInspector.TimelineOverviewPane.prototype.update):
(WebInspector.TimelineOverviewPane.prototype.reset):
(WebInspector.TimelineOverviewWindow):
(WebInspector.TimelineOverviewWindow.prototype.reset):
(WebInspector.TimelineOverviewWindow.prototype._setWindowPosition):
(WebInspector.TimelineOverviewWindow.prototype.scrollWindow):
(WebInspector.TimelineStartAtZeroOverview):
(WebInspector.TimelineStartAtZeroOverview.prototype.reset):
(WebInspector.TimelineStartAtZeroOverview.prototype.update):
(WebInspector.TimelineStartAtZeroOverview.prototype._filterRecords):
(WebInspector.TimelineStartAtZeroOverview.prototype._buildBar):
(WebInspector.TimelineStartAtZeroOverview.prototype._onWindowChanged):
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel.prototype.get statusBarItems):
(WebInspector.TimelinePanel.prototype._createStatusbarButtons):
(WebInspector.TimelinePanel.prototype._toggleStartAtZeroButtonClicked):
(WebInspector.TimelinePanel.prototype.get _startAtZero):
(WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
(WebInspector.TimelinePanel.prototype.sidebarResized):
(WebInspector.TimelinePanel.prototype._onRecordsCleared):
(WebInspector.TimelinePanel.prototype._resetPanel):
(WebInspector.TimelinePanel.prototype._scheduleRefresh):
(WebInspector.TimelinePanel.prototype._refresh):
(WebInspector.TimelinePanel.prototype._filterRecords):
(WebInspector.TimelinePanel.prototype._refreshRecords):
(WebInspector.TimelineCalculator.prototype.computeBarGraphWindowPosition):
(WebInspector.TimelineStartAtZeroCalculator):
(WebInspector.TimelineStartAtZeroCalculator.prototype.computeBarGraphPercentages):
(WebInspector.TimelineStartAtZeroCalculator.prototype.computeBarGraphWindowPosition):
(WebInspector.TimelineStartAtZeroCalculator.prototype.calculateWindow):
(WebInspector.TimelineStartAtZeroCalculator.prototype.reset):
(WebInspector.TimelineStartAtZeroCalculator.prototype.updateBoundaries):
(WebInspector.TimelineStartAtZeroCalculator.prototype.formatValue):
(WebInspector.TimelinePanel.FormattedRecord):
(WebInspector.TimelinePanel.FormattedRecord.prototype._generateAggregatedInfo):
(WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
(WebInspector.TimelinePanel.FormattedRecord.prototype._calculateAggregatedStats):
(WebInspector.TimelinePanel.FormattedRecord.prototype.get aggregatedStats):
(WebInspector.TimelineModel.prototype.get records):
(WebInspector.TimelinePresentationModel):
(WebInspector.TimelinePresentationModel.prototype.reset):
(WebInspector.TimelinePresentationModel.prototype.setWindowIndices):
(WebInspector.TimelineRecordFilter):
(WebInspector.TimelineRecordFilter.prototype.accept):
(WebInspector.TimelineStartAtZeroRecordFilter):
(WebInspector.TimelineStartAtZeroRecordFilter.prototype.accept):
* inspector/front-end/timelinePanel.css:
(.timeline-start-at-zero #timeline-overview-sidebar):
(.timeline-start-at-zero #timeline-overview-grid):
(.timeline-overview-window):
(.timeline-start-at-zero .timeline-overview-window):
(.timeline-start-at-zero .timeline-overview-dividers-background):
(.timeline-overview-window-rulers):
(.timeline-start-at-zero #timeline-overview-memory):
(.popover .timeline-loading):
(.popover .timeline-scripting):
(.popover .timeline-rendering):
(.timeline-start-at-zero-status-bar-item .glyph):
(.timeline-start-at-zero-status-bar-item.toggled-on .glyph):
(.timeline-overview-start-at-zero):
(.timeline-overview-start-at-zero-bars):
(.timeline-overview-start-at-zero-bars .padding):
(.timeline-overview-start-at-zero-bars .timeline-bar-vertical):
(.timeline-bar-vertical div:first-child):
(.timeline-bar-vertical .timeline-loading):
(.timeline-bar-vertical .timeline-scripting):
(.timeline-bar-vertical .timeline-rendering):

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

12 years ago[Qt] Disregard previous backing store as soon as possible https://bugs.webkit.org...
kenneth@webkit.org [Wed, 22 Feb 2012 15:15:10 +0000 (15:15 +0000)]
[Qt] Disregard previous backing store as soon as possible https://bugs.webkit.org/show_bug.cgi?id=79232

Reviewed by Simon Hausmann and No'am Rosenthal.

Source/WebCore:

Make it possible to drop non-visible tiles and to test
if the current visible rect is fully covered.

* platform/graphics/TiledBackingStore.cpp:
(WebCore::TiledBackingStore::visibleContentsRect):
(WebCore::TiledBackingStore::coverageRatio):
(WebCore::TiledBackingStore::visibleAreaIsCovered):
(WebCore):
(WebCore::TiledBackingStore::createTiles):
(WebCore::TiledBackingStore::removeAllNonVisibleTiles):
* platform/graphics/TiledBackingStore.h:
(TiledBackingStore):

Source/WebKit2:

Between creating the new backing store and painting the content,
we do not want to drop the previous one as that might result in
briefly seeing flickering as the old tiles may be dropped before
something replaces them.

But we do need to drop it at some point and we need to make sure
to not spike the memory usage before of this.

What we now do, is to store the previous backing store as before,
but drop all tiles which are not visible and then drop it as soon
as the visible rect (which might change due if followed by a quick
panning) has been fully covered by tiles.

* WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
(WebCore::WebGraphicsLayer::setContentsScale):
(WebCore::WebGraphicsLayer::updateContentBuffers):

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

12 years agoUnreviewed, skipping one more mediastream failure on GTK.
philn@webkit.org [Wed, 22 Feb 2012 15:12:10 +0000 (15:12 +0000)]
Unreviewed, skipping one more mediastream failure on GTK.

* platform/gtk/Skipped:

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

12 years ago[Qt][WK2] Implement proxy authentication handling.
commit-queue@webkit.org [Wed, 22 Feb 2012 15:11:31 +0000 (15:11 +0000)]
[Qt][WK2] Implement proxy authentication handling.
https://bugs.webkit.org/show_bug.cgi?id=78792

Patch by Michael Brüning <michael.bruning@nokia.com> on 2012-02-22
Reviewed by Simon Hausmann.

This patch corrects two bugs with the previous implementation:
1. The signal proxyAuthenticationRequired was not connected to a
   slot.
2. The slot onProxyAuthenticationRequired had the wrong parameters.

* WebProcess/qt/QtNetworkAccessManager.cpp:
(WebKit::QtNetworkAccessManager::QtNetworkAccessManager):
(WebKit::QtNetworkAccessManager::onProxyAuthenticationRequired):
* WebProcess/qt/QtNetworkAccessManager.h: Added include.
(QtNetworkAccessManager):

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

12 years ago[Qt] Move QMenu dependant scrollbar context menu handling out of WebCore
hausmann@webkit.org [Wed, 22 Feb 2012 15:10:21 +0000 (15:10 +0000)]
[Qt] Move QMenu dependant scrollbar context menu handling out of WebCore
https://bugs.webkit.org/show_bug.cgi?id=79233

Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

Move the code into WebKit/qt/Api/qwebpage.cpp, the only place where it is called from.

* Target.pri: Remove ScrollbarQt.cpp from build.
* platform/Scrollbar.h: Remove Qt-only context menu handling but make moveThum
accessible from the outside.
* platform/qt/ScrollbarQt.cpp: Removed. Not needed anymore.

Source/WebKit/qt:

Move scrollbar context menu handling here, it's the only place where it is
used.

* Api/qwebpage.cpp:
(handleScrollbarContextMenuEvent):
(QWebPage::swallowContextMenuEvent):

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

12 years agoWeb Inspector: retrieving content for some XHR requests crashes inspected page renderer
vsevik@chromium.org [Wed, 22 Feb 2012 15:07:58 +0000 (15:07 +0000)]
Web Inspector: retrieving content for some XHR requests crashes inspected page renderer
https://bugs.webkit.org/show_bug.cgi?id=79026

Reviewed by Pavel Feldman.

Source/WebCore:

Fixed loading empty xhr content and xhr content decoding that was
broken in r107672.

Tests: http/tests/inspector/network/network-cyrillic-xhr.html
       http/tests/inspector/network/network-empty-xhr.html

* inspector/InspectorPageAgent.cpp:
(WebCore):
(WebCore::InspectorPageAgent::createDecoder):
(WebCore::InspectorPageAgent::cachedResourceContent):
* inspector/InspectorPageAgent.h:
(WebCore):
* inspector/NetworkResourcesData.cpp:
(WebCore::NetworkResourcesData::ResourceData::decodeDataToContent):
(WebCore::NetworkResourcesData::responseReceived):
* inspector/NetworkResourcesData.h:
(WebCore::NetworkResourcesData::ResourceData::decoder):
(WebCore::NetworkResourcesData::ResourceData::setDecoder):

LayoutTests:

* http/tests/inspector/network/network-cyrillic-xhr-expected.txt: Added.
* http/tests/inspector/network/network-cyrillic-xhr.html: Added.
* http/tests/inspector/network/network-empty-xhr-expected.txt: Added.
* http/tests/inspector/network/network-empty-xhr.html: Added.
* http/tests/inspector/network/resources/cyrillic.html: Added.
* http/tests/inspector/network/resources/empty.html: Added.

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

12 years agoWeb Inspector: CodeGeneratorInspector.py: remove neural-net-style constructions
yurys@chromium.org [Wed, 22 Feb 2012 15:05:19 +0000 (15:05 +0000)]
Web Inspector: CodeGeneratorInspector.py: remove neural-net-style constructions
https://bugs.webkit.org/show_bug.cgi?id=79153

Patch by Peter Rybin <peter.rybin@gmail.com> on 2012-02-22
Reviewed by Yury Semikhatsky.

CParamType class removed completely, some ("virtual") methods are
removed. TypeModel notion is added instead with some minor helper
classes and methods.

* inspector/CodeGeneratorInspector.py:
(DomainNameFixes):
(RawTypes.BaseType):
(RawTypes.String):
(RawTypes.String.get_raw_type_model):
(RawTypes.Int):
(RawTypes.Int.get_raw_type_model):
(RawTypes.Number):
(RawTypes.Number.get_raw_type_model):
(RawTypes.Bool):
(RawTypes.Bool.get_raw_type_model):
(RawTypes.Object):
(RawTypes.Object.get_raw_type_model):
(RawTypes.Any):
(RawTypes.Any.get_raw_type_model):
(RawTypes.Array):
(RawTypes.Array.get_raw_type_model):
(replace_right_shift):
(CommandReturnPassModel):
(CommandReturnPassModel.ByReference):
(CommandReturnPassModel.ByReference.__init__):
(CommandReturnPassModel.ByReference.get_return_var_type):
(CommandReturnPassModel.get_output_argument_prefix):
(CommandReturnPassModel.get_output_to_raw_expression):
(CommandReturnPassModel.get_output_parameter_type):
(CommandReturnPassModel.get_set_return_condition):
(CommandReturnPassModel.ByPointer):
(CommandReturnPassModel.ByPointer.__init__):
(CommandReturnPassModel.ByPointer.get_return_var_type):
(TypeModel):
(TypeModel.RefPtrBased):
(TypeModel.RefPtrBased.__init__):
(TypeModel.RefPtrBased.get_optional):
(TypeModel.RefPtrBased.get_command_return_pass_model):
(TypeModel.RefPtrBased.get_input_param_type_text):
(TypeModel.RefPtrBased.get_event_setter_expression_pattern):
(TypeModel.Enum):
(TypeModel.Enum.__init__):
(TypeModel.Enum.get_optional):
(TypeModel.Enum.get_optional.EnumOptional):
(TypeModel.Enum.get_optional.EnumOptional.get_optional):
(TypeModel.Enum.get_optional.EnumOptional.get_command_return_pass_model):
(TypeModel.Enum.get_input_param_type_text):
(TypeModel.Enum.get_event_setter_expression_pattern):
(TypeModel.Enum.get_command_return_pass_model):
(TypeModel.ValueType):
(TypeModel.ValueType.__init__):
(TypeModel.ValueType.get_optional):
(TypeModel.ValueType.get_command_return_pass_model):
(TypeModel.ValueType.get_input_param_type_text):
(TypeModel.ValueType.get_event_setter_expression_pattern):
(TypeModel.ValueType.ValueOptional):
(TypeModel.ValueType.ValueOptional.__init__):
(TypeModel.ValueType.ValueOptional.get_optional):
(TypeModel.ValueType.ValueOptional.get_command_return_pass_model):
(TypeModel.ValueType.ValueOptional.get_input_param_type_text):
(TypeModel.ValueType.ValueOptional.get_event_setter_expression_pattern):
(TypeModel.init_class):
(TypeBindings.create_ad_hoc_type_declaration.Helper):
(TypeBindings.create_type_declaration_.EnumBinding.get_array_item_c_type_text):
(TypeBindings.create_type_declaration_.EnumBinding.get_setter_value_expression_pattern):
(TypeBindings.create_type_declaration_.EnumBinding):
(TypeBindings.create_type_declaration_.EnumBinding.get_type_model):
(TypeBindings.create_type_declaration_):
(TypeBindings.create_type_declaration_.get_type_model):
(TypeBindings.create_type_declaration_.get_array_item_c_type_text):
(get_type_model):
(AdHocTypeContextImpl.__init__):
(PlainObjectBinding):
(PlainObjectBinding.get_type_model):
(AdHocTypeContext):
(ArrayBinding.get_array_item_c_type_text):
(ArrayBinding):
(ArrayBinding.get_type_model):
(RawTypeBinding.get_validator_call_text):
(RawTypeBinding.reduce_to_raw_type):
(RawTypeBinding):
(RawTypeBinding.get_type_model):
(MethodGenerateModes.StrictParameterMode.get_c_param_type_text):
(MethodGenerateModes.RawParameterMode.get_c_param_type_text):
(MethodGenerateModes.CombinedMode.get_c_param_type_text):
(Generator.go):
(Generator.process_event):
(Generator.process_command):
(Generator.resolve_type_and_generate_ad_hoc):
(Generator.resolve_type_and_generate_ad_hoc.AdHocTypeContext):
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::didParseSource):

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

12 years agoWeb Inspector: [InspectorIndexedDB] Show IndexedDB views on selection IndexedDB eleme...
vsevik@chromium.org [Wed, 22 Feb 2012 15:00:00 +0000 (15:00 +0000)]
Web Inspector: [InspectorIndexedDB] Show IndexedDB views on selection IndexedDB elements in resources panel.
https://bugs.webkit.org/show_bug.cgi?id=79098

Reviewed by Pavel Feldman.

Source/WebCore:

* English.lproj/localizedStrings.js:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/InspectorIndexedDBAgent.cpp:
(WebCore):
* inspector/compile-front-end.sh:
* inspector/front-end/IndexedDBModel.js:
(WebInspector.IndexedDBModel.prototype._assertFrameId):
(WebInspector.IndexedDBModel.prototype.loadObjectStoreData):
(WebInspector.IndexedDBModel.prototype.loadIndexData):
* inspector/front-end/IndexedDBViews.js: Added.
* inspector/front-end/ObjectPropertiesSection.js:
(WebInspector.ObjectPropertiesSection):
(WebInspector.ObjectPropertiesSection.prototype.updateProperties):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourcesPanel.prototype.showIndexedDB):
(WebInspector.IndexedDBTreeElement.prototype.refreshIndexedDB):
(WebInspector.IndexedDBTreeElement.prototype._indexedDBAdded):
(WebInspector.IDBDatabaseTreeElement):
(WebInspector.IDBDatabaseTreeElement.prototype.get itemURL):
(WebInspector.IDBDatabaseTreeElement.prototype.update):
(WebInspector.IDBDatabaseTreeElement.prototype.onselect):
(WebInspector.IDBObjectStoreTreeElement):
(WebInspector.IDBObjectStoreTreeElement.prototype.get itemURL):
(WebInspector.IDBObjectStoreTreeElement.prototype.update):
(WebInspector.IDBObjectStoreTreeElement.prototype.onselect):
(WebInspector.IDBIndexTreeElement):
(WebInspector.IDBIndexTreeElement.prototype.get itemURL):
(WebInspector.IDBIndexTreeElement.prototype.update):
(WebInspector.IDBIndexTreeElement.prototype.onselect):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/externs.js:
* inspector/front-end/indexedDBViews.css: Added.
* inspector/front-end/inspector.html:

LayoutTests:

* http/tests/inspector/indexeddb/database-data.html:

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

12 years agoREGRESSION(58212): html foreignObjects with positions other than static not hidden...
zimmermann@webkit.org [Wed, 22 Feb 2012 14:49:46 +0000 (14:49 +0000)]
REGRESSION(58212): html foreignObjects with positions other than static not hidden correctly when parent has display:none
https://bugs.webkit.org/show_bug.cgi?id=41386

Reviewed by Zoltan Herczeg.

Source/WebCore:

r58212 gave SVGGElements a renderer, regardless if "display: none" was set or not, for various reasons (see change set).
The <g> renderer for such cases is a RenderSVGHiddenContainer. We make sure in SVG that such subtrees are never used
for painting & hittesting - they only exist for the purpose of SVG DOM (query getCTM, etc..) and to create renderers
for child resources, like <g display="none"><linearGradient>.

This concept still works fine for: <g display="none"><foreignObject><body>Foobar</body></foreignObject></g>, as
RenderSVGForeignObject::paint is never called thus we never paint the subtree of the <fO>. If the <body> elements
contains "position: relative" a new layer is created for the <body>. When the document paints we have two seperated
layers, and the <body> layer doesn't know that it's actually inside a "SVG hidden subtree", and gets painted, where it
shouldn't. HTML doesn't have this problems, as a display: none object, never creates a renderer.

The fix is to disallow layer creation in hidden SVG subtrees, to mimic what would happen if we'd follow HTML rules
to not create renderers for display: none objects. This avoids any indirections - as no layers are created anymore.

Tests: svg/foreignObject/fO-display-none-with-relative-pos-content.svg
       svg/foreignObject/fO-display-none.svg
       svg/foreignObject/fO-parent-display-changes.svg
       svg/foreignObject/fO-parent-display-none-with-relative-pos-content.svg
       svg/foreignObject/fO-parent-display-none.svg
       svg/foreignObject/fO-parent-of-parent-display-none-with-relative-pos-content.svg
       svg/foreignObject/fO-parent-of-parent-display-none.svg

* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::styleDidChange): Only create layers, if its allowed -- layerCreationAllowedForSubtree() will always return true for HTML, and only false for layers inside a hidden SVG subtree.
* rendering/RenderObject.cpp:
(WebCore::RenderObject::addChild): Only create layers, if its allowed.
* rendering/RenderObject.h: Add inline layerCreationAllowedForSubtree() helper, that craws the tree to find a RenderSVGHiddenContainer ancestor, if not present, return true.

LayoutTests:

Add new tests covering <foreignObject> content inside a <g display="none">.

* platform/chromium/test_expectations.txt:
* platform/mac/svg/foreignObject/fO-display-none-expected.png: Added.
* platform/mac/svg/foreignObject/fO-display-none-expected.txt: Added.
* platform/mac/svg/foreignObject/fO-display-none-with-relative-pos-content-expected.png: Added.
* platform/mac/svg/foreignObject/fO-display-none-with-relative-pos-content-expected.txt: Added.
* platform/mac/svg/foreignObject/fO-parent-display-changes-expected.png: Added.
* platform/mac/svg/foreignObject/fO-parent-display-changes-expected.txt: Added.
* platform/mac/svg/foreignObject/fO-parent-display-none-expected.png: Added.
* platform/mac/svg/foreignObject/fO-parent-display-none-expected.txt: Added.
* platform/mac/svg/foreignObject/fO-parent-display-none-with-relative-pos-content-expected.png: Added.
* platform/mac/svg/foreignObject/fO-parent-display-none-with-relative-pos-content-expected.txt: Added.
* platform/mac/svg/foreignObject/fO-parent-of-parent-display-none-expected.png: Added.
* platform/mac/svg/foreignObject/fO-parent-of-parent-display-none-expected.txt: Added.
* platform/mac/svg/foreignObject/fO-parent-of-parent-display-none-with-relative-pos-content-expected.png: Added.
* platform/mac/svg/foreignObject/fO-parent-of-parent-display-none-with-relative-pos-content-expected.txt: Added.
* svg/foreignObject/fO-display-none-with-relative-pos-content.svg: Added.
* svg/foreignObject/fO-display-none.svg: Added.
* svg/foreignObject/fO-parent-display-changes.svg: Added.
* svg/foreignObject/fO-parent-display-none-with-relative-pos-content.svg: Added.
* svg/foreignObject/fO-parent-display-none.svg: Added.
* svg/foreignObject/fO-parent-of-parent-display-none-with-relative-pos-content.svg: Added.
* svg/foreignObject/fO-parent-of-parent-display-none.svg: Added.

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

12 years ago2012-02-22 Nikolas Zimmermann <nzimmermann@rim.com>
zimmermann@webkit.org [Wed, 22 Feb 2012 14:21:23 +0000 (14:21 +0000)]
2012-02-22  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Fix SVG pixel test results, which now show up as hash failures, since DRT was fixed to report these.

        * platform/mac/svg/W3C-SVG-1.1/coords-units-03-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-07-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-08-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-15-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/shapes-circle-01-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/shapes-circle-02-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/struct-frag-02-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/text-text-04-t-expected.png:
        * platform/mac/svg/as-border-image/svg-as-border-image-expected.png:
        * platform/mac/svg/clip-path/clip-in-mask-expected.png:
        * platform/mac/svg/clip-path/nested-clip-in-mask-image-based-clipping-expected.png:
        * platform/mac/svg/clip-path/nested-clip-in-mask-path-and-image-based-clipping-expected.png:
        * platform/mac/svg/clip-path/nested-clip-in-mask-path-based-clipping-expected.png:
        * platform/mac/svg/custom/circular-marker-reference-2-expected.png:
        * platform/mac/svg/custom/glyph-selection-arabic-forms-expected.png:
        * platform/mac/svg/custom/glyph-selection-bidi-mirror-expected.png:
        * platform/mac/svg/custom/glyph-selection-non-bmp-expected.png:
        * platform/mac/svg/custom/gradient-rotated-bbox-expected.png:
        * platform/mac/svg/custom/gradient-userSpaceOnUse-with-percentage-expected.png:
        * platform/mac/svg/custom/marker-opacity-expected.png:
        * platform/mac/svg/custom/non-circular-marker-reference-expected.png:
        * platform/mac/svg/dom/SVGLocatable-getCTM-svg-root-expected.png:
        * platform/mac/svg/hixie/error/017-expected.png:
        * platform/mac/svg/text/text-align-05-b-expected.png:
        * platform/mac/svg/text/text-path-01-b-expected.png:
        * platform/mac/svg/text/text-text-01-b-expected.png:
        * platform/mac/svg/text/text-text-07-t-expected.png:
        * platform/mac/svg/text/text-tselect-02-f-expected.png:
        * svg/as-image/svg-non-integer-scaled-image-expected.png:
        * svg/custom/visited-link-color-expected.png:
        * svg/custom/zero-path-square-cap-rendering2-expected.png:
        * svg/foreignObject/clip-expected.png:
        * svg/foreignObject/filter-expected.png:
        * svg/foreignObject/mask-expected.png:

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

12 years agoDrop clipToImageBuffer from RenderBoxModelObject
zherczeg@webkit.org [Wed, 22 Feb 2012 14:18:33 +0000 (14:18 +0000)]
Drop clipToImageBuffer from RenderBoxModelObject
https://bugs.webkit.org/show_bug.cgi?id=79225

Reviewed by Nikolas Zimmermann.

-webkit-background-clip: text is a rarely used non-standard
feature uses clipToImageBuffer. It is replaced by
CompositeDestinationIn on a transparent layer. The new
approach has the same speed as the old one.

Existing tests cover this issue.

* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintFillLayerExtended):

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

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