WebKit-https.git
8 years agoRe-enable parallel GC on Mac
mhahnenberg@apple.com [Wed, 29 Feb 2012 01:26:03 +0000 (01:26 +0000)]
Re-enable parallel GC on Mac
https://bugs.webkit.org/show_bug.cgi?id=79837

Rubber stamped by Filip Pizlo.

* runtime/Options.cpp:
(JSC::Options::initializeOptions): We accidentally disabled parallel GC with this line,
so we removed it and things should go back to normal.

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

8 years ago[chromium] Work around IOSurface-related corruption during readback
kbr@google.com [Wed, 29 Feb 2012 01:17:27 +0000 (01:17 +0000)]
[chromium] Work around IOSurface-related corruption during readback
https://bugs.webkit.org/show_bug.cgi?id=79735

Reviewed by James Robinson.

Copy the compositor's IOSurface-backed output into a temporary
texture and perform the ReadPixels operation against that texture.

It is infeasible to write an automated test for this issue.
Tested manually by performing print preview multiple times against
pages containing WebGL content on 10.7 and observing that the
corruption in the output is no longer present.

* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::getFramebufferPixels):

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

8 years agoSome run-javascriptcore-tests broken for 32-bit debug
fpizlo@apple.com [Wed, 29 Feb 2012 01:13:08 +0000 (01:13 +0000)]
Some run-javascriptcore-tests broken for 32-bit debug
https://bugs.webkit.org/show_bug.cgi?id=79844

Rubber stamped by Oliver Hunt.

These assertions are just plain wrong for 32-bit. We could either have a massive
assertion that depends on value representation, that has to be changed every
time we change the JITs, resulting in a bug tail of debug-mode crashes, or we
could get rid of the assertions. I pick the latter.

* dfg/DFGOperations.cpp:
* jit/JITStubs.cpp:
(JSC::DEFINE_STUB_FUNCTION):

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

8 years ago[chromium] Inform v8 about extra memory used for PatternSkia clamp mode
enne@google.com [Wed, 29 Feb 2012 01:12:57 +0000 (01:12 +0000)]
[chromium] Inform v8 about extra memory used for PatternSkia clamp mode
https://bugs.webkit.org/show_bug.cgi?id=79846

Reviewed by James Robinson.

For large images, creating a non-repeating Pattern in Skia can
allocate a lot of memory. Inform v8 about this so that it can
potentially garbage collect any Pattern objects that aren't being used
and that are holding onto large image copies.

* platform/graphics/Pattern.cpp:
(WebCore::Pattern::Pattern):
* platform/graphics/Pattern.h:
(Pattern):
* platform/graphics/skia/PatternSkia.cpp:
(WebCore::Pattern::platformDestroy):
(WebCore::Pattern::platformPattern):

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

8 years agoUnreviewed gardening, mark another compositing test as flaky.
adamk@chromium.org [Wed, 29 Feb 2012 00:38:28 +0000 (00:38 +0000)]
Unreviewed gardening, mark another compositing test as flaky.
https://bugs.webkit.org/show_bug.cgi?id=79823

* platform/chromium/test_expectations.txt:

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

8 years agoAll mouse events after a right click are ignored when they came from WebkitTestRunner
commit-queue@webkit.org [Wed, 29 Feb 2012 00:37:05 +0000 (00:37 +0000)]
All mouse events after a right click are ignored when they came from WebkitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=77350

Patch by Hugo Parente Lima <hugo.lima@openbossa.org> on 2012-02-28
Reviewed by Chang Shu.

Source/WebKit2:

Never ignore mouse events when using sync events, even if the context menu is being
show but the Ui did replied the ShowContextMenu event with a ContextMenuHidden.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::mouseEventSyncForTesting):

LayoutTests:

Unskip fast/events/mouse-click-events.html.

* platform/qt-5.0-wk2/Skipped:

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

8 years ago[chromium] Reset damage tracker on visibility change.
commit-queue@webkit.org [Wed, 29 Feb 2012 00:27:41 +0000 (00:27 +0000)]
[chromium] Reset damage tracker on visibility change.
https://bugs.webkit.org/show_bug.cgi?id=79267

Patch by Jonathan Backer <backer@chromium.org> on 2012-02-28
Reviewed by James Robinson.

Source/WebCore:

Unit tests: CCLayerTreeHostImplTest.cpp

* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::setVisible):

Source/WebKit/chromium:

* tests/CCLayerTreeHostImplTest.cpp:
(WebKit::PartialSwapTrackerContext::getString):
(WebKit):
(WebKit::TEST_F):

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

8 years ago[Qt] Unskip compositing & 3d-rendering tests
commit-queue@webkit.org [Wed, 29 Feb 2012 00:14:15 +0000 (00:14 +0000)]
[Qt] Unskip compositing & 3d-rendering tests
https://bugs.webkit.org/show_bug.cgi?id=78687

Patch by Rafael Brandao <rafael.lobo@openbossa.org> on 2012-02-28
Reviewed by Noam Rosenthal.

* platform/qt-4.8/Skipped:
* platform/qt-5.0-wk1/Skipped:
* platform/qt-5.0-wk2/Skipped:
* platform/qt-5.0-wk2/compositing/animation/busy-indicator-expected.png: Added.
* platform/qt-5.0-wk2/compositing/animation/state-at-end-event-transform-layer-expected.png: Added.
* platform/qt-5.0-wk2/compositing/animation/state-at-end-event-transform-layer-expected.txt: Added.
* platform/qt-5.0-wk2/compositing/color-matching/image-color-matching-expected.png: Added.
* platform/qt-5.0-wk2/compositing/color-matching/image-color-matching-expected.txt: Added.
* platform/qt-5.0-wk2/compositing/color-matching/pdf-image-match-expected.png: Added.
* platform/qt-5.0-wk2/compositing/color-matching/pdf-image-match-expected.txt: Added.
* platform/qt-5.0-wk2/compositing/compositing-visible-descendant-expected.png: Added.
* platform/qt-5.0-wk2/compositing/compositing-visible-descendant-expected.txt: Added.
* platform/qt-5.0-wk2/compositing/direct-image-compositing-expected.png: Added.
* platform/qt-5.0-wk2/compositing/direct-image-compositing-expected.txt: Added.
* platform/qt-5.0-wk2/compositing/framesets/composited-frame-alignment-expected.png: Added.
* platform/qt-5.0-wk2/compositing/generated-content-expected.png: Added.
* platform/qt-5.0-wk2/compositing/generated-content-expected.txt: Added.
* platform/qt-5.0-wk2/compositing/geometry/abs-position-inside-opacity-expected.png: Added.
* platform/qt-5.0-wk2/compositing/geometry/abs-position-inside-opacity-expected.txt: Added.
* platform/qt-5.0-wk2/compositing/geometry/clipping-foreground-expected.png: Added.
* platform/qt-5.0-wk2/compositing/geometry/clipping-foreground-expected.txt: Added.
* platform/qt-5.0-wk2/compositing/geometry/composited-html-size-expected.png: Added.
* platform/qt-5.0-wk2/compositing/geometry/composited-html-size-expected.txt: Added.
* platform/qt-5.0-wk2/compositing/geometry/fixed-in-composited-expected.png: Added.
* platform/qt-5.0-wk2/compositing/geometry/fixed-in-composited-expected.txt: Added.
* platform/qt-5.0-wk2/compositing/geometry/fixed-position-composited-page-scale-down-expected.png: Added.
* platform/qt-5.0-wk2/compositing/geometry/fixed-position-composited-page-scale-expected.png: Added.
* platform/qt-5.0-wk2/compositing/geometry/fixed-position-expected.png: Added.
* platform/qt-5.0-wk2/compositing/geometry/fixed-position-expected.txt: Added.
* platform/qt-5.0-wk2/compositing/geometry/fixed-position-iframe-composited-page-scale-down-expected.png: Added.
* platform/qt-5.0-wk2/compositing/geometry/fixed-position-iframe-composited-page-scale-expected.png: Added.
* platform/qt-5.0-wk2/compositing/geometry/fixed-position-transform-composited-page-scale-down-expected.png: Added.
* platform/qt-5.0-wk2/compositing/geometry/fixed-position-transform-composited-page-scale-expected.png: Added.
* platform/qt-5.0-wk2/compositing/geometry/foreground-layer-expected.png: Added.
* platform/qt-5.0-wk2/compositing/geometry/horizontal-scroll-composited-expected.png: Added.
* platform/qt-5.0-wk2/compositing/geometry/horizontal-scroll-composited-expected.txt: Added.
* platform/qt-5.0-wk2/compositing/geometry/layer-due-to-layer-children-deep-expected.png: Added.
* platform/qt-5.0-wk2/compositing/geometry/layer-due-to-layer-children-deep-expected.txt: Added.
* platform/qt-5.0-wk2/compositing/geometry/layer-due-to-layer-children-expected.png: Added.
* platform/qt-5.0-wk2/compositing/geometry/layer-due-to-layer-children-expected.txt: Added.
* platform/qt-5.0-wk2/compositing/geometry/limit-layer-bounds-overflow-repaint-expected.png: Added.
* platform/qt-5.0-wk2/compositing/geometry/limit-layer-bounds-overflow-repaint-expected.txt: Added.
* platform/qt-5.0-wk2/compositing/geometry/outline-change-expected.png: Added.
* platform/qt-5.0-wk2/compositing/geometry/outline-change-expected.txt: Added.
* platform/qt-5.0-wk2/compositing/geometry/partial-layout-update-expected.png: Added.
* platform/qt-5.0-wk2/compositing/geometry/partial-layout-update-expected.txt: Added.
* platform/qt-5.0-wk2/compositing/geometry/preserve-3d-switching-expected.txt: Added.
* platform/qt-5.0-wk2/compositing/geometry/repaint-foreground-layer-expected.png: Added.
* platform/qt-5.0-wk2/compositing/geometry/root-layer-update-expected.png: Added.
* platform/qt-5.0-wk2/compositing/geometry/root-layer-update-expected.txt: Added.
* platform/qt-5.0-wk2/compositing/geometry/transfrom-origin-on-zero-size-layer-expected.png: Added.
* platform/qt-5.0-wk2/compositing/geometry/transfrom-origin-on-zero-size-layer-expected.txt: Added.
* platform/qt-5.0-wk2/compositing/geometry/vertical-scroll-composited-expected.png: Added.
* platform/qt-5.0-wk2/compositing/geometry/vertical-scroll-composited-expected.txt: Added.
* platform/qt-5.0-wk2/compositing/geometry/video-fixed-scrolling-expected.png: Added.
* platform/qt-5.0-wk2/compositing/geometry/video-fixed-scrolling-expected.txt: Added.
* platform/qt-5.0-wk2/compositing/iframes/composited-iframe-alignment-expected.png: Added.
* platform/qt-5.0-wk2/compositing/iframes/composited-iframe-alignment-expected.txt: Added.
* platform/qt-5.0-wk2/compositing/iframes/iframe-copy-on-scroll-expected.png: Added.
* platform/qt-5.0-wk2/compositing/iframes/iframe-copy-on-scroll-expected.txt: Added.
* platform/qt-5.0-wk2/compositing/iframes/iframe-in-composited-layer-expected.png: Added.
* platform/qt-5.0-wk2/compositing/iframes/iframe-in-composited-layer-expected.txt: Added.
* platform/qt-5.0-wk2/compositing/iframes/resizer-expected.png: Added.
* platform/qt-5.0-wk2/compositing/iframes/resizer-expected.txt: Added.
* platform/qt-5.0-wk2/compositing/images/direct-image-background-color-expected.png: Added.
* platform/qt-5.0-wk2/compositing/images/direct-image-background-color-expected.txt: Added.
* platform/qt-5.0-wk2/compositing/layer-creation/spanOverlapsCanvas-expected.png: Added.
* platform/qt-5.0-wk2/compositing/layers-inside-overflow-scroll-expected.png: Added.
* platform/qt-5.0-wk2/compositing/layers-inside-overflow-scroll-expected.txt: Added.
* platform/qt-5.0-wk2/compositing/overflow/fixed-position-ancestor-clip-expected.png: Added.
* platform/qt-5.0-wk2/compositing/overflow/fixed-position-ancestor-clip-expected.txt: Added.
* platform/qt-5.0-wk2/compositing/overflow/overflow-compositing-descendant-expected.png: Added.
* platform/qt-5.0-wk2/compositing/overflow/overflow-compositing-descendant-expected.txt: Added.
* platform/qt-5.0-wk2/compositing/overflow/overflow-positioning-expected.png: Added.
* platform/qt-5.0-wk2/compositing/overflow/overflow-positioning-expected.txt: Added.
* platform/qt-5.0-wk2/compositing/overflow/overflow-scaled-descendant-overlapping-expected.png: Added.
* platform/qt-5.0-wk2/compositing/overflow/overflow-scaled-descendant-overlapping-expected.txt: Added.
* platform/qt-5.0-wk2/compositing/overflow/overflow-scroll-expected.png: Added.
* platform/qt-5.0-wk2/compositing/overflow/overflow-scroll-expected.txt: Added.
* platform/qt-5.0-wk2/compositing/overflow/parent-overflow-expected.png: Added.
* platform/qt-5.0-wk2/compositing/overflow/parent-overflow-expected.txt: Added.
* platform/qt-5.0-wk2/compositing/overflow/scroll-ancestor-update-expected.png: Added.
* platform/qt-5.0-wk2/compositing/overflow/scroll-ancestor-update-expected.txt: Added.
* platform/qt-5.0-wk2/compositing/overflow/scrollbar-painting-expected.png: Added.
* platform/qt-5.0-wk2/compositing/overflow/scrollbar-painting-expected.txt: Added.
* platform/qt-5.0-wk2/compositing/overflow/theme-affects-visual-overflow-expected.png: Added.
* platform/qt-5.0-wk2/compositing/overflow/theme-affects-visual-overflow-expected.txt: Added.
* platform/qt-5.0-wk2/compositing/plugins/composited-plugin-expected.png: Added.
* platform/qt-5.0-wk2/compositing/plugins/composited-plugin-expected.txt: Added.
* platform/qt-5.0-wk2/compositing/repaint/become-overlay-composited-layer-expected.png: Added.
* platform/qt-5.0-wk2/compositing/repaint/become-overlay-composited-layer-expected.txt: Added.
* platform/qt-5.0-wk2/compositing/repaint/composited-document-element-expected.png: Added.
* platform/qt-5.0-wk2/compositing/repaint/composited-document-element-expected.txt: Added.
* platform/qt-5.0-wk2/compositing/repaint/content-into-overflow-expected.png: Added.
* platform/qt-5.0-wk2/compositing/repaint/content-into-overflow-expected.txt: Added.
* platform/qt-5.0-wk2/compositing/repaint/layer-repaint-expected.png: Added.
* platform/qt-5.0-wk2/compositing/repaint/layer-repaint-expected.txt: Added.
* platform/qt-5.0-wk2/compositing/repaint/layer-repaint-rects-expected.png: Added.
* platform/qt-5.0-wk2/compositing/repaint/layer-repaint-rects-expected.txt: Added.
* platform/qt-5.0-wk2/compositing/repaint/opacity-between-absolute-expected.png: Added.
* platform/qt-5.0-wk2/compositing/repaint/opacity-between-absolute-expected.txt: Added.
* platform/qt-5.0-wk2/compositing/repaint/opacity-between-absolute2-expected.png: Added.
* platform/qt-5.0-wk2/compositing/repaint/opacity-between-absolute2-expected.txt: Added.
* platform/qt-5.0-wk2/compositing/repaint/overflow-into-content-expected.png: Added.
* platform/qt-5.0-wk2/compositing/repaint/overflow-into-content-expected.txt: Added.
* platform/qt-5.0-wk2/compositing/repaint/same-size-invalidation-expected.png: Added.
* platform/qt-5.0-wk2/compositing/scaling/tiled-layer-recursion-expected.png: Added.
* platform/qt-5.0-wk2/compositing/self-painting-layers-expected.png: Added.
* platform/qt-5.0-wk2/compositing/self-painting-layers-expected.txt: Added.
* platform/qt-5.0-wk2/compositing/shadows/shadow-drawing-expected.png: Added.
* platform/qt-5.0-wk2/compositing/shadows/shadow-drawing-expected.txt: Added.
* platform/qt-5.0-wk2/compositing/sibling-positioning-expected.png: Added.
* platform/qt-5.0-wk2/compositing/sibling-positioning-expected.txt: Added.
* platform/qt-5.0-wk2/compositing/text-on-large-layer-expected.png: Added.
* platform/qt-5.0-wk2/compositing/text-on-large-layer-expected.txt: Added.
* platform/qt-5.0-wk2/compositing/transitions/scale-transition-no-start-expected.png: Added.
* platform/qt-5.0-wk2/compositing/transitions/scale-transition-no-start-expected.txt: Added.
* platform/qt-5.0-wk2/compositing/transitions/singular-scale-transition-expected.png: Added.
* platform/qt-5.0-wk2/compositing/transitions/singular-scale-transition-expected.txt: Added.
* platform/qt-5.0-wk2/compositing/video/video-background-color-expected.png: Added.
* platform/qt-5.0-wk2/compositing/video/video-background-color-expected.txt: Added.
* platform/qt-5.0-wk2/compositing/visibility/visibility-composited-expected.txt: Added.
* platform/qt-5.0-wk2/compositing/visibility/visibility-composited-transforms-expected.txt: Added.
* platform/qt/Skipped:

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

8 years agoFix a typo in config.json
lforschler@apple.com [Wed, 29 Feb 2012 00:10:02 +0000 (00:10 +0000)]
Fix a typo in config.json
linx -> linux

* BuildSlaveSupport/build.webkit.org-config/config.json:

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

8 years agoRemove suppressions of SVG crash flakiness on cr-mac
adamk@chromium.org [Wed, 29 Feb 2012 00:07:15 +0000 (00:07 +0000)]
Remove suppressions of SVG crash flakiness on cr-mac
https://bugs.webkit.org/show_bug.cgi?id=79707

Unreviewed gardening.

The suspect cause of these failures was rolled out in r109164.
Removing the suppressions to see if the rollout fixes them.

* platform/chromium/test_expectations.txt:

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

8 years agoUnreviewed gardening, mark another compositing as flaky.
adamk@chromium.org [Wed, 29 Feb 2012 00:03:26 +0000 (00:03 +0000)]
Unreviewed gardening, mark another compositing as flaky.
https://bugs.webkit.org/show_bug.cgi?id=79823

* platform/chromium/test_expectations.txt:

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

8 years agoNo extra silence needed in multi-channels support layout test cases
commit-queue@webkit.org [Tue, 28 Feb 2012 23:58:57 +0000 (23:58 +0000)]
No extra silence needed in multi-channels support layout test cases
https://bugs.webkit.org/show_bug.cgi?id=79752

Patch by Wei James <james.wei@intel.com> on 2012-02-28
Reviewed by Chris Rogers.

* webaudio/audiobuffersource-multi-channels-expected.wav:
* webaudio/audiobuffersource-multi-channels.html:
* webaudio/resources/mix-testing.js:
* webaudio/up-mixing-mono-51-expected.wav:
* webaudio/up-mixing-mono-51.html:
* webaudio/up-mixing-mono-stereo-expected.wav:
* webaudio/up-mixing-mono-stereo.html:
* webaudio/up-mixing-stereo-51-expected.wav:
* webaudio/up-mixing-stereo-51.html:

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

8 years agoUnreviewed, rolling out r108834.
commit-queue@webkit.org [Tue, 28 Feb 2012 23:53:12 +0000 (23:53 +0000)]
Unreviewed, rolling out r108834.
http://trac.webkit.org/changeset/108834
https://bugs.webkit.org/show_bug.cgi?id=79840

Seems to cause a number of crashes under
FrameView::doDeferredRepaints (Requested by jamesr__ on
#webkit).

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

* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::draw):
* svg/graphics/SVGImage.h:
* svg/graphics/SVGImageCache.cpp:
(WebCore::SVGImageCache::imageContentChanged):
(WebCore::SVGImageCache::redrawTimerFired):
* svg/graphics/SVGImageCache.h:
(SVGImageCache):

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

8 years ago[GTK] Add support for nested event loops in RunLoop
mario@webkit.org [Tue, 28 Feb 2012 23:44:56 +0000 (23:44 +0000)]
[GTK] Add support for nested event loops in RunLoop
https://bugs.webkit.org/show_bug.cgi?id=79499

Reviewed by Martin Robinson.

Run a new nested mainloop if the main event loop is already
running when calling to RunLoop::run(), and take care of stopping
the right main loop too when RunLoop::stop() is invoked.

* platform/RunLoop.h:
(RunLoop):
* platform/gtk/RunLoopGtk.cpp:
(WebCore::RunLoop::RunLoop):
(WebCore::RunLoop::~RunLoop):
(WebCore::RunLoop::run):
(WebCore::RunLoop::innermostLoop):
(WebCore::RunLoop::pushNestedMainLoop):
(WebCore::RunLoop::popNestedMainLoop):
(WebCore):
(WebCore::RunLoop::stop):

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

8 years ago More build fix.
ap@apple.com [Tue, 28 Feb 2012 23:16:42 +0000 (23:16 +0000)]
    More build fix.

        * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm: Check for build platform
        properly.

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

8 years agoGet rid of padding cruft in CopiedBlock
mhahnenberg@apple.com [Tue, 28 Feb 2012 23:15:12 +0000 (23:15 +0000)]
Get rid of padding cruft in CopiedBlock
https://bugs.webkit.org/show_bug.cgi?id=79686

Reviewed by Filip Pizlo.

* heap/CopiedBlock.h:
(CopiedBlock): Removed the extra padding that was used for alignment purposes until
the calculation of the payload offset into CopiedBlocks was redone recently.

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

8 years agoMove RenderLayer::size() calls to a common function
jchaffraix@webkit.org [Tue, 28 Feb 2012 23:09:06 +0000 (23:09 +0000)]
Move RenderLayer::size() calls to a common function
https://bugs.webkit.org/show_bug.cgi?id=76972

Reviewed by Simon Fraser.

Refactoring only.

This change introduces RenderBox::cachedSizeForOverflowClip() that handles all the cached size
requests that currently goes through the RenderLayer. This indirection helps to decouple the need
for a RenderLayer so that we can lazily allocate RenderLayers as part of bug 75568.

* rendering/RenderBox.cpp:
(WebCore::RenderBox::cachedSizeForOverflowClip):
Added this function to handle the calls to RenderLayer's size(). Unfortunately a lot of the
code calls RenderLayer::size() directly so I could not make it private.

* rendering/LayoutState.cpp:
(WebCore::LayoutState::LayoutState):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::computeRectForRepaint):
* rendering/RenderBox.h:
(RenderBox):
* rendering/RenderInline.cpp:
(WebCore::RenderInline::clippedOverflowRectForRepaint):
(WebCore::RenderInline::computeRectForRepaint):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::computeRectForRepaint):
Fixed the call sites above.

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

8 years agoMove custom filter tests into subdir to make them easier to skip https://bugs.webkit...
dino@apple.com [Tue, 28 Feb 2012 23:08:56 +0000 (23:08 +0000)]
Move custom filter tests into subdir to make them easier to skip https://bugs.webkit.org/show_bug.cgi?id=79825

Reviewed by Simon Fraser.

Moved all CSS Shader tests into a 'custom' sub-directory. Added this directory
to the relevant skip lists.

* css3/filters/custom-filter-property-computed-style.html: Removed.
* css3/filters/custom-filter-property-parsing-invalid.html: Removed.
* css3/filters/custom-filter-property-parsing.html: Removed.
* css3/filters/custom/custom-filter-property-computed-style-expected.txt: Renamed from LayoutTests/css3/filters/custom-filter-property-computed-style-expected.txt.
* css3/filters/custom/custom-filter-property-computed-style.html: Added.
* css3/filters/custom/custom-filter-property-parsing-expected.txt: Renamed from LayoutTests/css3/filters/custom-filter-property-parsing-expected.txt.
* css3/filters/custom/custom-filter-property-parsing-invalid-expected.txt: Renamed from LayoutTests/css3/filters/custom-filter-property-parsing-invalid-expected.txt.
* css3/filters/custom/custom-filter-property-parsing-invalid.html: Added.
* css3/filters/custom/custom-filter-property-parsing.html: Added.
* css3/filters/custom/custom-filter-shader-cache-expected.png: Renamed from LayoutTests/css3/filters/custom-filter-shader-cache-expected.png.
* css3/filters/custom/custom-filter-shader-cache-expected.txt: Renamed from LayoutTests/css3/filters/custom-filter-shader-cache-expected.txt.
* css3/filters/custom/custom-filter-shader-cache.html: Renamed from LayoutTests/css3/filters/custom-filter-shader-cache.html.
* css3/filters/custom/effect-custom-combined-missing-expected.png: Renamed from LayoutTests/css3/filters/effect-custom-combined-missing-expected.png.
* css3/filters/custom/effect-custom-combined-missing-expected.txt: Renamed from LayoutTests/css3/filters/effect-custom-combined-missing-expected.txt.
* css3/filters/custom/effect-custom-combined-missing.html: Renamed from LayoutTests/css3/filters/effect-custom-combined-missing.html.
* css3/filters/custom/effect-custom-disabled-expected.txt: Renamed from LayoutTests/css3/filters/effect-custom-disabled-expected.txt.
* css3/filters/custom/effect-custom-disabled.html: Added.
* css3/filters/custom/effect-custom-expected.png: Renamed from LayoutTests/css3/filters/effect-custom-expected.png.
* css3/filters/custom/effect-custom-expected.txt: Renamed from LayoutTests/css3/filters/effect-custom-expected.txt.
* css3/filters/custom/effect-custom-parameters-expected.png: Renamed from LayoutTests/css3/filters/effect-custom-parameters-expected.png.
* css3/filters/custom/effect-custom-parameters-expected.txt: Renamed from LayoutTests/css3/filters/effect-custom-parameters-expected.txt.
* css3/filters/custom/effect-custom-parameters.html: Renamed from LayoutTests/css3/filters/effect-custom-parameters.html.
* css3/filters/custom/effect-custom.html: Renamed from LayoutTests/css3/filters/effect-custom.html.
* css3/filters/custom/missing-custom-filter-shader-expected.png: Renamed from LayoutTests/css3/filters/missing-custom-filter-shader-expected.png.
* css3/filters/custom/missing-custom-filter-shader-expected.txt: Renamed from LayoutTests/css3/filters/missing-custom-filter-shader-expected.txt.
* css3/filters/custom/missing-custom-filter-shader.html: Renamed from LayoutTests/css3/filters/missing-custom-filter-shader.html.
* css3/filters/effect-custom-disabled.html: Removed.
* platform/chromium-mac-leopard/css3/filters/custom/effect-custom-combined-missing-expected.png: Renamed from LayoutTests/platform/chromium-mac-leopard/css3/filters/effect-custom-combined-missing-expected.png.
* platform/chromium-mac-leopard/css3/filters/custom/effect-custom-expected.png: Renamed from LayoutTests/platform/chromium-mac-leopard/css3/filters/effect-custom-expected.png.
* platform/chromium-mac-leopard/css3/filters/custom/effect-custom-parameters-expected.png: Renamed from LayoutTests/platform/chromium-mac-leopard/css3/filters/effect-custom-parameters-expected.png.
* platform/chromium-mac-snowleopard/css3/filters/custom/effect-custom-combined-missing-expected.png: Renamed from LayoutTests/platform/chromium-mac-snowleopard/css3/filters/effect-custom-combined-missing-expected.png.
* platform/chromium-win/css3/filters/custom/effect-custom-combined-missing-expected.png: Renamed from LayoutTests/platform/chromium-win/css3/filters/effect-custom-combined-missing-expected.png.
* platform/chromium-win/css3/filters/custom/effect-custom-expected.png: Renamed from LayoutTests/platform/chromium-win/css3/filters/effect-custom-expected.png.
* platform/chromium-win/css3/filters/custom/effect-custom-parameters-expected.png: Renamed from LayoutTests/platform/chromium-win/css3/filters/effect-custom-parameters-expected.png.
* platform/chromium/css3/filters/custom/effect-custom-combined-missing-expected.txt: Renamed from LayoutTests/platform/chromium/css3/filters/effect-custom-combined-missing-expected.txt.
* platform/chromium/css3/filters/custom/effect-custom-disabled-expected.txt: Renamed from LayoutTests/platform/chromium/css3/filters/effect-custom-disabled-expected.txt.
* platform/chromium/css3/filters/custom/effect-custom-expected.txt: Renamed from LayoutTests/platform/chromium/css3/filters/effect-custom-expected.txt.
* platform/chromium/css3/filters/custom/effect-custom-parameters-expected.txt: Renamed from LayoutTests/platform/chromium/css3/filters/effect-custom-parameters-expected.txt.
* platform/chromium/test_expectations.txt:
* platform/mac-snowleopard/css3/filters/custom/effect-custom-expected.png: Renamed from LayoutTests/platform/mac-snowleopard/css3/filters/effect-custom-expected.png.
* platform/mac-snowleopard/css3/filters/custom/effect-custom-parameters-expected.png: Renamed from LayoutTests/platform/mac-snowleopard/css3/filters/effect-custom-parameters-expected.png.
* platform/qt-5.0-wk2/Skipped:
* platform/qt/Skipped:
* platform/win/Skipped:
* platform/wincairo/Skipped:

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

8 years agoProvide DefaultDeviceScaleFactor though WebSettings
commit-queue@webkit.org [Tue, 28 Feb 2012 23:05:23 +0000 (23:05 +0000)]
Provide DefaultDeviceScaleFactor though WebSettings
https://bugs.webkit.org/show_bug.cgi?id=79534

Patch by Tim Dresser <tdresser@chromium.org> on 2012-02-28
Reviewed by Darin Fisher.

Source/WebCore:

* page/Settings.cpp:
(WebCore::Settings::Settings):
(WebCore::Settings::setDefaultDeviceScaleFactor):
(WebCore):
* page/Settings.h:
(Settings):
(WebCore::Settings::defaultDeviceScaleFactor):

Source/WebKit/chromium:

* public/WebSettings.h:
* src/WebSettingsImpl.cpp:
(WebKit::WebSettingsImpl::setDefaultDeviceScaleFactor):
(WebKit):
* src/WebSettingsImpl.h:
(WebSettingsImpl):

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

8 years agoFix build.
oliver@apple.com [Tue, 28 Feb 2012 22:58:17 +0000 (22:58 +0000)]
Fix build.

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

8 years agoUnreviewed gardening, mark more SVG tests as flaky crashers on cr-mac.
adamk@chromium.org [Tue, 28 Feb 2012 22:55:08 +0000 (22:55 +0000)]
Unreviewed gardening, mark more SVG tests as flaky crashers on cr-mac.
https://bugs.webkit.org/show_bug.cgi?id=79707

* platform/chromium/test_expectations.txt:

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

8 years agohttps://bugs.webkit.org/show_bug.cgi?id=79824
dino@apple.com [Tue, 28 Feb 2012 22:28:12 +0000 (22:28 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=79824

Unreviewed build fix for when ENABLE(CSS_FILTERS) is on
but ENABLE(CSS_SHADERS) is off.

* css/WebKitCSSFilterValue.cpp:
(WebCore::WebKitCSSFilterValue::typeUsesSpaceSeparator):

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

8 years agoSlow content causes choppy scrolling
commit-queue@webkit.org [Tue, 28 Feb 2012 22:26:24 +0000 (22:26 +0000)]
Slow content causes choppy scrolling
https://bugs.webkit.org/show_bug.cgi?id=79403

Patch by Dave Moore <davemoore@chromium.org> on 2012-02-28
Reviewed by James Robinson.

This code helps make scrolling (via wheel or pad) less choppy
when the content takes a long time to respond to the fake mouse moves
generated during scrolls.

 * page/EventHandler.cpp:
(WebCore):
(MaximumDurationTracker):
(WebCore::MaximumDurationTracker::MaximumDurationTracker):
(WebCore::MaximumDurationTracker::~MaximumDurationTracker):
(WebCore::EventHandler::EventHandler):
(WebCore::EventHandler::clear):
(WebCore::EventHandler::mouseMoved):
(WebCore::EventHandler::dispatchFakeMouseMoveEventSoon):
(WebCore::EventHandler::dispatchFakeMouseMoveEventSoonInQuad):
* page/EventHandler.h:

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

8 years ago[BlackBerry] Change the API to use std::string
commit-queue@webkit.org [Tue, 28 Feb 2012 22:23:13 +0000 (22:23 +0000)]
[BlackBerry] Change the API to use std::string
https://bugs.webkit.org/show_bug.cgi?id=79818

Patch by Konrad Piascik <kpiascik@rim.com> on 2012-02-28
Reviewed by Antonio Gomes.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPage::dispatchInspectorMessage):
* Api/WebPage.h:

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

8 years agoStyledElement::isPresentationAttribute() only needs the attribute name.
kling@webkit.org [Tue, 28 Feb 2012 22:21:02 +0000 (22:21 +0000)]
StyledElement::isPresentationAttribute() only needs the attribute name.
<http://webkit.org/b/79828>

Reviewed by Anders Carlsson.

Pass the QualifiedName to isPresentationAttribute instead of the whole
Attribute. We only need the name to know what kind of attribute it is.

This makes the code a little less ugly and makes it possible to use
the function without having an Attribute object.

* dom/StyledElement.cpp:
(WebCore::StyledElement::attributeChanged):
* dom/StyledElement.h:
(WebCore::StyledElement::isPresentationAttribute):
* html/HTMLBRElement.cpp:
(WebCore::HTMLBRElement::isPresentationAttribute):
* html/HTMLBRElement.h:
* html/HTMLBodyElement.cpp:
(WebCore::HTMLBodyElement::isPresentationAttribute):
* html/HTMLBodyElement.h:
* html/HTMLButtonElement.cpp:
(WebCore::HTMLButtonElement::isPresentationAttribute):
* html/HTMLButtonElement.h:
* html/HTMLDivElement.cpp:
(WebCore::HTMLDivElement::isPresentationAttribute):
* html/HTMLDivElement.h:
* html/HTMLElement.cpp:
(WebCore::HTMLElement::isPresentationAttribute):
* html/HTMLElement.h:
* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::isPresentationAttribute):
* html/HTMLEmbedElement.h:
* html/HTMLFontElement.cpp:
(WebCore::HTMLFontElement::isPresentationAttribute):
* html/HTMLFontElement.h:
* html/HTMLFrameSetElement.cpp:
(WebCore::HTMLFrameSetElement::isPresentationAttribute):
* html/HTMLFrameSetElement.h:
* html/HTMLHRElement.cpp:
(WebCore::HTMLHRElement::isPresentationAttribute):
* html/HTMLHRElement.h:
* html/HTMLIFrameElement.cpp:
(WebCore::HTMLIFrameElement::isPresentationAttribute):
* html/HTMLIFrameElement.h:
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::isPresentationAttribute):
* html/HTMLImageElement.h:
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::isPresentationAttribute):
* html/HTMLInputElement.h:
* html/HTMLLIElement.cpp:
(WebCore::HTMLLIElement::isPresentationAttribute):
* html/HTMLLIElement.h:
* html/HTMLMarqueeElement.cpp:
(WebCore::HTMLMarqueeElement::isPresentationAttribute):
* html/HTMLMarqueeElement.h:
* html/HTMLOListElement.cpp:
(WebCore::HTMLOListElement::isPresentationAttribute):
* html/HTMLOListElement.h:
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::isPresentationAttribute):
* html/HTMLObjectElement.h:
* html/HTMLParagraphElement.cpp:
(WebCore::HTMLParagraphElement::isPresentationAttribute):
* html/HTMLParagraphElement.h:
* html/HTMLPlugInElement.cpp:
(WebCore::HTMLPlugInElement::isPresentationAttribute):
* html/HTMLPlugInElement.h:
* html/HTMLPreElement.cpp:
(WebCore::HTMLPreElement::isPresentationAttribute):
* html/HTMLPreElement.h:
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::isPresentationAttribute):
* html/HTMLSelectElement.h:
* html/HTMLTableCaptionElement.cpp:
(WebCore::HTMLTableCaptionElement::isPresentationAttribute):
* html/HTMLTableCaptionElement.h:
* html/HTMLTableCellElement.cpp:
(WebCore::HTMLTableCellElement::isPresentationAttribute):
* html/HTMLTableCellElement.h:
* html/HTMLTableColElement.cpp:
(WebCore::HTMLTableColElement::isPresentationAttribute):
* html/HTMLTableColElement.h:
* html/HTMLTableElement.cpp:
(WebCore::HTMLTableElement::isPresentationAttribute):
* html/HTMLTableElement.h:
* html/HTMLTablePartElement.cpp:
(WebCore::HTMLTablePartElement::isPresentationAttribute):
* html/HTMLTablePartElement.h:
* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::isPresentationAttribute):
* html/HTMLTextAreaElement.h:
* html/HTMLUListElement.cpp:
(WebCore::HTMLUListElement::isPresentationAttribute):
* html/HTMLUListElement.h:
* html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::isPresentationAttribute):
* html/HTMLVideoElement.h:
* mathml/MathMLElement.cpp:
(WebCore::MathMLElement::isPresentationAttribute):
* mathml/MathMLElement.h:
* svg/SVGImageElement.cpp:
(WebCore::SVGImageElement::isPresentationAttribute):
* svg/SVGImageElement.h:
* svg/SVGStyledElement.cpp:
(WebCore::SVGStyledElement::isPresentationAttribute):
* svg/SVGStyledElement.h:
* svg/SVGTextContentElement.cpp:
(WebCore::SVGTextContentElement::isPresentationAttribute):
* svg/SVGTextContentElement.h:

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

8 years ago Build fix.
ap@apple.com [Tue, 28 Feb 2012 22:20:35 +0000 (22:20 +0000)]
    Build fix.

        * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: (WebKit::NPN_GetValue):
        Check for build platform properly.

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

8 years agoMore Pasteboard code cleanup.
enrica@apple.com [Tue, 28 Feb 2012 21:58:25 +0000 (21:58 +0000)]
More Pasteboard code cleanup.
https://bugs.webkit.org/show_bug.cgi?id=79816

Source/WebCore:

Removing the last references to NSPasteboard.

Reviewed by Alexey Proskuryakov.

No new tests. No change in functionality.

* WebCore.xcodeproj/project.pbxproj:
* editing/mac/EditorMac.mm:
(WebCore::Editor::pasteWithPasteboard):
(WebCore::Editor::takeFindStringFromSelection):
* loader/EmptyClients.h:
(WebCore::EmptyEditorClient::setInsertionPasteboard):
* page/DragClient.h:
* page/EditorClient.h:
* platform/DragData.h:
* platform/Pasteboard.h:
* platform/mac/ClipboardMac.h:
* platform/mac/PasteboardHelper.h: Removed.

Source/WebKit/mac:

Removing the last references to NSPasteboard.

Reviewed by Alexey Proskuryakov.

* WebCoreSupport/WebEditorClient.h:
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::setInsertionPasteboard):

Source/WebKit2:

Removing the last references to NSPasteboard.

Reviewed by Alexey Proskuryakov.

* WebProcess/WebCoreSupport/WebEditorClient.h:
* WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
(WebKit::WebEditorClient::setInsertionPasteboard):

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

8 years agoUnreviewed, rolling out r109137.
adamk@chromium.org [Tue, 28 Feb 2012 21:49:55 +0000 (21:49 +0000)]
Unreviewed, rolling out r109137.
http://trac.webkit.org/changeset/109137
https://bugs.webkit.org/show_bug.cgi?id=79833

Broke cr-mac build (Requested by aklein on #webkit).

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

* platform/graphics/mac/SimpleFontDataMac.mm:
(WebCore):
(WebCore::pathFromFont):

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

8 years agoAdd a fallback path to LineBreakIteratorPoolICU when the locale
jshin@chromium.org [Tue, 28 Feb 2012 21:43:37 +0000 (21:43 +0000)]
Add a fallback path to LineBreakIteratorPoolICU when the locale
name from a web page is invalid and ICU fails to get a line break
iterator instance. Also add a null check to
TextBreakIteratorICU::acquireLineBreakIterator.

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

Reviewed by Dan Bernstein.

Source/WebCore:

Test: fast/text/invalid-locale.html

* platform/text/LineBreakIteratorPoolICU.h:
(WebCore::LineBreakIteratorPool::take):
* platform/text/TextBreakIteratorICU.cpp:
(WebCore::acquireLineBreakIterator):

LayoutTests:

* fast/text/invalid-locale-expected.txt: Added.
* fast/text/invalid-locale.html: Added.
* fast/text/resources/invalid-locale.html: Added.

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

8 years ago[Mac] Add an experimental SPI for plug-ins to enter sandbox
ap@apple.com [Tue, 28 Feb 2012 21:16:02 +0000 (21:16 +0000)]
[Mac] Add an experimental SPI for plug-ins to enter sandbox
https://bugs.webkit.org/show_bug.cgi?id=79709

Reviewed by Anders Carlsson.

* PluginProcess/PluginProcess.h: (WebKit::PluginProcess::pluginPath): Exposed plugin path.

* PluginProcess/mac/com.apple.WebKit.PluginProcess.sb: Added.

* WebKit2.xcodeproj/project.pbxproj: Added new files.

* WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: (WebKit::NPN_GetValue): Exposed
a function to access sandboxing functions when available.

* WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.h: Added.
* WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm: Added.

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

8 years agoCrash due to accessing removed continuation in multi-column layout.
inferno@chromium.org [Tue, 28 Feb 2012 21:00:02 +0000 (21:00 +0000)]
Crash due to accessing removed continuation in multi-column layout.
https://bugs.webkit.org/show_bug.cgi?id=78417

Reviewed by David Hyatt.

Source/WebCore:

This patch addresses two problems:
1. Run-in block got split due to addition of a column-span child.
The clone part was incorrectly intruding into the sibling block,
even when it was part of the continuation chain.
2. Like r73296, we don't need to set continuation on an
anonymous block since we haven't split a real element.

Test: fast/multicol/span/runin-continuation-crash.html

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
(WebCore::RenderBlock::handleRunInChild):

LayoutTests:

* fast/multicol/span/runin-continuation-crash-expected.txt: Added.
* fast/multicol/span/runin-continuation-crash.html: Added.

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

8 years ago [Mac] Add an experimental SPI for plug-ins to enter sandbox
ap@apple.com [Tue, 28 Feb 2012 20:46:56 +0000 (20:46 +0000)]
    [Mac] Add an experimental SPI for plug-ins to enter sandbox
        https://bugs.webkit.org/show_bug.cgi?id=79709

        This pulls a lot of WKSI changes at once, because the script that updates it didn't
        work for a while.

        * WebKitSystemInterface.h:
        * libWebKitSystemInterfaceLeopard.a:
        * libWebKitSystemInterfaceLion.a:
        * libWebKitSystemInterfaceSnowLeopard.a:

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

8 years agoIncorrect before child parent calculation when adding new children
inferno@chromium.org [Tue, 28 Feb 2012 20:46:29 +0000 (20:46 +0000)]
Incorrect before child parent calculation when adding new children
to anonymous column blocks.
https://bugs.webkit.org/show_bug.cgi?id=79755

Reviewed by David Hyatt.

Source/WebCore:

before child can be wrapped in anonymous containers, so need to
take care of that in before child parent calculation.

Test: fast/multicol/span/before-child-anonymous-column-block.html

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

LayoutTests:

Test passes if you don't see the div block inside table and you see
two blocks in different columns in the pixel test.

* fast/multicol/span/before-child-anonymous-column-block-expected.png: Added.
* fast/multicol/span/before-child-anonymous-column-block-expected.txt: Added.
* fast/multicol/span/before-child-anonymous-column-block.html: Added.

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

8 years agoMark compositing/repaint/opacity-between-absolute.html as flaky.
adamk@chromium.org [Tue, 28 Feb 2012 20:43:17 +0000 (20:43 +0000)]
Mark compositing/repaint/opacity-between-absolute.html as flaky.

Unreviewed gardening.

* platform/chromium/test_expectations.txt:

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

8 years agoFix build with newer versions of clang.
andersca@apple.com [Tue, 28 Feb 2012 20:28:56 +0000 (20:28 +0000)]
Fix build with newer versions of clang.

Clang now warns since we're not passing a CFString literal to CFStringCreateWithFormatAndArguments,
but it's OK to ignore this warning since clang is also checking that the caller (vprintf_stderr_common)
takes a string literal.

* wtf/Assertions.cpp:

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

8 years agoReimplement pathFromFont() in SimpleFontDataMac.mm
commit-queue@webkit.org [Tue, 28 Feb 2012 20:28:53 +0000 (20:28 +0000)]
Reimplement pathFromFont() in SimpleFontDataMac.mm
https://bugs.webkit.org/show_bug.cgi?id=79811

Patch by Ned Holbrook <nholbrook@apple.com> on 2012-02-28
Reviewed by Dan Bernstein.

Debug-only function, so no new tests.

* platform/graphics/mac/SimpleFontDataMac.mm:
(WebCore::pathFromFont): Reimplemented.

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

8 years ago[Qt] Allow read/write to the WebView.url property
mahesh.kulkarni@nokia.com [Tue, 28 Feb 2012 20:25:32 +0000 (20:25 +0000)]
[Qt] Allow read/write to the WebView.url property
https://bugs.webkit.org/show_bug.cgi?id=77554

Reviewed by Tor Arne Vestbø.

Source/WebKit2:

Change QML API WebView.url to read/write to reflect either the url requested by the user.
Also removed WebView.load(url). Defers setting url (loading page) until onComponentComplete is triggered.
Fixed c++ and qml tests to reflect the new API.

* Target.pri:
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::QQuickWebViewPrivate):
(QQuickWebViewPrivate::onComponentComplete):
(QQuickWebView::setUrl):
* UIProcess/API/qt/qquickwebview_p_p.h:
(QQuickWebViewPrivate):
* UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
* UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_itemSelector.qml:
* UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
* UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml:
* UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml:
* UIProcess/API/qt/tests/qmltests/WebView/tst_applicationScheme.qml:
* UIProcess/API/qt/tests/qmltests/WebView/tst_download.qml:
* UIProcess/API/qt/tests/qmltests/WebView/tst_favIconLoad.qml:
* UIProcess/API/qt/tests/qmltests/WebView/tst_geopermission.qml:
* UIProcess/API/qt/tests/qmltests/WebView/tst_javaScriptDialogs.qml:
* UIProcess/API/qt/tests/qmltests/WebView/tst_loadFail.qml:
* UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgress.qml:
* UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgressSignal.qml:
* UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml:
* UIProcess/API/qt/tests/qmltests/WebView/tst_navigationHistory.qml:
* UIProcess/API/qt/tests/qmltests/WebView/tst_origin.qml:
* UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml:
* UIProcess/API/qt/tests/qmltests/WebView/tst_properties.qml:
* UIProcess/API/qt/tests/qmltests/WebView/tst_titleChanged.qml:
* UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
(tst_QQuickWebView::loadEmptyPageViewHidden):
(tst_QQuickWebView::loadNonexistentFileUrl):

Tools:

Fix MiniBrowser to use WebView.url property and remove WebView.load usage.

* MiniBrowser/qt/qml/BrowserWindow.qml:

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

8 years ago[BlackBerry] x86 build fix after cleaning up WebPage.cpp
commit-queue@webkit.org [Tue, 28 Feb 2012 20:06:14 +0000 (20:06 +0000)]
[BlackBerry] x86 build fix after cleaning up WebPage.cpp
https://bugs.webkit.org/show_bug.cgi?id=79814

Patch by Jacky Jiang <zhajiang@rim.com> on 2012-02-28
Reviewed by Antonio Gomes.

x86 build fix, keep WebPage::destroyWebPageCompositor() method where it
was which was outside of USE(ACCELERATED_COMPOSITING).

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPage::destroyWebPageCompositor):
(WebKit):

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

8 years agogetComputedStyle fails for 'first-line' pseudo-element
alexis.menard@openbossa.org [Tue, 28 Feb 2012 19:55:39 +0000 (19:55 +0000)]
getComputedStyle fails for 'first-line' pseudo-element
https://bugs.webkit.org/show_bug.cgi?id=57505

Reviewed by Tony Chang.

Source/WebCore:

Querying the selector with a pseudo-element using getComputedStyle should work
even if the selector was not declared in the stylesheet. When not declared, we need
to use the RenderStyle created to do the rendering as there is no pseudo-style.
This match the behavior of Firefox.

No new tests : Updated expectation and extended getComputedStyle-with-pseudo-element.html.

* dom/Element.cpp:
(WebCore::Element::computedStyle):

LayoutTests:

Update expected results to the new behavior. Also added some extra checks on
other pseudo-elements.

* fast/css/getComputedStyle/getComputedStyle-with-pseudo-element-expected.txt:
* fast/css/getComputedStyle/getComputedStyle-with-pseudo-element.html:

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

8 years agoMove FILE_SYSTEM code out of WorkerContext and into the fileapi folder
commit-queue@webkit.org [Tue, 28 Feb 2012 19:52:54 +0000 (19:52 +0000)]
Move FILE_SYSTEM code out of WorkerContext and into the fileapi folder
https://bugs.webkit.org/show_bug.cgi?id=79449

Patch by Ashod Nakashian <ashodnakashian@yahoo.com> on 2012-02-28
Reviewed by Adam Barth.

This moves FILE_SYSTEM code out of WorkerContext and into the fileapi/WorkerContextFileSystem.
None-functional changes, no new tests necessary.

* CMakeLists.txt:
* DerivedSources.make:
* DerivedSources.pri:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* fileapi/WorkerContextFileSystem.cpp: Added.
(WebCore):
(WebCore::WorkerContextFileSystem::webkitRequestFileSystem):
(WebCore::WorkerContextFileSystem::webkitRequestFileSystemSync):
(WebCore::WorkerContextFileSystem::webkitResolveLocalFileSystemURL):
(WebCore::WorkerContextFileSystem::webkitResolveLocalFileSystemSyncURL):
* fileapi/WorkerContextFileSystem.h: Added.
(WebCore):
(WorkerContextFileSystem):
* fileapi/WorkerContextFileSystem.idl: Added.
* workers/WorkerContext.cpp:
(WebCore::WorkerContext::ensureEventTargetData):
* workers/WorkerContext.h:
(WebCore):
(WorkerContext):
* workers/WorkerContext.idl:

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

8 years agoFileReader crashes when file is not readable
ap@apple.com [Tue, 28 Feb 2012 19:49:54 +0000 (19:49 +0000)]
FileReader crashes when file is not readable
https://bugs.webkit.org/show_bug.cgi?id=79715

Reviewed by Jian Li.

Source/WebCore:

Test: fast/files/file-reader-directory-crash.html

* platform/SharedBuffer.cpp: (WebCore::SharedBuffer::SharedBuffer): Crash early if a caller
mixed up in-band error signal with length again.

* platform/network/BlobResourceHandle.cpp:
(WebCore): Changed errors into an enum. Added a proper domain for blob errors.
(WebCore::BlobResourceHandle::didReceiveResponse): There is already a constant for INT_MAX
in C/C++.
(WebCore::BlobResourceHandle::didRead): Don't send "-1" for failure down the success path.
(WebCore::BlobResourceHandle::notifyFail): Use a proper domain for blob errors, and a non-
empty message.

LayoutTests:

* fast/files/file-reader-directory-crash-expected.txt: Added.
* fast/files/file-reader-directory-crash.html: Added.

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

8 years agoUnreviewed, fix cr-win build after r109119.
adamk@chromium.org [Tue, 28 Feb 2012 19:47:45 +0000 (19:47 +0000)]
Unreviewed, fix cr-win build after r109119.

* platform/graphics/chromium/TransparencyWin.h:
(TransparencyWin):

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

8 years ago[Qt] Signal and property cleanup in QQuickWebView
jocelyn.turcotte@nokia.com [Tue, 28 Feb 2012 19:40:45 +0000 (19:40 +0000)]
[Qt] Signal and property cleanup in QQuickWebView
https://bugs.webkit.org/show_bug.cgi?id=78820

Reviewed by Noam Rosenthal.

- Remove parameters from property change notify signals:
  titleChanged, urlChanged, iconChanged, loadProgressChanged
- Rename the parameters of linkHovered to prevent shadoing properties of WebView
- Rename navigationStateChanged to navigationHistoryChanged

* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::QQuickWebViewPrivate):
(QQuickWebViewPrivate::initialize):
(QQuickWebViewPrivate::_q_onUrlChanged):
(QQuickWebViewPrivate::setIcon):
* UIProcess/API/qt/qquickwebview_p.h:
* UIProcess/API/qt/qquickwebview_p_p.h:
(QQuickWebViewPrivate):
* UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
* UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
* UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml:
* UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
(tst_QQuickWebView::loadProgress):
* UIProcess/qt/QtWebPageLoadClient.cpp:
(QtWebPageLoadClient::didCommitLoadForFrame):
(QtWebPageLoadClient::didSameDocumentNavigationForFrame):
(QtWebPageLoadClient::didReceiveTitleForFrame):
(QtWebPageLoadClient::setLoadProgress):
* UIProcess/qt/QtWebPageLoadClient.h:
(QtWebPageLoadClient):

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

8 years ago[GTK] Add GMainLoop and GMainContext to be handled by GRefPtr
mario@webkit.org [Tue, 28 Feb 2012 19:35:15 +0000 (19:35 +0000)]
[GTK] Add GMainLoop and GMainContext to be handled by GRefPtr
https://bugs.webkit.org/show_bug.cgi?id=79496

Reviewed by Martin Robinson.

Source/JavaScriptCore:

Handle GMainLoop and GMainContext in GRefPtr, by calling
g_main_loop_(un)ref and g_main_context_(un)ref in the
implementation of the refGPtr and derefGPtr template functions.

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

Source/WebCore:

Updated places where raw pointers to GMainLoop and GMainContext
were being used, replacing them with GRefPtr-based code.

* platform/RunLoop.h:
(RunLoop):
* platform/gtk/RunLoopGtk.cpp:
(WebCore::RunLoop::RunLoop):
(WebCore::RunLoop::~RunLoop):
(WebCore::RunLoop::mainLoop):
(WebCore::RunLoop::stop):
(WebCore::RunLoop::wakeUp):
(WebCore::RunLoop::TimerBase::start):
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCoreSynchronousLoader):
(WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
(WebCore::WebCoreSynchronousLoader::~WebCoreSynchronousLoader):
(WebCore::WebCoreSynchronousLoader::didFinishLoading):
(WebCore::WebCoreSynchronousLoader::run):

Source/WebKit2:

Updated places where raw pointers to GMainLoop and GMainContext
were being used, replacing them with GRefPtr-based code.

* Platform/WorkQueue.h:
(WorkQueue):
* Platform/gtk/WorkQueueGtk.cpp:
(WorkQueue::platformInitialize):
(WorkQueue::platformInvalidate):
(WorkQueue::workQueueThreadBody):
(WorkQueue::registerEventSourceHandler):
(WorkQueue::dispatchOnSource):
* UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
(WebKit::WebPopupMenuProxyGtk::WebPopupMenuProxyGtk):
(WebKit::WebPopupMenuProxyGtk::showPopupMenu):
(WebKit::WebPopupMenuProxyGtk::shutdownRunLoop):
* UIProcess/gtk/WebPopupMenuProxyGtk.h:
(WebPopupMenuProxyGtk):

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

8 years ago[chromium] Set nativeKeyCode to include Windows scan code
commit-queue@webkit.org [Tue, 28 Feb 2012 19:32:37 +0000 (19:32 +0000)]
[chromium] Set nativeKeyCode to include Windows scan code
https://bugs.webkit.org/show_bug.cgi?id=79289

Patch by Gary Kacmarcik <garykac@chromium.org> on 2012-02-28
Reviewed by Ryosuke Niwa.

Set the key event's nativeKeyCode on Windows Chromium so that it
actually includes the native scancode and other context bits.
Currently on Windows, the nativeKeyCode is set to be the same value as
the windowsKeyCode, which is redundant.

The actual native key information is required so that components (like
plugins) can reconstruct the original key event. The value stored in
the windowsKeyCode is a Windows virtual key code which does not provide
sufficient info to disambiguate the actual key being pressed (for
example, it cannot distinguish between the left and right shift keys).

All platforms except Windows currently send native key event info, so
this change will bring Windows in line with other platforms.

This change is part of our effort to send enhanced keycode information
to Pepper plugins in Chromium.

* src/win/WebInputEventFactory.cpp:
(WebKit::WebInputEventFactory::keyboardEvent):

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

8 years ago[GTK] make tests explicitly request GSettingsBackendMemory
danw@gnome.org [Tue, 28 Feb 2012 19:26:10 +0000 (19:26 +0000)]
[GTK] make tests explicitly request GSettingsBackendMemory
https://bugs.webkit.org/show_bug.cgi?id=79788

Reviewed by Martin Robinson.

Explicitly request the fallback memory-based GSettings backend; if
other backends are available then we don't want to use them,
because they would make tests depend on the user's preferences.
And if other backends aren't available, we don't need glib to
print a warning about that fact.

* Scripts/webkitpy/layout_tests/port/gtk.py:
(GtkPort.setup_environ_for_server):

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

8 years agoFix printing/zoomed-document.html for QT
eae@chromium.org [Tue, 28 Feb 2012 19:24:26 +0000 (19:24 +0000)]
Fix printing/zoomed-document.html for QT
https://bugs.webkit.org/show_bug.cgi?id=79808

Reviewed by Adam Barth.

Fix zoomed document test case to work on QT port and remove it from skip
list.

* platform/qt/Skipped:
* printing/zoomed-document.html:

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

8 years agoHeap-use-after-free in WebCore::RenderLayer::addChild
alokp@chromium.org [Tue, 28 Feb 2012 19:15:16 +0000 (19:15 +0000)]
Heap-use-after-free in WebCore::RenderLayer::addChild
https://bugs.webkit.org/show_bug.cgi?id=79698

Reviewed by Simon Fraser.

Source/WebCore:

This patch fixes a regression introduced in r108659.
The reflection layer was moved to the parent by mistake. It was then
deleted and the parent was left holding on to a deleted pointer. This
patch restores the location where reflection layer is removed - before
moving the child layers.

Test: fast/reflections/toggle-reflection-crash.html

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::removeOnlyThisLayer):

LayoutTests:

* fast/reflections/toggle-reflection-crash-expected.txt: Added.
* fast/reflections/toggle-reflection-crash.html: Added.

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

8 years agoCrash from list marker having inline and block children
commit-queue@webkit.org [Tue, 28 Feb 2012 19:12:52 +0000 (19:12 +0000)]
Crash from list marker having inline and block children
https://bugs.webkit.org/show_bug.cgi?id=79793

Patch by Ken Buchanan <kenrb@chromium.org> on 2012-02-28
Reviewed by Julien Chaffraix.

Source/WebCore:

Crashing condition in which an anonymous block was being collapsed
even though it had a block sibling. removeChild() was not checking
for siblings that might precede :before content renderers, such
as list items. This patch corrects that.

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

LayoutTests:

Test to exercise crashing condition in bug 79793. This creates a list
marker that precedes a floating :before content renderer and then
modifies the render tree to remove a neighboring header element.

* fast/css-generated-content/floating-before-content-with-list-marker-crash-expected.txt: Added
* fast/css-generated-content/floating-before-content-with-list-marker-crash.html: Added

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

8 years ago[BlackBerry] Remove unused focusedNodeChange notifications from the Chrome client.
commit-queue@webkit.org [Tue, 28 Feb 2012 18:51:47 +0000 (18:51 +0000)]
[BlackBerry] Remove unused focusedNodeChange notifications from the Chrome client.
https://bugs.webkit.org/show_bug.cgi?id=79794

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

Remove unused notification for focusedNodeChanged.

Internally reviewed by Gen Mak.

* Api/WebPageClient.h:
* WebCoreSupport/ChromeClientBlackBerry.cpp:
(WebCore::ChromeClientBlackBerry::focusedNodeChanged):

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

8 years ago[Qt] Initialize QtWebContext as much as we can in its constructor.
jocelyn.turcotte@nokia.com [Tue, 28 Feb 2012 18:29:12 +0000 (18:29 +0000)]
[Qt] Initialize QtWebContext as much as we can in its constructor.
https://bugs.webkit.org/show_bug.cgi?id=79809

Reviewed by Tor Arne Vestbø.

The icon database wouldn't be initialized on the QtWebContext while in WebKitTestRunner
since it doesn't call the initialize method on it after creating it.
Remove the initialize method, move the download manager and icon database initialization
in the constructor and call initializeContextInjectedBundleClient directly in
defaultContext to prevent overriding WKTR's injected bundle client.

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

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

8 years ago[GTK] Inconsistent state of WebKitWebView when replacing content in WebKit2
carlosgc@webkit.org [Tue, 28 Feb 2012 18:24:46 +0000 (18:24 +0000)]
[GTK] Inconsistent state of WebKitWebView when replacing content in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=79775

Reviewed by Martin Robinson.

Use an enum instead of a boolean to track the status of a
replace_content() load operation. We need to know when the load of
the replace content actually starts to not ignore valid load
events of a previous ongoing load operation.

* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewLoadChanged): Transit to new replace content state
when replacing content depending on the load event.
(webkitWebViewLoadFailed): Ignore load failed events when
replacing content.
(webkitWebViewSetEstimatedLoadProgress): Ignore load progress when
replacing content.
(webkit_web_view_replace_content): Set replace content status to
WillReplaceContent.
* UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
(replaceContentLoadCallback):
(testWebViewReplaceContent):
* UIProcess/API/gtk/tests/WebViewTest.cpp:
(titleChanged):
(WebViewTest::waitUntilTitleChanged): Convenient method to wait
until title changes. Use with replaceConent() since load events
are not emitted when replacing content.
* UIProcess/API/gtk/tests/WebViewTest.h:

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

8 years agoUnreviewed, speculative test fix after r109016.
adamk@chromium.org [Tue, 28 Feb 2012 18:22:13 +0000 (18:22 +0000)]
Unreviewed, speculative test fix after r109016.

Source/WebCore:

* platform/graphics/chromium/TransparencyWin.cpp:
(WebCore::TransparencyWin::OwnedBuffers::OwnedBuffers): Explicitly pass a scale of 1 to ImageBuffer::create.
* platform/graphics/chromium/TransparencyWin.h:
(WebCore): Update names of re-enabled tests.

Source/WebKit/chromium:

* tests/TransparencyWinTest.cpp:
(WebCore::TEST): Update all ImageBuffer::create calls to include a scale of 1.

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

8 years agoAdd basic page overlay support to TiledCoreAnimationDrawingArea
andersca@apple.com [Tue, 28 Feb 2012 18:21:02 +0000 (18:21 +0000)]
Add basic page overlay support to TiledCoreAnimationDrawingArea
https://bugs.webkit.org/show_bug.cgi?id=79716
<rdar://problem/10923079>

Reviewed by Sam Weinig.

* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
Make TiledCoreAnimationDrawingArea a GraphicsLayerClient.

* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::didInstallPageOverlay):
Create the page overlay layer.

(WebKit::TiledCoreAnimationDrawingArea::didUninstallPageOverlay):
Destroy the page overlay layer.

(WebKit::TiledCoreAnimationDrawingArea::setPageOverlayNeedsDisplay):
Mark the page overlay layer as needing display.

(WebKit::TiledCoreAnimationDrawingArea::notifyAnimationStarted):
(WebKit::TiledCoreAnimationDrawingArea::notifySyncRequired):
Add empty GraphisLayerClient member function implementations.

(WebKit::TiledCoreAnimationDrawingArea::paintContents):
Ask the page overlay to paint itself.

(WebKit::TiledCoreAnimationDrawingArea::flushLayers):
Flush the page overlay layer.

(WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
Resize the page overlay layer.

(WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
If we have a page overlay layer, add it as a sublayer of the root layer.

(WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
Create the page overlay layer and add it as a sublayer of the root layer.

(WebKit::TiledCoreAnimationDrawingArea::destroyPageOverlayLayer):
Remove the page overlay layer and destroy it.

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

8 years ago[GTK] Remove virtual methods of WebKitDownload signals in WebKit2 GTK+ API
carlosgc@webkit.org [Tue, 28 Feb 2012 17:56:35 +0000 (17:56 +0000)]
[GTK] Remove virtual methods of WebKitDownload signals in WebKit2 GTK+ API
https://bugs.webkit.org/show_bug.cgi?id=79804

Reviewed by Martin Robinson.

That comes from the first patch that followed the approach of the
first LoaderClient implementation. With current implementation
download signals, except decide-destination, don't need to be
true_handled, and they won't have a default handler
implementation. Also the download object is not supposed to be
inheritable, since instances are created privately by the
WebContext, so it's not possible to override the virtual methods
in derived classes.

* UIProcess/API/gtk/WebKitDownload.cpp:
(webkit_download_class_init):
(webkitDownloadNotifyProgress):
(webkitDownloadFailed):
(webkitDownloadFinished):
* UIProcess/API/gtk/WebKitDownload.h:
(_WebKitDownloadClass):
* UIProcess/API/gtk/webkit2marshal.list:

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

8 years agoGive StyleRule files of its own
antti@apple.com [Tue, 28 Feb 2012 17:44:18 +0000 (17:44 +0000)]
Give StyleRule files of its own
https://bugs.webkit.org/show_bug.cgi?id=79778

Totally rubber-stamped by Andreas Kling.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSParser.cpp:
* css/CSSStyleRule.cpp:
(WebCore):
(WebCore::CSSStyleRule::style):
* css/CSSStyleRule.h:
(WebCore):
(CSSStyleRule):
* css/CSSStyleSelector.cpp:
* css/CSSStyleSheet.cpp:
* css/StyleRule.cpp: Copied from Source/WebCore/css/CSSStyleRule.cpp.
(WebCore):
* css/StyleRule.h: Copied from Source/WebCore/css/CSSStyleRule.h.
(WebCore):
* editing/EditingStyle.cpp:
* inspector/InspectorCSSAgent.cpp:
* inspector/InspectorInstrumentation.cpp:
* inspector/InspectorStyleSheet.cpp:
* page/PageSerializer.cpp:

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

8 years agoUnreviewed, rolling out r109110.
commit-queue@webkit.org [Tue, 28 Feb 2012 17:20:30 +0000 (17:20 +0000)]
Unreviewed, rolling out r109110.
http://trac.webkit.org/changeset/109110
https://bugs.webkit.org/show_bug.cgi?id=79806

webkitpy makes it too easy to add wkb.ug URLs to ChangeLogs
(Requested by aroben on #webkit).

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

* Scripts/webkitpy/common/checkout/changelog.py:
(parse_bug_id):
(parse_bug_id_from_changelog):
* Scripts/webkitpy/common/checkout/changelog_unittest.py:
* Scripts/webkitpy/common/config/urls.py:

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

8 years agoWeb Inspector: remove window aspects from the timeline presentation model.
pfeldman@chromium.org [Tue, 28 Feb 2012 17:05:28 +0000 (17:05 +0000)]
Web Inspector: remove window aspects from the timeline presentation model.
https://bugs.webkit.org/show_bug.cgi?id=79803

Reviewed by Yury Semikhatsky.

* inspector/front-end/TimelineOverviewPane.js:
(WebInspector.TimelineOverviewPane):
(WebInspector.TimelineOverviewPane.prototype.accept):
(WebInspector.TimelineOverviewPane.prototype._setWindowIndices):
(WebInspector.TimelineOverviewPane.prototype.windowLeft):
(WebInspector.TimelineOverviewPane.prototype.windowRight):
(WebInspector.TimelineOverviewPane.prototype._fireWindowChanged):
(WebInspector.TimelineOverviewWindow.prototype._dragWindow):
(WebInspector.TimelineOverviewPane.WindowSelector):
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel):
(WebInspector.TimelinePanel.prototype._onCategoryCheckboxClicked):
(WebInspector.TimelinePanel.prototype._updateBoundaries):
* inspector/front-end/TimelinePresentationModel.js:
(WebInspector.TimelinePresentationModel.prototype.reset):
(WebInspector.TimelineCategory):
(WebInspector.TimelineCategory.prototype.get hidden):
(WebInspector.TimelineCategory.prototype.set hidden):

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

8 years ago[Qt] Fix build for WK2, do not use enum type if values can be outside the enum
caio.oliveira@openbossa.org [Tue, 28 Feb 2012 17:03:23 +0000 (17:03 +0000)]
[Qt] Fix build for WK2, do not use enum type if values can be outside the enum
https://bugs.webkit.org/show_bug.cgi?id=79800

Reviewed by Csaba Osztrogonác.

We have two different enums called NavigationRequestAction. If we use one of them
to store the variables, compilers can rightfully warn about comparison with
values from other enums.

We might revisit the strategy of exposing different enumerations in experimental,
but for now, fallback to using int for the 'action' property in
QWebNavigationRequest.

* UIProcess/API/qt/qwebnavigationrequest.cpp:
(QWebNavigationRequestPrivate):
(QWebNavigationRequest::setAction):
(QWebNavigationRequest::action):
* UIProcess/API/qt/qwebnavigationrequest_p.h:
* UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:

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

8 years agoImprove the visual of the tiling
kenneth@webkit.org [Tue, 28 Feb 2012 16:52:35 +0000 (16:52 +0000)]
Improve the visual of the tiling
https://bugs.webkit.org/show_bug.cgi?id=79648

Reviewed by Noam Rosenthal.

When we cover the view with tiles[1], we do so from the center
and out, in bigger and bigger cicles by finding the current minimum
covered distance.

This looks like painting a rect, then a cross, then a rect, ...
and can be noticed when a page blocks during tiling.

We can do this better by only covering with tiles in rects at a time.

The original code was done so that it gave preference to tiles in
vertical direction due to that being the most common scrolling
direction. This is not needed anymore as we are now using the
trajectory vector when panning, which always gives preference for
creating tiles in the panned direction.

[1] It should be noted that we always cover the visibleRect in one go,
    and that we here are talking about covering the coverRect beyond
    the visibleRect

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

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

8 years agoAdd my new email address
aroben@webkit.org [Tue, 28 Feb 2012 16:50:41 +0000 (16:50 +0000)]
Add my new email address

Fixes <http://wkb.ug/79797> Adam Roben's email address in webkitpy is soon to be incorrect

Reviewed by Anders Carlsson.

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

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

8 years agoTeach webkitpy about wkb.ug URLs
aroben@webkit.org [Tue, 28 Feb 2012 16:49:11 +0000 (16:49 +0000)]
Teach webkitpy about wkb.ug URLs

Fixes <http://wkb.ug/79799> webkit-patch can't find bug numbers from ChangeLog entries that
use wkb.ug URLs

Patch by Adam Roben <aroben@apple.com> on 2012-02-28
Reviewed by Anders Carlsson.

* Scripts/webkitpy/common/checkout/changelog.py:
(parse_bug_id):
(parse_bug_id_from_changelog):
Fall back to the tiny URL format if neither the short nor long URL formats work.

* Scripts/webkitpy/common/checkout/changelog_unittest.py:
(ChangeLogTest.test_parse_bug_id_from_changelog): Added tests for the above changes.

* Scripts/webkitpy/common/config/urls.py: Added bug_url_tiny, which can be used to match
wkb.ug URLs.

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

8 years agoWeb Inspector: preserve memory counters size after frontend reopening
yurys@chromium.org [Tue, 28 Feb 2012 16:27:25 +0000 (16:27 +0000)]
Web Inspector: preserve memory counters size after frontend reopening
https://bugs.webkit.org/show_bug.cgi?id=79792

Clear collected counter values when timeline panel is reset. Persist
timeline grid/counters splitter position to restore it when front-end
is opened next time.

Reviewed by Pavel Feldman.

* inspector/front-end/MemoryStatistics.js:
(WebInspector.MemoryStatistics.prototype.reset):
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel):
(WebInspector.TimelinePanel.prototype._setSplitterPosition):
(WebInspector.TimelinePanel.prototype._resetPanel):
* inspector/front-end/timelinePanel.css:
(#counter-values-bar):

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

8 years ago[Qt] build-webkit does not detect the number of CPUs
commit-queue@webkit.org [Tue, 28 Feb 2012 16:27:09 +0000 (16:27 +0000)]
[Qt] build-webkit does not detect the number of CPUs
https://bugs.webkit.org/show_bug.cgi?id=76445

Based on Seo Sanghyeon's work (modification:
Automatically determine the number of CPUs for make
only if -j make argument haven't already been specified.)

Patch by János Badics <dicska@gmail.com> on 2012-02-28
Reviewed by Csaba Osztrogonác.

* Scripts/webkitdirs.pm:
(buildQMakeProjects):

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

8 years agoWeb Inspector: move filtering of the timeline records into the presentation model.
pfeldman@chromium.org [Tue, 28 Feb 2012 16:18:58 +0000 (16:18 +0000)]
Web Inspector: move filtering of the timeline records into the presentation model.
https://bugs.webkit.org/show_bug.cgi?id=79789

Reviewed by Yury Semikhatsky.

Source/WebCore:

* inspector/front-end/TimelineModel.js:
* inspector/front-end/TimelineOverviewPane.js:
(WebInspector.TimelineOverviewPane):
(WebInspector.TimelineOverviewPane.prototype.setStartAtZero):
(WebInspector.TimelineOverviewPane.prototype.scrollWindow):
(WebInspector.TimelineOverviewPane.prototype.accept):
(WebInspector.TimelineOverviewPane.prototype._setWindowIndices):
(WebInspector.TimelineStartAtZeroOverview):
(WebInspector.TimelineStartAtZeroOverview.prototype._onWindowChanged):
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel):
(WebInspector.TimelinePanel.prototype._createStatusbarButtons):
(WebInspector.TimelinePanel.prototype._updateRecordsCounter):
(WebInspector.TimelinePanel.prototype._glueParentButtonClicked):
(WebInspector.TimelinePanel.prototype._toggleStartAtZeroButtonClicked):
(WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
(WebInspector.TimelinePanel.prototype._resetPanel):
(WebInspector.TimelinePanel.prototype._refresh):
(WebInspector.TimelinePanel.prototype.revealRecordAt):
(WebInspector.TimelinePanel.prototype._refreshRecords):
(WebInspector.TimelineExpandableElement.prototype._update):
(WebInspector.TimelineCategoryFilter):
(WebInspector.TimelineCategoryFilter.prototype.accept):
(WebInspector.TimelineIsLongFilter):
(WebInspector.TimelineIsLongFilter.prototype.accept):
* inspector/front-end/TimelinePresentationModel.js:
(WebInspector.TimelinePresentationModel):
(WebInspector.TimelinePresentationModel.prototype.addFilter):
(WebInspector.TimelinePresentationModel.prototype.reset):
(WebInspector.TimelinePresentationModel.prototype.minimumRecordTime):
(WebInspector.TimelinePresentationModel.prototype.maximumRecordTime):
(WebInspector.TimelinePresentationModel.prototype.addRecord):
(WebInspector.TimelinePresentationModel.prototype._updateBoundaries):
(WebInspector.TimelinePresentationModel.prototype._findParentRecord):
(WebInspector.TimelinePresentationModel.prototype.setGlueRecords):
(WebInspector.TimelinePresentationModel.prototype.fireWindowChanged):
(WebInspector.TimelinePresentationModel.prototype.get _recordStyles):
(WebInspector.TimelinePresentationModel.prototype.filteredRecords):
(WebInspector.TimelinePresentationModel.prototype._filterRecords):
(WebInspector.TimelinePresentationModel.Record.prototype.get visibleChildrenCount):
(WebInspector.TimelinePresentationModel.Record.prototype.get invisibleChildrenCount):
(WebInspector.TimelinePresentationModel.Filter):
(WebInspector.TimelinePresentationModel.Filter.prototype.accept):

LayoutTests:

* inspector/timeline/timeline-enum-stability-expected.txt:

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

8 years ago[Qt] API changes to QWebNavigationRequest
caio.oliveira@openbossa.org [Tue, 28 Feb 2012 16:11:56 +0000 (16:11 +0000)]
[Qt] API changes to QWebNavigationRequest
https://bugs.webkit.org/show_bug.cgi?id=78821

Reviewed by Kenneth Rohde Christiansen.

Changes discussed in API review at Szeged: rename 'button' to 'mouseButton',
rename 'modifiers' to 'keyboardModifiers', remove 'originatingUrl' and
use the enum type for 'action'.

* UIProcess/API/qt/qwebnavigationrequest.cpp:
(QWebNavigationRequestPrivate::QWebNavigationRequestPrivate):
(QWebNavigationRequestPrivate):
(QWebNavigationRequest::QWebNavigationRequest):
(QWebNavigationRequest::setAction):
(QWebNavigationRequest::mouseButton):
(QWebNavigationRequest::keyboardModifiers):
(QWebNavigationRequest::action):
* UIProcess/API/qt/qwebnavigationrequest_p.h:
* UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
* UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml:
* UIProcess/qt/QtWebPagePolicyClient.cpp:
(QtWebPagePolicyClient::decidePolicyForNavigationAction):
* UIProcess/qt/QtWebPagePolicyClient.h:
(QtWebPagePolicyClient):

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

8 years agoJSString::resolveRope() should report extra memory cost to the heap.
commit-queue@webkit.org [Tue, 28 Feb 2012 16:02:02 +0000 (16:02 +0000)]
JSString::resolveRope() should report extra memory cost to the heap.
https://bugs.webkit.org/show_bug.cgi?id=79555

Patch by Yong Li <yoli@rim.com> on 2012-02-28
Reviewed by Michael Saboff.

At the time a JSString is constructed with fibers, it doesn't report
extra memory cost, which is reasonable because it hasn't allocate
new memory. However when the rope is resolved, it should report meory
cost for the new buffer.

* runtime/JSString.cpp:
(JSC::JSString::resolveRope):

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

8 years agoPercent width/height SVG not always scaled on window resize
commit-queue@webkit.org [Tue, 28 Feb 2012 16:01:19 +0000 (16:01 +0000)]
Percent width/height SVG not always scaled on window resize
https://bugs.webkit.org/show_bug.cgi?id=79490

Patch by Florin Malita <fmalita@google.com> on 2012-02-28
Reviewed by Nikolas Zimmermann.

Source/WebCore:

Tests: fast/repaint/percent-minheight-resize-expected.html
       fast/repaint/percent-minheight-resize.html
       svg/custom/svg-percent-scale-expected.html
       svg/custom/svg-percent-scale-vonly-expected.html
       svg/custom/svg-percent-scale-vonly.html
       svg/custom/svg-percent-scale.html

Fix a couple of problems preventing correct SVG scaling on window resize:

- RenderReplaced::computePreferredLogicalWidths is not SVG attribute aware and computes
a non-zero m_minPreferredLogicalWidth even when the SVG widh/height are percentages.

- RenderBlock::layoutInlineChildren is also not SVG attribute aware and does not trigger
percent height child layouts on vertical-only resizes.

* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::layoutInlineChildren):
Use hasRelativeDimensions() instead of direct width/height->isPercent tests. This also fixes
an HTML issue where percent {min,max}Height inline elements are not updated on vertical-only resizes.

* rendering/RenderBox.cpp:
(WebCore::RenderBox::hasRelativeDimensions):
(WebCore):
* rendering/RenderBox.h:
(RenderBox):
Add virtual hasRelativeDimensions() method.

* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::computePreferredLogicalWidths):
Use hasRelativeDimensions() instead of direct width/height->isPercent tests.

* rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::computeReplacedLogicalHeight):
(WebCore::RenderSVGRoot::willBeDestroyed):
Register percent-height SVG elements with the gPercentHeightDescendantsMap, and clean-up on destruction
or height unit change.

(WebCore::RenderSVGRoot::hasRelativeDimensions):
(WebCore):
* rendering/svg/RenderSVGRoot.h:
(RenderSVGRoot):
SVG-aware hasRelativeDimensions() override.

LayoutTests:

* fast/repaint/percent-minheight-resize-expected.html: Added.
* fast/repaint/percent-minheight-resize.html: Added.
* svg/custom/svg-percent-scale-expected.html: Added.
* svg/custom/svg-percent-scale-vonly-expected.html: Added.
* svg/custom/svg-percent-scale-vonly.html: Added.
* svg/custom/svg-percent-scale.html: Added.

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

8 years agoUnreviewed. Rolled DEPS.
commit-queue@webkit.org [Tue, 28 Feb 2012 14:43:58 +0000 (14:43 +0000)]
Unreviewed.  Rolled DEPS.

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

* DEPS:

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

8 years agoWeb Inspector: show resource dividers on memory counter graphs
yurys@chromium.org [Tue, 28 Feb 2012 14:22:06 +0000 (14:22 +0000)]
Web Inspector: show resource dividers on memory counter graphs
https://bugs.webkit.org/show_bug.cgi?id=79782

Resource dividers are drawn on the memory counter graphs.

Reviewed by Pavel Feldman.

* inspector/front-end/MemoryStatistics.js:
(WebInspector.MemoryStatistics.prototype.updateDividers):
(WebInspector.MemoryStatistics.prototype.setMainTimelineGrid):
(WebInspector.MemoryStatistics.prototype._updateSize):
(WebInspector.MemoryStatistics.prototype.show):
(WebInspector.MemoryStatistics.prototype.refresh):
(WebInspector.MemoryStatistics.prototype._refreshDividers):
* inspector/front-end/TimelineGrid.js:
(WebInspector.TimelineGrid.prototype.get dividersElement):
(WebInspector.TimelineGrid.prototype.updateDividers):
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel):
(WebInspector.TimelinePanel.prototype._timelinesOverviewModeChanged):
(WebInspector.TimelinePanel.prototype._refreshRecords):
(WebInspector.TimelinePanel.prototype.get timlinePaddingLeft):
* inspector/front-end/timelinePanel.css:
(#memory-graphs-canvas-container):
(#memory-graphs-canvas-container .resources-dividers):

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

8 years ago[Qt] Move registration of experimental types to the proper plugin
caio.oliveira@openbossa.org [Tue, 28 Feb 2012 13:30:26 +0000 (13:30 +0000)]
[Qt] Move registration of experimental types to the proper plugin
https://bugs.webkit.org/show_bug.cgi?id=79706

Reviewed by Tor Arne Vestbø.

* declarative/experimental/plugin.cpp:
* declarative/plugin.cpp:
(WebKitQmlPlugin::registerTypes):

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

8 years ago2012-02-28 Nikolas Zimmermann <nzimmermann@rim.com>
zimmermann@webkit.org [Tue, 28 Feb 2012 13:15:16 +0000 (13:15 +0000)]
2012-02-28  Nikolas Zimmermann  <nzimmermann@rim.com>

        Rebaseline Gtk results after r109097.

        * platform/gtk/svg/W3C-SVG-1.1-SE/struct-use-11-f-expected.txt:
        * platform/gtk/svg/W3C-SVG-1.1/animate-elem-30-t-expected.txt:
        * platform/gtk/svg/W3C-SVG-1.1/animate-elem-36-t-expected.txt:
        * platform/gtk/svg/W3C-SVG-1.1/animate-elem-39-t-expected.txt:
        * platform/gtk/svg/W3C-SVG-1.1/animate-elem-41-t-expected.txt:
        * platform/gtk/svg/W3C-SVG-1.1/animate-elem-46-t-expected.txt:
        * platform/gtk/svg/W3C-SVG-1.1/animate-elem-61-t-expected.txt:
        * platform/gtk/svg/W3C-SVG-1.1/animate-elem-63-t-expected.txt:
        * platform/gtk/svg/W3C-SVG-1.1/animate-elem-64-t-expected.txt:
        * platform/gtk/svg/W3C-SVG-1.1/animate-elem-65-t-expected.txt:
        * platform/gtk/svg/W3C-SVG-1.1/animate-elem-66-t-expected.txt:
        * platform/gtk/svg/W3C-SVG-1.1/animate-elem-67-t-expected.txt:
        * platform/gtk/svg/W3C-SVG-1.1/animate-elem-68-t-expected.txt:
        * platform/gtk/svg/W3C-SVG-1.1/animate-elem-69-t-expected.txt:
        * platform/gtk/svg/W3C-SVG-1.1/animate-elem-70-t-expected.txt:
        * platform/gtk/svg/W3C-SVG-1.1/animate-elem-77-t-expected.txt:
        * platform/gtk/svg/W3C-SVG-1.1/animate-elem-78-t-expected.txt:
        * platform/gtk/svg/W3C-SVG-1.1/animate-elem-80-t-expected.txt:
        * platform/gtk/svg/W3C-SVG-1.1/filters-gauss-01-b-expected.txt:
        * platform/gtk/svg/W3C-SVG-1.1/filters-morph-01-f-expected.txt:
        * platform/gtk/svg/W3C-SVG-1.1/fonts-elem-05-t-expected.txt:
        * platform/gtk/svg/W3C-SVG-1.1/fonts-elem-06-t-expected.txt:
        * platform/gtk/svg/W3C-SVG-1.1/fonts-kern-01-t-expected.txt:
        * platform/gtk/svg/W3C-SVG-1.1/pservers-grad-13-b-expected.txt:
        * platform/gtk/svg/W3C-SVG-1.1/struct-group-03-t-expected.txt:
        * platform/gtk/svg/W3C-SVG-1.1/struct-image-02-b-expected.txt:
        * platform/gtk/svg/W3C-SVG-1.1/struct-symbol-01-b-expected.txt:
        * platform/gtk/svg/W3C-SVG-1.1/struct-use-01-t-expected.txt:
        * platform/gtk/svg/W3C-SVG-1.1/struct-use-03-t-expected.txt:
        * platform/gtk/svg/W3C-SVG-1.1/struct-use-05-b-expected.txt:
        * platform/gtk/svg/W3C-SVG-1.1/text-path-01-b-expected.txt:
        * platform/gtk/svg/W3C-SVG-1.1/text-text-04-t-expected.txt:
        * platform/gtk/svg/W3C-SVG-1.1/text-text-05-t-expected.txt:
        * platform/gtk/svg/W3C-SVG-1.1/text-text-06-t-expected.txt:
        * platform/gtk/svg/batik/filters/feTile-expected.txt:
        * platform/gtk/svg/batik/filters/filterRegions-expected.txt:
        * platform/gtk/svg/batik/masking/maskRegions-expected.txt:
        * platform/gtk/svg/batik/paints/patternPreserveAspectRatioA-expected.txt:
        * platform/gtk/svg/batik/paints/patternRegionA-expected.txt:
        * platform/gtk/svg/batik/paints/patternRegions-expected.txt:
        * platform/gtk/svg/batik/paints/patternRegions-positioned-objects-expected.txt:
        * platform/gtk/svg/batik/text/longTextOnPath-expected.txt:
        * platform/gtk/svg/batik/text/textAnchor-expected.txt:
        * platform/gtk/svg/batik/text/textDecoration-expected.txt:
        * platform/gtk/svg/batik/text/textEffect-expected.txt:
        * platform/gtk/svg/batik/text/textEffect2-expected.txt:
        * platform/gtk/svg/batik/text/textEffect3-expected.txt:
        * platform/gtk/svg/batik/text/textFeatures-expected.txt:
        * platform/gtk/svg/batik/text/textGlyphOrientationHorizontal-expected.txt:
        * platform/gtk/svg/batik/text/textLayout-expected.txt:
        * platform/gtk/svg/batik/text/textLayout2-expected.txt:
        * platform/gtk/svg/batik/text/textLength-expected.txt:
        * platform/gtk/svg/batik/text/textOnPath-expected.txt:
        * platform/gtk/svg/batik/text/textOnPath2-expected.txt:
        * platform/gtk/svg/batik/text/textOnPath3-expected.txt:
        * platform/gtk/svg/batik/text/textOnPathSpaces-expected.txt:
        * platform/gtk/svg/batik/text/textPosition-expected.txt:
        * platform/gtk/svg/batik/text/textPosition2-expected.txt:
        * platform/gtk/svg/batik/text/textProperties-expected.txt:
        * platform/gtk/svg/batik/text/textProperties2-expected.txt:
        * platform/gtk/svg/batik/text/textStyles-expected.txt:
        * platform/gtk/svg/batik/text/verticalText-expected.txt:
        * platform/gtk/svg/batik/text/verticalTextOnPath-expected.txt:
        * platform/gtk/svg/carto.net/button-expected.txt:
        * platform/gtk/svg/carto.net/colourpicker-expected.txt:
        * platform/gtk/svg/carto.net/slider-expected.txt:
        * platform/gtk/svg/carto.net/window-expected.txt:
        * platform/gtk/svg/clip-path/clip-path-child-clipped-expected.txt:
        * platform/gtk/svg/clip-path/clip-path-clipped-no-content-expected.txt:
        * platform/gtk/svg/clip-path/clip-path-evenodd-expected.txt:
        * platform/gtk/svg/clip-path/clip-path-evenodd-nonzero-expected.txt:
        * platform/gtk/svg/clip-path/clip-path-nonzero-evenodd-expected.txt:
        * platform/gtk/svg/clip-path/clip-path-nonzero-expected.txt:
        * platform/gtk/svg/clip-path/clip-path-text-and-shape-expected.txt:
        * platform/gtk/svg/clip-path/clip-path-use-as-child2-expected.txt:
        * platform/gtk/svg/clip-path/clip-path-use-as-child3-expected.txt:
        * platform/gtk/svg/clip-path/clip-path-use-as-child4-expected.txt:
        * platform/gtk/svg/clip-path/clip-path-use-as-child5-expected.txt:
        * platform/gtk/svg/clip-path/clip-path-with-container-expected.txt:
        * platform/gtk/svg/clip-path/clip-path-with-invisibile-child-expected.txt:
        * platform/gtk/svg/clip-path/clip-path-with-text-clipped-expected.txt:
        * platform/gtk/svg/clip-path/clipper-placement-issue-expected.txt:
        * platform/gtk/svg/css/clippath-with-shadow-expected.txt:
        * platform/gtk/svg/css/mask-with-shadow-expected.txt:
        * platform/gtk/svg/custom/broken-internal-references-expected.txt:
        * platform/gtk/svg/custom/clip-path-referencing-use-expected.txt:
        * platform/gtk/svg/custom/embedding-external-svgs-expected.txt:
        * platform/gtk/svg/custom/path-textPath-simulation-expected.txt:
        * platform/gtk/svg/custom/pattern-rotate-expected.txt:
        * platform/gtk/svg/custom/recursive-clippath-expected.txt:
        * platform/gtk/svg/custom/recursive-mask-expected.txt:
        * platform/gtk/svg/custom/recursive-pattern-expected.txt:
        * platform/gtk/svg/custom/relative-sized-deep-shadow-tree-content-expected.txt:
        * platform/gtk/svg/custom/relative-sized-shadow-tree-content-expected.txt:
        * platform/gtk/svg/custom/relative-sized-shadow-tree-content-with-symbol-expected.txt:
        * platform/gtk/svg/custom/relative-sized-use-on-symbol-expected.txt:
        * platform/gtk/svg/custom/struct-use-09-b-expected.txt:
        * platform/gtk/svg/custom/use-clipped-hit-expected.txt:
        * platform/gtk/svg/custom/use-detach-expected.txt:
        * platform/gtk/svg/custom/use-disappears-after-style-update-expected.txt:
        * platform/gtk/svg/custom/use-dynamic-append-expected.txt:
        * platform/gtk/svg/custom/use-elementInstance-event-target-expected.txt:
        * platform/gtk/svg/custom/use-elementInstance-methods-expected.txt:
        * platform/gtk/svg/custom/use-empty-reference-expected.txt:
        * platform/gtk/svg/custom/use-event-handler-on-referenced-element-expected.txt:
        * platform/gtk/svg/custom/use-event-handler-on-use-element-expected.txt:
        * platform/gtk/svg/custom/use-events-crash-expected.txt:
        * platform/gtk/svg/custom/use-instanceRoot-modifications-expected.txt:
        * platform/gtk/svg/custom/use-modify-container-in-target-expected.txt:
        * platform/gtk/svg/custom/use-modify-target-container-expected.txt:
        * platform/gtk/svg/custom/use-modify-target-symbol-expected.txt:
        * platform/gtk/svg/custom/use-nested-transform-expected.txt:
        * platform/gtk/svg/custom/use-on-disallowed-foreign-object-1-expected.txt:
        * platform/gtk/svg/custom/use-on-disallowed-foreign-object-2-expected.txt:
        * platform/gtk/svg/custom/use-on-disallowed-foreign-object-3-expected.txt:
        * platform/gtk/svg/custom/use-on-disallowed-foreign-object-4-expected.txt:
        * platform/gtk/svg/custom/use-on-disallowed-foreign-object-5-expected.txt:
        * platform/gtk/svg/custom/use-on-disallowed-foreign-object-6-expected.txt:
        * platform/gtk/svg/custom/use-on-g-containing-symbol-expected.txt:
        * platform/gtk/svg/custom/use-on-g-containing-use-expected.txt:
        * platform/gtk/svg/custom/use-on-g-expected.txt:
        * platform/gtk/svg/custom/use-on-non-svg-namespaced-element-expected.txt:
        * platform/gtk/svg/custom/use-on-rect-expected.txt:
        * platform/gtk/svg/custom/use-on-symbol-expected.txt:
        * platform/gtk/svg/custom/use-on-text-expected.txt:
        * platform/gtk/svg/custom/use-on-use-expected.txt:
        * platform/gtk/svg/custom/use-property-changes-through-dom-expected.txt:
        * platform/gtk/svg/custom/use-property-changes-through-svg-dom-expected.txt:
        * platform/gtk/svg/custom/use-property-synchronization-crash-expected.txt:
        * platform/gtk/svg/custom/use-recalcStyle-crash-expected.txt:
        * platform/gtk/svg/custom/use-recursion-1-expected.txt:
        * platform/gtk/svg/custom/use-recursion-2-expected.txt:
        * platform/gtk/svg/custom/use-recursion-3-expected.txt:
        * platform/gtk/svg/custom/use-recursion-4-expected.txt:
        * platform/gtk/svg/custom/use-referencing-nonexisting-symbol-expected.txt:
        * platform/gtk/svg/custom/use-symbol-overflow-expected.txt:
        * platform/gtk/svg/custom/use-transform-expected.txt:
        * platform/gtk/svg/filters/feImage-target-attribute-change-with-use-indirection-2-expected.txt:
        * platform/gtk/svg/filters/feImage-target-attribute-change-with-use-indirection-expected.txt:
        * platform/gtk/svg/filters/filter-placement-issue-expected.txt:
        * platform/gtk/svg/filters/filter-refresh-expected.txt:
        * platform/gtk/svg/filters/filter-source-position-expected.txt:
        * platform/gtk/svg/hixie/error/014-expected.txt:
        * platform/gtk/svg/hixie/error/017-expected.txt:
        * platform/gtk/svg/hixie/use/001-expected.txt:
        * platform/gtk/svg/hixie/use/002-expected.txt:
        * platform/gtk/svg/overflow/overflow-on-inner-svg-element-expected.txt:
        * platform/gtk/svg/repaint/inner-svg-change-viewPort-relative-expected.txt:
        * platform/gtk/svg/stroke/zero-length-path-linecap-rendering-expected.txt:
        * platform/gtk/svg/stroke/zero-length-subpaths-linecap-rendering-expected.txt:
        * platform/gtk/svg/text/text-gradient-positioning-expected.txt:
        * platform/gtk/svg/text/text-path-01-b-expected.txt:
        * platform/gtk/svg/text/text-text-04-t-expected.txt:
        * platform/gtk/svg/text/text-text-05-t-expected.txt:
        * platform/gtk/svg/text/text-text-06-t-expected.txt:
        * platform/gtk/svg/transforms/svg-css-transforms-clip-path-expected.txt:
        * platform/gtk/svg/zoom/page/zoom-mask-with-percentages-expected.txt:
        * svg/stroke/zero-length-arc-linecaps-rendering-expected.txt:

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

8 years agoIntegrate SVGUseElement within the new shadow root concept
ossy@webkit.org [Tue, 28 Feb 2012 13:01:38 +0000 (13:01 +0000)]
Integrate SVGUseElement within the new shadow root concept
https://bugs.webkit.org/show_bug.cgi?id=78902

Unreviewed gardening, update Qt specific expected files after r109097.

* platform/qt/svg/[...]: Updated.

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

8 years ago2012-02-28 Nikolas Zimmermann <nzimmermann@rim.com>
zimmermann@webkit.org [Tue, 28 Feb 2012 12:51:42 +0000 (12:51 +0000)]
2012-02-28  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Add missing Mac pixel test result.

        * platform/mac/svg/carto.net/scrollbar-expected.png: Added.

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

8 years agoIntegrate SVGUseElement within the new shadow root concept
zimmermann@webkit.org [Tue, 28 Feb 2012 12:13:13 +0000 (12:13 +0000)]
Integrate SVGUseElement within the new shadow root concept
https://bugs.webkit.org/show_bug.cgi?id=78902

Reviewed by Zoltan Herczeg.

Source/WebCore:

Replace SVG shadow tree implementation with the new, modern #shadow-root implementation.

Current situation in trunk:
SVGUseElement doesn't create/hold the shadow tree, unlike its expected in
the modern #shadow-root concept, but its renderer RenderSVGShadowTreeRootContainer.
That creates a cycle, as the actual DOM tree is stored as RefPtr<SVGGElement> inside
a renderer - that's weak conceptually, and has lead to sublte security bugs in the past.

Whenever a target element of a <use> element changed, invalidateShadowTree() is called
which calls setNeedsStyleRecalc(), and sets m_needsShadodwTreeRecreation to true.
Once style recalculation happens, the RenderSVGShadowTreeRootContainer then eventually
built the shadow tree, by cloning the target node, building the SVGElementInstance tree
etc, -- all within the render tree.

To easy reviewing, here's a dump of the current render tree for a simple <use> example:
<defs><rect id="rect"/></defs><use xlink:href="#rect"/>

Dump of render tree:
RenderSVGHiddenContainer {defs}        // <defs> (SVGDefsElement)
    RenderSVGRect {rect}               // <rect> (SVGRectElement)
RenderSVGShadowTreeRootContainer {use} // <use> (SVGUseElement)
    RenderSVGContainer {g}             // <g> (SVGShadowTreeRootElement)
        RenderSVGRect {rect}           // <rect> (SVGRectElement, clone of <rect> in <defs>)

The SVGShadowTreeRootElement is created & stored by RenderSVGShadowTreeRootContainer,
the renderer of the <use> element. The RenderSVGTransformableContainer renderer created
for the SVGShadowTreeRootElement stores the x/y translation induced by the <use> attributes.

There are lots of places all over WebCore that assume the existance of a <g> renderer
as first child of the <use> element, representing the "SVG shadow tree root".

Summary of this patch:
Let SVGUseElement create&maintain a #shadow-root, and append the cloned target elements
into this shadow root. We no longer have to take care of attachment/detachment, style
recalculation, etc. - that's handled transparenly by ShadowRoot(List) now.

This makes SVGShadowTreeElements & RenderSVGShadowTreeRootContainer obsolete. Switch
SVGUseElement to create a RenderSVGTransformableContainer as its renderer, and make
it respect the translation induced by the x/y attributes, given for a <use> element.

Remove all occourences of SVGShadowRoot, remove all special cases it induced.

It's all covered by existing tests, took a while to make them all pass again.

* CMakeLists.txt: Remove SVGShadowTreeElements/RenderSVGShadowTreeRootContainer from build.
* GNUmakefile.list.am: Ditto.
* Target.pri: Ditto.
* WebCore.gypi: Ditto.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::collectMatchingRulesForList): Enable fast path for selector checking, now that special shadow tree rules are gone.
* css/SelectorChecker.cpp:
(WebCore::linkAttribute): No need to guard this code with ENABLE(SVG).
(WebCore::SelectorChecker::checkSelector): Remove obsolete SVG shadow root special case.
* dom/EventDispatcher.cpp:
(WebCore::eventTargetRespectingSVGTargetRules): Remove loop, simplify & cleanup this code.
(WebCore::EventDispatcher::adjustToShadowBoundaries): s/isShadowRootOrSVGShadowRoot/isShadowRoot/.
(WebCore::EventDispatcher::adjustRelatedTarget): Ditto.
(WebCore::EventDispatcher::ensureEventAncestors): Simplify logic for SVG, fixed a FIXME.
* dom/Node.cpp: Remove obsolete svgShadowHost().
(WebCore::Node::shadowTreeRootNode): Remove obsolete isSVGShadowRoot() checks.
(WebCore::Node::nonBoundaryShadowTreeRootNode): Ditto.
(WebCore::Node::isInShadowTree): Make it const.
* dom/Node.h: Remove isSVGShadowRoot/svgShadowHost.
(WebCore::Node::isShadowRoot): s/IsShadowRootOrSVGShadowRootFlag/isShadowRoot/.
(WebCore::Node::parentNode): Augment comments.
(WebCore::Node::parentNodeGuaranteedHostFree): Ditto.
* dom/Range.cpp:
(WebCore::Range::checkNodeBA): Remove obsolete SVG shadow root special case.
* dom/ScriptElement.cpp:
(WebCore::ScriptElement::prepareScript): Ditto.
* rendering/RenderObject.h: Remove isSVGShadowTreeRootContainer.
(WebCore::RenderObject::isSVGTransformableContainer): Added.
* rendering/svg/RenderSVGAllInOne.cpp: Remove SVGShadowTreeElements/RenderSVGShadowTreeRootContainer from build.
* rendering/svg/RenderSVGModelObject.cpp:
(WebCore::isGraphicsElement): To check for <use>, a tag name comparision is needed now, as it no longer has a special renderer.
* rendering/svg/RenderSVGResourceClipper.cpp:
(WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage): Ditto.
(WebCore::RenderSVGResourceClipper::calculateClipContentRepaintRect): Ditto.
(WebCore::RenderSVGResourceClipper::hitTestClipContent): Ditto.
* rendering/svg/RenderSVGResourceContainer.cpp: Remove RenderSVGShadowTreeRootContainer.h include.
* rendering/svg/RenderSVGShadowTreeRootContainer.cpp: Removed.
* rendering/svg/RenderSVGShadowTreeRootContainer.h: Removed.
* rendering/svg/RenderSVGTransformableContainer.cpp: Keep track of last used additional x/y translation.
(WebCore::RenderSVGTransformableContainer::calculateLocalTransform): Handle x/y translation for <use> contains here, instead of storing it in the SVGShadowTreeRootElement.
* rendering/svg/RenderSVGTransformableContainer.h: Store last used x/y translation.
(WebCore::RenderSVGTransformableContainer::isSVGTransformableContainer): Return true.
(WebCore::toRenderSVGTransformableContainer): Add conversion helpers.
* rendering/svg/RenderSVGViewportContainer.cpp: Ditto.
(WebCore::RenderSVGViewportContainer::calcViewport): Handle width/height attributes inheritance from the <use> element, if we're a <svg> or <symbol> replacement in the shadow tree.
* rendering/svg/RenderSVGViewportContainer.h: Remove isSVGContainer() override which is not needed here (already present in RenderSVGContainer).
* rendering/svg/SVGShadowTreeElements.cpp: Removed.
* rendering/svg/SVGShadowTreeElements.h: Removed.
* svg/SVGAElement.cpp:
(WebCore::SVGAElement::createRenderer): Check if parentNode is really a SVGElement, before casting.
* svg/SVGElement.cpp:
(WebCore::SVGElement::isOutermostSVGSVGElement): Early exit if tag name isn't <svg>, or if we're in a shadow tree (can't be an outermost <svg> element then).
(WebCore::hasLoadListener): Deploy parentOrHostElement() usage to remove any special cases, related to shadow boundaries.
(WebCore::SVGElement::sendSVGLoadEventIfPossible): Ditto.
(WebCore::SVGElement::customStyleForRenderer): Ditto.
* svg/SVGElementInstance.cpp:
(WebCore::SVGElementInstance::invalidateAllInstancesOfElement): Call updateStyleIfNeeded() instead of updateLayoutIgnorePendingStylesheets().
* svg/SVGGElement.cpp:
(WebCore::SVGGElement::rendererIsNeeded): s/parentNode/parentOrHostElement/ - we need to cross shadow boundaries now.
* svg/SVGGElement.h: Remove obsolete isShadowTreeContainerElement().
* svg/SVGLocatable.cpp:
(WebCore::SVGLocatable::nearestViewportElement): s/parentNode/parentOrHostElement/ - we need to cross shadow boundaries now.
(WebCore::SVGLocatable::farthestViewportElement): Ditto.
(WebCore::SVGLocatable::computeCTM): Ditto.
* svg/SVGStyledElement.cpp:
(WebCore::SVGStyledElement::title): Ditto. (+ simplify code a lot, no need to walk the shadow tree to find its root anymore, use isInShadowTree() helper.)
(WebCore::SVGStyledElement::rendererIsNeeded): Ditto.
* svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::SVGUseElement): Remove no longer needed m_updatesBlocked.
(WebCore::SVGUseElement::create): Always call ensureShadowRoot(), to create a #shadow-root, upon creating a SVGUseElement.
(WebCore::SVGUseElement::insertedIntoDocument): Align with SVGFEImageElement/SVGTRefElement - call buildPendingResource() from insertedIntoDocument(), finally! (no renderer needed anymore to update the SVG shadow subtree).
(WebCore::SVGUseElement::removedFromDocument): Align with SVGFEImageElement/SVGTRefElement - immediately release the SVGElementInstance & shadow tree, once we're removed from the document.
(WebCore::SVGUseElement::svgAttributeChanged): Simplify code a lot, no longer need to deal with x/y/width/height attributes, the renderes in the shadow tree grab these values from their corresponding <use> elements automatically now.
(WebCore::SVGUseElement::willRecalcStyle):
    New main part of the logic. invalidateShadowTree() calls setNeedsStyleRecalc, and sets m_needsShadowTreeRecreation=true. If we encounter this case, force rebuilding the SVG shadow tree
    and the SVGElementInstance tree, immediately, before executing the actual style recalc. This allows us to lazily rebuild the SVG shadow tree for the <use> element. Consider:
    <defs><rect id="rect"></defs> <use xlink:href="#rect"/>. Now from a script we change the rect x/y/width/height attributes:
    rect.setAttribute("x", "10"); rect.setAttribute("y", "10")... each call will lead to a SVGUseElement::invalidateShadowTree() call by SVGElementInstance::invalidateAllInstancesOfElement, invoked after the <rect> element got parsed.
    This won't update the shadow tree four times, but only once upon the next style recalculation - otherwise performance is a nightmare.
    This will serve as future starting point, to explore partial SVG subtree re-clones, which should easily be doable now.
(WebCore::dumpInstanceTree): Add a 'static' to allow DUMP_INSTANCE_TREE to be used in clang builds.
(WebCore::SVGUseElement::clearResourceReferences): Added helper to release instance & shadow tree.
(WebCore::SVGUseElement::buildPendingResource): Modeled exactly like SVGFEImageElement/SVGTRefElement. It's possible to share more code between these in future.
(WebCore::SVGUseElement::buildShadowAndInstanceTree): Cleanup code, adapt to new shadow-root concept.
(WebCore::SVGUseElement::createRenderer): Create a RenderSVGTransformableContainer, no longer a <use> specific renderer.
(WebCore::removeDisallowedElementsFromSubtree): Use new replacedChild/appendChild variants, that don't require a ExceptionCode to be passed in.
(WebCore::SVGUseElement::buildShadowTree): Ditto.
(WebCore::SVGUseElement::expandUseElementsInShadowTree): Ditto.
(WebCore::SVGUseElement::expandSymbolElementsInShadowTree): Ditto.
(WebCore::SVGUseElement::invalidateShadowTree): Only trigger style recalculations if needed.
* svg/SVGUseElement.h: Remove lots of now unnecessary overrides: attach/detach/didRecalcStyle/updateContainerOffset/updateContainerSizes/etc..
* svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::insertedIntoDocument): No need to walk the shadow tree to find its root anymore, use isInShadowTree() helper.

LayoutTests:

Update results after the <use> rewrite. Lots of RendeSVGContainer lines are
gone in the expected results, as the artifical <g> element representing the
SVG shadow root is gone, replaced by a standar #shadow-root.

* platform/chromium/test_expectations.txt:
* platform/mac/svg/W3C-SVG-1.1-SE/struct-use-11-f-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/animate-elem-30-t-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/animate-elem-36-t-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/animate-elem-39-t-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/animate-elem-40-t-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/animate-elem-41-t-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/animate-elem-46-t-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/animate-elem-61-t-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/animate-elem-63-t-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/animate-elem-64-t-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/animate-elem-65-t-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/animate-elem-66-t-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/animate-elem-67-t-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/animate-elem-68-t-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/animate-elem-69-t-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/animate-elem-70-t-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/animate-elem-77-t-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/animate-elem-78-t-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/animate-elem-80-t-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/filters-gauss-01-b-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/filters-morph-01-f-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/fonts-elem-05-t-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/fonts-elem-06-t-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/fonts-kern-01-t-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/pservers-grad-13-b-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/struct-group-03-t-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/struct-image-02-b-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/struct-symbol-01-b-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/struct-use-01-t-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/struct-use-03-t-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/struct-use-05-b-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/text-path-01-b-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/text-text-04-t-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/text-text-05-t-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/text-text-06-t-expected.txt:
* platform/mac/svg/batik/filters/feTile-expected.txt:
* platform/mac/svg/batik/filters/filterRegions-expected.txt:
* platform/mac/svg/batik/masking/maskRegions-expected.txt:
* platform/mac/svg/batik/paints/gradientLimit-expected.txt:
* platform/mac/svg/batik/paints/patternPreserveAspectRatioA-expected.txt:
* platform/mac/svg/batik/paints/patternRegionA-expected.txt:
* platform/mac/svg/batik/paints/patternRegions-expected.txt:
* platform/mac/svg/batik/paints/patternRegions-positioned-objects-expected.txt:
* platform/mac/svg/batik/text/longTextOnPath-expected.txt:
* platform/mac/svg/batik/text/smallFonts-expected.txt:
* platform/mac/svg/batik/text/textAnchor-expected.txt:
* platform/mac/svg/batik/text/textDecoration-expected.txt:
* platform/mac/svg/batik/text/textEffect-expected.txt:
* platform/mac/svg/batik/text/textEffect2-expected.txt:
* platform/mac/svg/batik/text/textEffect3-expected.txt:
* platform/mac/svg/batik/text/textFeatures-expected.txt:
* platform/mac/svg/batik/text/textGlyphOrientationHorizontal-expected.txt:
* platform/mac/svg/batik/text/textLayout-expected.txt:
* platform/mac/svg/batik/text/textLayout2-expected.txt:
* platform/mac/svg/batik/text/textLength-expected.txt:
* platform/mac/svg/batik/text/textOnPath-expected.txt:
* platform/mac/svg/batik/text/textOnPath2-expected.txt:
* platform/mac/svg/batik/text/textOnPath3-expected.txt:
* platform/mac/svg/batik/text/textOnPathSpaces-expected.txt:
* platform/mac/svg/batik/text/textPosition-expected.txt:
* platform/mac/svg/batik/text/textPosition2-expected.txt:
* platform/mac/svg/batik/text/textProperties-expected.txt:
* platform/mac/svg/batik/text/textProperties2-expected.txt:
* platform/mac/svg/batik/text/textStyles-expected.txt:
* platform/mac/svg/batik/text/verticalText-expected.txt:
* platform/mac/svg/batik/text/verticalTextOnPath-expected.txt:
* platform/mac/svg/carto.net/button-expected.txt:
* platform/mac/svg/carto.net/colourpicker-expected.txt:
* platform/mac/svg/carto.net/slider-expected.txt:
* platform/mac/svg/carto.net/window-expected.txt:
* platform/mac/svg/clip-path/clip-path-child-clipped-expected.txt:
* platform/mac/svg/clip-path/clip-path-clipped-no-content-expected.txt:
* platform/mac/svg/clip-path/clip-path-evenodd-expected.txt:
* platform/mac/svg/clip-path/clip-path-evenodd-nonzero-expected.txt:
* platform/mac/svg/clip-path/clip-path-nonzero-evenodd-expected.txt:
* platform/mac/svg/clip-path/clip-path-nonzero-expected.txt:
* platform/mac/svg/clip-path/clip-path-text-and-shape-expected.txt:
* platform/mac/svg/clip-path/clip-path-use-as-child2-expected.txt:
* platform/mac/svg/clip-path/clip-path-use-as-child3-expected.txt:
* platform/mac/svg/clip-path/clip-path-use-as-child4-expected.txt:
* platform/mac/svg/clip-path/clip-path-use-as-child5-expected.txt:
* platform/mac/svg/clip-path/clip-path-with-container-expected.txt:
* platform/mac/svg/clip-path/clip-path-with-invisibile-child-expected.txt:
* platform/mac/svg/clip-path/clip-path-with-text-clipped-expected.txt:
* platform/mac/svg/clip-path/clipper-placement-issue-expected.txt:
* platform/mac/svg/css/clippath-with-shadow-expected.txt:
* platform/mac/svg/css/mask-with-shadow-expected.txt:
* platform/mac/svg/custom/broken-internal-references-expected.txt:
* platform/mac/svg/custom/clip-path-referencing-use-expected.txt:
* platform/mac/svg/custom/clip-path-referencing-use2-expected.txt:
* platform/mac/svg/custom/embedding-external-svgs-expected.txt:
* platform/mac/svg/custom/path-textPath-simulation-expected.txt:
* platform/mac/svg/custom/pattern-rotate-expected.txt:
* platform/mac/svg/custom/recursive-clippath-expected.txt:
* platform/mac/svg/custom/recursive-mask-expected.txt:
* platform/mac/svg/custom/recursive-pattern-expected.txt:
* platform/mac/svg/custom/relative-sized-deep-shadow-tree-content-expected.txt:
* platform/mac/svg/custom/relative-sized-shadow-tree-content-expected.txt:
* platform/mac/svg/custom/relative-sized-shadow-tree-content-with-symbol-expected.txt:
* platform/mac/svg/custom/relative-sized-use-on-symbol-expected.txt:
* platform/mac/svg/custom/relative-sized-use-without-attributes-on-symbol-expected.txt:
* platform/mac/svg/custom/struct-use-09-b-expected.txt:
* platform/mac/svg/custom/use-clipped-hit-expected.txt:
* platform/mac/svg/custom/use-css-events-expected.txt:
* platform/mac/svg/custom/use-detach-expected.txt:
* platform/mac/svg/custom/use-disappears-after-style-update-expected.png:
* platform/mac/svg/custom/use-disappears-after-style-update-expected.txt:
* platform/mac/svg/custom/use-dynamic-append-expected.txt:
* platform/mac/svg/custom/use-elementInstance-event-target-expected.txt:
* platform/mac/svg/custom/use-elementInstance-methods-expected.txt:
* platform/mac/svg/custom/use-empty-reference-expected.txt:
* platform/mac/svg/custom/use-event-handler-on-referenced-element-expected.txt:
* platform/mac/svg/custom/use-event-handler-on-use-element-expected.txt:
* platform/mac/svg/custom/use-events-crash-expected.txt:
* platform/mac/svg/custom/use-font-face-crash-expected.txt:
* platform/mac/svg/custom/use-instanceRoot-event-bubbling-expected.png:
* platform/mac/svg/custom/use-instanceRoot-event-listeners-expected.png:
* platform/mac/svg/custom/use-instanceRoot-modifications-expected.txt:
* platform/mac/svg/custom/use-modify-container-in-target-expected.txt:
* platform/mac/svg/custom/use-modify-target-container-expected.txt:
* platform/mac/svg/custom/use-modify-target-symbol-expected.txt:
* platform/mac/svg/custom/use-nested-transform-expected.txt:
* platform/mac/svg/custom/use-on-disallowed-foreign-object-1-expected.txt:
* platform/mac/svg/custom/use-on-disallowed-foreign-object-2-expected.txt:
* platform/mac/svg/custom/use-on-disallowed-foreign-object-3-expected.txt:
* platform/mac/svg/custom/use-on-disallowed-foreign-object-4-expected.txt:
* platform/mac/svg/custom/use-on-disallowed-foreign-object-5-expected.txt:
* platform/mac/svg/custom/use-on-disallowed-foreign-object-6-expected.txt:
* platform/mac/svg/custom/use-on-g-containing-symbol-expected.txt:
* platform/mac/svg/custom/use-on-g-containing-use-expected.txt:
* platform/mac/svg/custom/use-on-g-expected.txt:
* platform/mac/svg/custom/use-on-non-svg-namespaced-element-expected.txt:
* platform/mac/svg/custom/use-on-rect-expected.txt:
* platform/mac/svg/custom/use-on-symbol-expected.txt:
* platform/mac/svg/custom/use-on-symbol-inside-pattern-expected.txt:
* platform/mac/svg/custom/use-on-text-expected.txt:
* platform/mac/svg/custom/use-on-use-expected.txt:
* platform/mac/svg/custom/use-property-changes-through-dom-expected.txt:
* platform/mac/svg/custom/use-property-changes-through-svg-dom-expected.txt:
* platform/mac/svg/custom/use-property-synchronization-crash-expected.txt:
* platform/mac/svg/custom/use-recalcStyle-crash-expected.txt:
* platform/mac/svg/custom/use-recursion-1-expected.txt:
* platform/mac/svg/custom/use-recursion-2-expected.txt:
* platform/mac/svg/custom/use-recursion-3-expected.txt:
* platform/mac/svg/custom/use-recursion-4-expected.png:
* platform/mac/svg/custom/use-recursion-4-expected.txt:
* platform/mac/svg/custom/use-referencing-nonexisting-symbol-expected.txt:
* platform/mac/svg/custom/use-symbol-overflow-expected.txt:
* platform/mac/svg/custom/use-transform-expected.txt:
* platform/mac/svg/filters/feImage-target-attribute-change-with-use-indirection-2-expected.txt:
* platform/mac/svg/filters/feImage-target-attribute-change-with-use-indirection-expected.txt:
* platform/mac/svg/filters/filter-placement-issue-expected.txt:
* platform/mac/svg/filters/filter-refresh-expected.txt:
* platform/mac/svg/filters/filter-source-position-expected.txt:
* platform/mac/svg/hixie/error/014-expected.txt:
* platform/mac/svg/hixie/error/017-expected.txt:
* platform/mac/svg/hixie/use/001-expected.txt:
* platform/mac/svg/hixie/use/002-expected.txt:
* platform/mac/svg/overflow/overflow-on-inner-svg-element-expected.txt:
* platform/mac/svg/stroke/zero-length-arc-linecaps-rendering-expected.txt:
* platform/mac/svg/stroke/zero-length-path-linecap-rendering-expected.txt:
* platform/mac/svg/stroke/zero-length-subpaths-linecap-rendering-expected.txt:
* platform/mac/svg/text/text-gradient-positioning-expected.txt:
* platform/mac/svg/text/text-path-01-b-expected.txt:
* platform/mac/svg/text/text-text-04-t-expected.txt:
* platform/mac/svg/text/text-text-05-t-expected.txt:
* platform/mac/svg/text/text-text-06-t-expected.txt:
* platform/mac/svg/transforms/svg-css-transforms-clip-path-expected.txt:
* platform/mac/svg/zoom/page/zoom-mask-with-percentages-expected.txt:
* svg/W3C-SVG-1.1-SE/struct-use-14-f-expected.txt:
* svg/clip-path/clip-path-childs-clipped-expected.txt:
* svg/clip-path/clip-path-clipped-evenodd-twice-expected.txt:
* svg/clip-path/clip-path-clipped-expected.txt:
* svg/clip-path/clip-path-clipped-nonzero-expected.txt:
* svg/clip-path/clip-path-on-clipped-use-expected.txt:
* svg/clip-path/clip-path-use-as-child-expected.txt:
* svg/css/circle-in-mask-with-shadow-expected.txt:
* svg/custom/deep-dynamic-updates-expected.txt:
* svg/custom/non-scaling-stroke-expected.txt:
* svg/custom/resource-client-removal-expected.txt:
* svg/custom/use-clipped-transform-expected.txt:
* svg/custom/use-css-no-effect-on-shadow-tree-expected.txt:
* svg/custom/use-forward-refs-expected.txt:
* svg/custom/use-image-in-g-expected.txt:
* svg/custom/use-in-symbol-with-offset-expected.txt:
* svg/custom/use-inherit-style-expected.txt:
* svg/custom/use-move-to-offset-expected.txt:
* svg/custom/use-multiple-on-nested-disallowed-font-expected.txt:
* svg/custom/use-on-clip-path-with-transformation-expected.txt:
* svg/custom/use-on-g-containing-foreignObject-and-image-expected.txt:
* svg/custom/use-setAttribute-crash-expected.txt:
* svg/custom/use-transfer-width-height-properties-to-svg-expected.txt:
* svg/custom/use-transfer-width-height-properties-to-svg1-expected.txt:
* svg/custom/use-transfer-width-height-properties-to-svg2-expected.txt:
* svg/custom/use-transfer-width-height-properties-to-symbol-expected.txt:
* svg/custom/use-transfer-width-height-properties-to-symbol1-expected.txt:
* svg/custom/use-transfer-width-height-properties-to-symbol2-expected.txt:
* svg/repaint/inner-svg-change-viewPort-relative-expected.txt:

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

8 years agoElement should be able to have multiple shadow roots.
shinyak@chromium.org [Tue, 28 Feb 2012 11:36:37 +0000 (11:36 +0000)]
Element should be able to have multiple shadow roots.
https://bugs.webkit.org/show_bug.cgi?id=77931

Reviewed by Hajime Morita.

.:

* Source/autotools/symbols.filter:

Source/WebCore:

This patch enables us to add multiple shadow subtrees into elements.
Note that multiple shadow subtrees are enabled
only if RuntimeEnabledFeatures::multipleShadowSubtrees is enabled.

Since we don't have <shadow> element yet, only the youngest shadow tree
will be rendered. This patch includes tests to confirm adding a new shadow
tree dynamically to confirm only the youngest shadow tree is renderered.

Tests: fast/dom/shadow/multiple-shadowroot-rendering.html
       fast/dom/shadow/multiple-shadowroot.html

* WebCore.exp.in:
* dom/Element.cpp:
  Uses ShadowRootList interfaces directly instead of ShadowRootList emulation methods.
(WebCore::Element::~Element):
(WebCore::Element::attach):
(WebCore::Element::addShadowRoot):
(WebCore::Element::removeShadowRootList):
* dom/Element.h:
(Element):
* dom/NodeRenderingContext.cpp:
  Makes non-youngest shadow subtrees hidden.
(WebCore::NodeRenderingContext::NodeRenderingContext):
(WebCore::NodeRenderingContext::hostChildrenChanged):
  Since non-youngest children may be changed, make sure host children are changed.
* dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::create):
* dom/ShadowRoot.h:
  Utility methods to make code intention clear are added.
(WebCore::ShadowRoot::youngerShadowRoot):
(WebCore::ShadowRoot::olderShadowRoot):
(ShadowRoot):
(WebCore::ShadowRoot::isYoungest):
(WebCore::ShadowRoot::isOldest):
* dom/ShadowRootList.cpp:
(WebCore::ShadowRootList::popShadowRoot):
(WebCore::ShadowRootList::attach):
(WebCore::ShadowRootList::detach):
  Detaches shadow subtrees.
* testing/Internals.cpp:
(WebCore::Internals::address):
(WebCore):
(WebCore::Internals::youngerShadowRoot):
(WebCore::Internals::olderShadowRoot):
(WebCore::Internals::removeShadowRoot):
* testing/Internals.h:
(Internals):
* testing/Internals.idl:

Source/WebKit2:

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

LayoutTests:

* fast/dom/resources/shadow-test-driver.js:
(createSpanWithText):
(doneTest):
(doTest):
* fast/dom/shadow/multiple-shadowroot-expected.txt: Added.
* fast/dom/shadow/multiple-shadowroot-rendering-expected.txt: Added.
* fast/dom/shadow/multiple-shadowroot-rendering.html: Added.
* fast/dom/shadow/multiple-shadowroot.html: Added.
* platform/efl/Skipped:
* platform/gtk/Skipped:
* platform/mac/Skipped:
* platform/qt/Skipped:
* platform/win/Skipped:
* platform/wincairo/Skipped:
* platform/wk2/Skipped:

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

8 years agoUpdate a pattern for forms files of watchlist
tkent@chromium.org [Tue, 28 Feb 2012 10:55:28 +0000 (10:55 +0000)]
Update a pattern for forms files of watchlist
https://bugs.webkit.org/show_bug.cgi?id=79767

Reviewed by Kentaro Hara.

* Scripts/webkitpy/common/config/watchlist:
Catches the following files with the "Forms" pattern.
- HTMLDatListElement.*
- HTMLKeygenElement.*
- HTMLLegendElement.*
- HTMLOutputElement.*
- FormAssociatedElement.*
- SliderThumbElement.*
- TextControlInnerElements.*
- RenderFileUploadControl.*

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

8 years ago[Qt][WK2] Use movementStarted/Ended signals instead of movingChanged on QtViewportInt...
commit-queue@webkit.org [Tue, 28 Feb 2012 10:42:03 +0000 (10:42 +0000)]
[Qt][WK2] Use movementStarted/Ended signals instead of movingChanged on QtViewportInterationEngine
https://bugs.webkit.org/show_bug.cgi?id=79521

Patch by Hugo Parente Lima <hugo.lima@openbossa.org> on 2012-02-28
Reviewed by Kenneth Rohde Christiansen.

movingChanged() signal is emitted many times, so the use of movementStarted() and
movementEnded() is a better choice.

* UIProcess/qt/QtFlickProvider.cpp:
(QtFlickProvider::QtFlickProvider):
* UIProcess/qt/QtFlickProvider.h:
(QtFlickProvider):
* UIProcess/qt/QtViewportInteractionEngine.cpp:
(WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
* UIProcess/qt/QtViewportInteractionEngine.h:
(QtViewportInteractionEngine):

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

8 years ago[Chromium] We should reset mouse position before calling eventSender.mouseMove in...
commit-queue@webkit.org [Tue, 28 Feb 2012 10:21:05 +0000 (10:21 +0000)]
[Chromium] We should reset mouse position before calling eventSender.mouseMove in LayoutTest
https://bugs.webkit.org/show_bug.cgi?id=79748

Calls eventSender.moveTo(0, 0) before other eventSender.moveTo call to make sure test scripts
get mousemove event.

Patch by Yoshifumi Inoue <yosin@chromium.org> on 2012-02-28
Reviewed by Kent Tamura.

* fast/forms/number/input-number-events.html:
* fast/forms/number/input-number-large-padding.html:
* fast/forms/number/input-spinbutton-capturing.html:

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

8 years agoTry to fix build.
antti@apple.com [Tue, 28 Feb 2012 10:06:48 +0000 (10:06 +0000)]
Try to fix build.

Not reviewed.

* Api/qwebelement.cpp:
(QWebElement::styleProperty):

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

8 years agoSplit CSSStyleRule into internal and CSSOM type
antti@apple.com [Tue, 28 Feb 2012 09:38:51 +0000 (09:38 +0000)]
Split CSSStyleRule into internal and CSSOM type
https://bugs.webkit.org/show_bug.cgi?id=79763

Reviewed by Andreas Kling.

- Split the data out as StyleRule
- Make CSSStyleSelector operate on StyleRule instead of CSSStyleRule

This is an intermediate step. Both CSSStyleRule and StyleRule are still always constructed so
the patch increases memory consumption by a few pointers per css rule. Upcoming
patches will make CSSStyleRules to be constructed on demand.

The patch does not yet move StyleRule to a file of its own.

* css/CSSPageRule.cpp:
(WebCore::CSSPageRule::CSSPageRule):
* css/CSSPageRule.h:
(WebCore::CSSPageRule::create):
(CSSPageRule):
* css/CSSParser.cpp:
(WebCore::CSSParser::createStyleRule):
(WebCore::CSSParser::createPageRule):
* css/CSSRule.h:
(WebCore::CSSRule::CSSRule):
(CSSRule):
* css/CSSStyleRule.cpp:
(WebCore::StyleRule::StyleRule):
(WebCore):
(WebCore::StyleRule::~StyleRule):
(WebCore::StyleRule::addSubresourceStyleURLs):
(WebCore::StyleRule::ensureCSSStyleRule):
(WebCore::CSSStyleRule::CSSStyleRule):
(WebCore::CSSStyleRule::~CSSStyleRule):
(WebCore::CSSStyleRule::generateSelectorText):
(WebCore::CSSStyleRule::setSelectorText):
(WebCore::CSSStyleRule::cssText):
* css/CSSStyleRule.h:
(WebCore):
(StyleRule):
(WebCore::StyleRule::selectorList):
(WebCore::StyleRule::properties):
(WebCore::StyleRule::sourceLine):
(WebCore::StyleRule::adoptSelectorVector):
(WebCore::StyleRule::adoptSelectorList):
(WebCore::StyleRule::setProperties):
(WebCore::CSSStyleRule::create):
(WebCore::CSSStyleRule::style):
(CSSStyleRule):
(WebCore::CSSStyleRule::styleRule):
* css/CSSStyleSelector.cpp:
(RuleData):
(WebCore::RuleData::rule):
(RuleSet):
(WebCore::CSSStyleSelector::addMatchedProperties):
(WebCore::CSSStyleSelector::sortAndTransferMatchedRules):
(WebCore::CSSStyleSelector::collectMatchingRulesForList):
* css/CSSStyleSelector.h:
(WebCore::CSSStyleSelector::RuleSelectorPair::RuleSelectorPair):
(RuleSelectorPair):
(MatchResult):
(CSSStyleSelector):
* css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::addSubresourceStyleURLs):
* editing/EditingStyle.cpp:
(WebCore::styleFromMatchedRulesForElement):
* inspector/InspectorCSSAgent.cpp:
(WebCore::SelectorProfile::startSelector):
* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::willMatchRuleImpl):
(WebCore::InspectorInstrumentation::willProcessRuleImpl):
* inspector/InspectorInstrumentation.h:
(WebCore):
(InspectorInstrumentation):
(WebCore::InspectorInstrumentation::willMatchRule):
(WebCore::InspectorInstrumentation::willProcessRule):
* inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyleSheet::buildObjectForRule):
(WebCore::InspectorStyleSheet::revalidateStyle):
* page/PageSerializer.cpp:
(WebCore::PageSerializer::serializeFrame):
(WebCore::PageSerializer::serializeCSSStyleSheet):
(WebCore::PageSerializer::retrieveResourcesForRule):
(WebCore::PageSerializer::retrieveResourcesForProperties):
* page/PageSerializer.h:
(WebCore):
(PageSerializer):

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

8 years agoUnreviewed test expectations update.
bashi@chromium.org [Tue, 28 Feb 2012 09:36:09 +0000 (09:36 +0000)]
Unreviewed test expectations update.

webaudio/audiobuffersource-channels.html crashes on debug builds.

* platform/chromium/test_expectations.txt:

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

8 years agoRuntimeEnabledFeatures::setMultipleShadowSubtreesEnabled should not be inline
rolandsteiner@chromium.org [Tue, 28 Feb 2012 09:23:39 +0000 (09:23 +0000)]
RuntimeEnabledFeatures::setMultipleShadowSubtreesEnabled should not be inline
https://bugs.webkit.org/show_bug.cgi?id=79753

Moved the function implementation to the .cpp file.

Reviewed by Hajime Morita.

No new tests. (no functional change)

* bindings/generic/RuntimeEnabledFeatures.cpp:
(WebCore::RuntimeEnabledFeatures::setMultipleShadowSubtreesEnabled):
(WebCore):
* bindings/generic/RuntimeEnabledFeatures.h:
(RuntimeEnabledFeatures):

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

8 years agoUnreviewed, marking a media test flaky on GTK.
philn@webkit.org [Tue, 28 Feb 2012 08:53:57 +0000 (08:53 +0000)]
Unreviewed, marking a media test flaky on GTK.

* platform/gtk/test_expectations.txt:
media/video-poster-blocked-by-willsendrequest.html is flaky.

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

8 years agoUnreviewed, GTK baselines for 22 new tests.
philn@webkit.org [Tue, 28 Feb 2012 08:13:30 +0000 (08:13 +0000)]
Unreviewed, GTK baselines for 22 new tests.

* platform/gtk/fast/block/float/centered-float-avoidance-complexity-expected.txt: Added.
* platform/gtk/fast/block/float/shrink-to-avoid-float-complexity-expected.txt: Added.
* platform/gtk/fast/css/non-empty-span-expected.txt: Added.
* platform/gtk/fast/css/relative-positioned-block-nested-with-inline-parent-dynamic-expected.txt: Added.
* platform/gtk/fast/css/relative-positioned-block-nested-with-inline-parent-dynamic-removed-expected.txt: Added.
* platform/gtk/fast/css/relative-positioned-block-nested-with-inline-parent-expected.txt: Added.
* platform/gtk/fast/css/relative-positioned-block-nested-with-inline-parent-multiple-descendant-blocks-dynamic-expected.txt: Added.
* platform/gtk/fast/css/relative-positioned-block-with-inline-ancestor-and-parent-dynamic-expected.txt: Added.
* platform/gtk/fast/css/relative-positioned-block-with-inline-ancestor-dynamic-expected.txt: Added.
* platform/gtk/fast/css/relative-positioned-block-with-inline-ancestor-dynamic-removed-expected.txt: Added.
* platform/gtk/fast/css/relative-positioned-block-with-inline-ancestor-expected.txt: Added.
* platform/gtk/fast/css/relative-positioned-block-with-inline-parent-dynamic-expected.txt: Added.
* platform/gtk/fast/css/relative-positioned-block-with-inline-parent-dynamic-removed-expected.txt: Added.
* platform/gtk/fast/css/relative-positioned-block-with-inline-parent-keeps-style-expected.txt: Added.
* platform/gtk/fast/repaint/region-painting-invalidation-expected.txt: Added.
* platform/gtk/svg/foreignObject/fO-display-none-expected.txt: Added.
* platform/gtk/svg/foreignObject/fO-display-none-with-relative-pos-content-expected.txt: Added.
* platform/gtk/svg/foreignObject/fO-parent-display-changes-expected.txt: Added.
* platform/gtk/svg/foreignObject/fO-parent-display-none-expected.txt: Added.
* platform/gtk/svg/foreignObject/fO-parent-display-none-with-relative-pos-content-expected.txt: Added.
* platform/gtk/svg/foreignObject/fO-parent-of-parent-display-none-expected.txt: Added.
* platform/gtk/svg/foreignObject/fO-parent-of-parent-display-none-with-relative-pos-content-expected.txt: Added.

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

8 years agoFix comment about RGB swizzle decoding and Adobe transform=0 images
noel.gordon@gmail.com [Tue, 28 Feb 2012 08:07:50 +0000 (08:07 +0000)]
Fix comment about RGB swizzle decoding and Adobe transform=0 images
https://bugs.webkit.org/show_bug.cgi?id=79457

Unreviewed. No new tests, comment change only.

* platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
(WebCore::JPEGImageReader::decode):

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

8 years agoUnreviewed, GTK test_expectations update, skipping 2 new failing
philn@webkit.org [Tue, 28 Feb 2012 08:06:12 +0000 (08:06 +0000)]
Unreviewed, GTK test_expectations update, skipping 2 new failing
ref tests.

* platform/gtk/test_expectations.txt:

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

8 years agoElement::removeShadowRoot() and setShadowRoot() should be moved into ShadowTree.
shinyak@chromium.org [Tue, 28 Feb 2012 08:05:51 +0000 (08:05 +0000)]
Element::removeShadowRoot() and setShadowRoot() should be moved into ShadowTree.
https://bugs.webkit.org/show_bug.cgi?id=78313

Reviewed by Hajime Morita.

.:

* Source/autotools/symbols.filter:

Source/WebCore:

This patch is for refactoring ShadowTree related code.
  (1) Element::removeShadowRoot() and Element::setShadowRoot() are moved into ShadowTree.
  (2) ShadowTree is now put on its own heap.

No new tests, no change in behavior.

* WebCore.exp.in:
* dom/Element.cpp:
(WebCore::Element::~Element):
(WebCore::Element::shadowTree):
(WebCore::Element::ensureShadowTree):
  Ensure the existence of ShadowTree. This does not ensure ShadowRoot exists.
* dom/Element.h:
(Element):
* dom/ElementRareData.h:
  Makes ShadowTree on Heap.
(ElementRareData):
(WebCore::ElementRareData::~ElementRareData):
* dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::create):
* dom/ShadowTree.cpp:
(WebCore::validateShadowRoot):
(WebCore):
(WebCore::ShadowTree::addShadowRoot):
(WebCore::ShadowTree::removeAllShadowRoots):
* dom/ShadowTree.h:
(ShadowTree):
* testing/Internals.cpp:
(WebCore::Internals::removeShadowRoot):

Source/WebKit2:

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

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

8 years agoUnreviewed, GTK rebaseline.
philn@webkit.org [Tue, 28 Feb 2012 07:43:25 +0000 (07:43 +0000)]
Unreviewed, GTK rebaseline.

* platform/gtk/Skipped: Skip all dom/shadow tests, GTK doesn't
support this feature yet.
* platform/gtk/fast/dom/Window/window-properties-expected.txt:
* platform/gtk/fast/dom/Window/window-property-descriptors-expected.txt:
* platform/gtk/fast/js/constructor-length-expected.txt:
* platform/gtk/fast/multicol/span/clone-flexbox-expected.txt: Added.
* platform/gtk/fast/multicol/span/clone-summary-expected.txt: Added.
* platform/gtk/fast/runin/runin-div-before-child-expected.txt: Added.
* platform/gtk/fast/runin/runin-table-before-child-expected.txt: Added.
* platform/gtk/http/tests/misc/object-embedding-svg-delayed-size-negotiation-2-expected.txt:
* platform/gtk/media/audio-repaint-expected.txt:
* platform/gtk/media/video-zoom-controls-expected.txt:
* platform/gtk/svg/css/getComputedStyle-basic-expected.txt: Added.
* platform/gtk/svg/repaint/inner-svg-change-viewPort-relative-expected.txt: Added.
* platform/gtk/svg/text/select-textLength-spacing-squeeze-2-expected.txt:
* platform/gtk/svg/text/text-rescale-expected.txt: Added.
* platform/gtk/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.txt:

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

8 years agoLayoutTests/fast/forms/number/input-number-events.html is failing since r108228
commit-queue@webkit.org [Tue, 28 Feb 2012 07:02:01 +0000 (07:02 +0000)]
LayoutTests/fast/forms/number/input-number-events.html is failing since r108228
https://bugs.webkit.org/show_bug.cgi?id=79329

Remove trailing whitespace which makes test failure.

Patch by Yoshifumi Inoue <yosin@chromium.org> on 2012-02-27
Reviewed by Kent Tamura.

* fast/forms/number/input-number-events-expected.txt: Remove trailing whitespace at line 11.

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

8 years agoFix <msubsup> formatting, especially for a tall base, subscript, or superscript
commit-queue@webkit.org [Tue, 28 Feb 2012 06:57:03 +0000 (06:57 +0000)]
Fix <msubsup> formatting, especially for a tall base, subscript, or superscript
https://bugs.webkit.org/show_bug.cgi?id=79274

Patch by David Barton <dbarton@mathscribe.com> on 2012-02-27
Reviewed by Julien Chaffraix.

Source/WebCore:

Move the <msubsup> formatting code in stretchToHeight() to layout(). Then revise the
combined code to produce more vertically accurate results, and without extra white
space. Finally, don't multiply msub/msup/msubsup operator stretching by 1.2.

Test: Added the bug report's attached test case to mathml/presentation/subsup.xhtml, and
it and 5 other test files in mathml/presentation now produce improved results. The
integral sign in mo-stretch.html is no longer scaled up by an extra 1.2, and baselines
are more accurate so the base is higher in msubsup-sub-changed.png. Several examples are
slightly tighter vertically, because their (somewhat) anonymous blocks wrapping
subscripts and superscripts now have the correct font size.

* rendering/mathml/RenderMathMLSubSup.cpp:
(WebCore):
(WebCore::RenderMathMLSubSup::addChild):
(WebCore::RenderMathMLSubSup::stretchToHeight):
(WebCore::RenderMathMLSubSup::layout):
* rendering/mathml/RenderMathMLSubSup.h:
(RenderMathMLSubSup):
* rendering/style/RenderStyle.h:

LayoutTests:

* mathml/presentation/subsup.xhtml:
* platform/mac/mathml/presentation/mo-stretch-expected.png: Added property svn:mime-type.
* platform/mac/mathml/presentation/mo-stretch-expected.txt:
* platform/mac/mathml/presentation/msubsup-base-changed-expected.png:
* platform/mac/mathml/presentation/msubsup-base-changed-expected.txt:
* platform/mac/mathml/presentation/msubsup-sub-changed-expected.png:
* platform/mac/mathml/presentation/msubsup-sub-changed-expected.txt:
* platform/mac/mathml/presentation/msubsup-sup-changed-expected.png:
* platform/mac/mathml/presentation/msubsup-sup-changed-expected.txt:
* platform/mac/mathml/presentation/sub-expected.png:
* platform/mac/mathml/presentation/sub-expected.txt:
* platform/mac/mathml/presentation/subsup-expected.png:
* platform/mac/mathml/presentation/subsup-expected.txt:

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

8 years agokCTFontTableOptionExcludeSynthetic is unneeded
commit-queue@webkit.org [Tue, 28 Feb 2012 06:49:21 +0000 (06:49 +0000)]
kCTFontTableOptionExcludeSynthetic is unneeded
https://bugs.webkit.org/show_bug.cgi?id=79744

Patch by Ned Holbrook <nholbrook@apple.com> on 2012-02-27
Reviewed by Dan Bernstein.

The aforementioned option is a no-op, so no new tests.

* platform/graphics/mac/SimpleFontDataMac.mm:
(WebCore::fontHasVerticalGlyphs): Specify no options.

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

8 years ago[Qt] Unreviewed morning gardening.
ossy@webkit.org [Tue, 28 Feb 2012 06:47:29 +0000 (06:47 +0000)]
[Qt] Unreviewed morning gardening.

* platform/qt/Skipped: Skip new failing tests.
* platform/qt/fast/dom/Window/window-properties-expected.txt: Updated.

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

8 years agoAdd missing parameter to didCreateScriptContext() so it overrides base class again.
koz@chromium.org [Tue, 28 Feb 2012 06:34:10 +0000 (06:34 +0000)]
Add missing parameter to didCreateScriptContext() so it overrides base class again.
https://bugs.webkit.org/show_bug.cgi?id=79742

Reviewed by Kent Tamura.

* tests/WebFrameTest.cpp:

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

8 years ago[Chromium] Unreviewed gardening, Disable TransparencyWin.OpaqueCompositeLayerPixel
bashi@chromium.org [Tue, 28 Feb 2012 06:12:45 +0000 (06:12 +0000)]
[Chromium] Unreviewed gardening, Disable TransparencyWin.OpaqueCompositeLayerPixel

* tests/TransparencyWinTest.cpp:
(WebCore::TEST):

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

8 years agoMulti-Channel support in AudioBufferSourceNode
commit-queue@webkit.org [Tue, 28 Feb 2012 06:03:41 +0000 (06:03 +0000)]
Multi-Channel support in AudioBufferSourceNode
https://bugs.webkit.org/show_bug.cgi?id=79202

Patch by Wei James <james.wei@intel.com> on 2012-02-27
Reviewed by Chris Rogers.

Source/WebCore:

Test: webaudio/audiobuffersource-multi-channels.html

* webaudio/AudioBufferSourceNode.cpp:
(WebCore::AudioBufferSourceNode::renderSilenceAndFinishIfNotLooping):
(WebCore::AudioBufferSourceNode::renderFromBuffer):
(WebCore::AudioBufferSourceNode::setBuffer):
* webaudio/AudioBufferSourceNode.h:
(AudioBufferSourceNode):

LayoutTests:

* webaudio/audiobuffersource-channels-expected.txt:
* webaudio/audiobuffersource-channels.html:
* webaudio/audiobuffersource-multi-channels-expected.wav: Added.
* webaudio/audiobuffersource-multi-channels.html: Added.

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

8 years ago[BlackBerry] Upstream the BlackBerry change to platform/graphics/IntRect.h
leo.yang@torchmobile.com.cn [Tue, 28 Feb 2012 05:49:02 +0000 (05:49 +0000)]
[BlackBerry] Upstream the BlackBerry change to platform/graphics/IntRect.h
https://bugs.webkit.org/show_bug.cgi?id=79732

Reviewed by Antonio Gomes.

Add conversion convenience between WebCore::IntRect and BlackBerry::Platform::IntRect.

The porting can't be built yet, no new tests.

* platform/graphics/IntRect.h:
(Platform):
(IntRect):

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

8 years agoPrinted font-size should not be dependant on zoom level
eae@chromium.org [Tue, 28 Feb 2012 05:42:45 +0000 (05:42 +0000)]
Printed font-size should not be dependant on zoom level
https://bugs.webkit.org/show_bug.cgi?id=79717

Reviewed by Adam Barth.

Ignore full page zoom level when printing a document.

Source/WebCore:

Test: printing/zoomed-document.html

* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::collectMatchingRulesForList):

LayoutTests:

* printing/zoomed-document-expected.txt: Added.
* printing/zoomed-document.html: Added.

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

8 years ago[Chromium] Unreviewed gardening, further compile fixes for
bashi@chromium.org [Tue, 28 Feb 2012 05:29:54 +0000 (05:29 +0000)]
[Chromium] Unreviewed gardening, further compile fixes for
TransparencyWinTest.

* platform/graphics/chromium/TransparencyWin.h:
(WebCore):

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

8 years ago[Chromium] Unreviewed gardening, fix compile error after r109043
bashi@chromium.org [Tue, 28 Feb 2012 05:16:51 +0000 (05:16 +0000)]
[Chromium] Unreviewed gardening, fix compile error after r109043

* platform/graphics/chromium/TransparencyWin.h:
(TransparencyWin):

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