⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Dec 8, 2012:

11:46 PM Changeset in webkit [137057] by commit-queue@webkit.org
  • 2 edits
    2 adds in trunk/Tools

[CMake] Add CMake style checker
https://bugs.webkit.org/show_bug.cgi?id=104240

Patch by Halton Huo <halton.huo@intel.com> on 2012-12-08
Reviewed by Eric Seidel.

The CMake style checker is followed by existing style checkers like cpp, python.
Unit test is added as well.

  • Scripts/webkitpy/style/checker.py: Use CMakeChecker CMAKE type files(.cmake or CMakeLists.txt)

(FileType):
(CheckerDispatcher._file_type):
(CheckerDispatcher._create_checker):

  • Scripts/webkitpy/style/checkers/cmake.py: Added.

(CMakeChecker):
(CMakeChecker.init):
(CMakeChecker.check):
(CMakeChecker._process_line):
(CMakeChecker._check_trailing_whitespace):
(CMakeChecker._check_no_space_cmds):
(CMakeChecker._check_one_space_cmds):
(CMakeChecker._check_non_lowercase_cmd):
(CMakeChecker._check_indent):

  • Scripts/webkitpy/style/checkers/cmake_unittest.py: Added.

(CMakeCheckerTest):
(CMakeCheckerTest.test_init):
(CMakeCheckerTest.test_init._mock_handle_style_error):
(CMakeCheckerTest.test_check):
(CMakeCheckerTest.test_check._mock_handle_style_error):

9:48 PM Changeset in webkit [137056] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL][WK1] Gardening for WebGL
https://bugs.webkit.org/show_bug.cgi?id=104464

Unreviewed, EFL gardening.

As EFL WK1 does not support WebGL, it should be skipped from layout tests.

Patch by Kangil Han <kangil.han@samsung.com> on 2012-12-08

  • platform/efl-wk1/TestExpectations:
7:02 PM Changeset in webkit [137055] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Build break if SVG is disabled
https://bugs.webkit.org/show_bug.cgi?id=104452

Patch by Rakesh KN <rakeshchaitan@gmail.com> on 2012-12-08
Reviewed by Darin Adler.

Build breaking after r136975 if SVG is disabled.
No new tests required.

  • rendering/FilterEffectRenderer.cpp:

(WebCore::FilterEffectRenderer::buildReferenceFilter):
As document is not an argument anymore, removing UNUSED_PARAM against it.

  • rendering/FilterEffectRenderer.h:

Added forward declaration for RenderObject.

6:30 PM Changeset in webkit [137054] by Patrick Gansterer
  • 2 edits in trunk/Source/WTF

Compiling WTF outside of WebKit failed on Windows
https://bugs.webkit.org/show_bug.cgi?id=100201

Reviewed by Darin Adler.

Explicitly use the Unicode variants of the Windows API to
allow building the WTF library without the UNICODE define.

  • wtf/win/MainThreadWin.cpp:

(WTF::initializeMainThreadPlatform):

5:54 PM Changeset in webkit [137053] by mkwst@chromium.org
  • 15 edits in trunk

Log to console when script is blocked by sandbox attributes.
https://bugs.webkit.org/show_bug.cgi?id=104365

Reviewed by Ojan Vafai.

Source/WebCore:

Adds a console message to cover script execution blocked within the
context of a sandboxed frame which lacks the 'allow-scripts' permission.

  • bindings/ScriptControllerBase.cpp:

(WebCore::ScriptController::canExecuteScripts):

Log a warning when sandboxing flags block script execution.

LayoutTests:

  • fast/frames/sandboxed-iframe-attribute-parsing-expected.txt:
  • fast/frames/sandboxed-iframe-autofocus-denied-expected.txt:
  • fast/frames/sandboxed-iframe-parsing-space-characters-expected.txt:
  • fast/frames/sandboxed-iframe-scripting-expected.txt:
  • http/tests/security/contentSecurityPolicy/sandbox-empty-expected.txt:
  • http/tests/security/contentSecurityPolicy/sandbox-empty-subframe-expected.txt:
  • http/tests/security/contentSecurityPolicy/sandbox-in-http-header-control-expected.txt:
  • http/tests/security/contentSecurityPolicy/sandbox-in-http-header-expected.txt:
  • http/tests/security/contentSecurityPolicy/sandbox-invalid-header-expected.txt:
  • http/tests/security/isolatedWorld/sandboxed-iframe-expected.txt:
  • http/tests/security/sandbox-inherit-to-initial-document-2-expected.txt:
  • media/video-controls-no-scripting-expected.txt:

Rebaselining tests with new expectations.

4:03 PM Changeset in webkit [137052] by tkent@chromium.org
  • 2 edits
    7 adds in trunk/LayoutTests

Add appearance tests for input[type=datetime-local]
https://bugs.webkit.org/show_bug.cgi?id=104439

Reviewed by Kentaro Hara.

  • fast/forms/datetimelocal/datetimelocal-appearance-basic-expected.txt: Added.
  • fast/forms/datetimelocal/datetimelocal-appearance-basic.html: Added.
  • fast/forms/datetimelocal/datetimelocal-appearance-l10n-expected.txt: Added.
  • fast/forms/datetimelocal/datetimelocal-appearance-l10n.html: Added.
  • platform/chromium-mac/fast/forms/datetimelocal/datetimelocal-appearance-basic-expected.png: Added.
  • platform/chromium-mac/fast/forms/datetimelocal/datetimelocal-appearance-l10n-expected.png:

Added.
The placeholder strings "yyyy" "mm" "dd" are expected to be
non-localized because they don't support
setLangAttributeAwareFormControlUIEnabled(true).
Note that sub-fields order of filled-outs input and empty inputs
in ar-eg and he-il locales are mismatched. It will be addressed in
webkit.org/b/104438.

  • platform/chromium/TestExpectations:
3:46 PM Changeset in webkit [137051] by commit-queue@webkit.org
  • 90 edits
    38 copies
    20 adds in trunk

Use background color for GraphicsLayers when applicable
https://bugs.webkit.org/show_bug.cgi?id=103786

Source/WebCore:

Updated RenderLayerBacking to call GraphicsLayer::setContentsToBackgroundColor when the following conditions take place:

  1. The layer doesn't paint its own content, other than background/decoration.
  2. There are no borders or other box decorations (border radius, borders, outline, shadow etc.)
  3. The image has only a background color, and no background image.
  4. background-composite is set to source-over, and background-clip is anything apart from text.
  5. The port supports setContentsToBackgroundColor.

This allows any implementation of GraphicsLayer that supports setContentsToBackgroundColor to avoid allocating a backing store
for that layer, but instead draw that solid color directly.
In addition to setting the background color, the layer's contentsRect needs to be adjusted, since the default contents rect of
a layer is not always equivalent to the rect where the background is supposed to be painted, which is derived from the box's
background-clip property.

Patch by No'am Rosenthal <Noam Rosenthal> on 2012-12-08
Reviewed by Simon Fraser.

Tests: compositing/background-color/background-color-alpha.html

compositing/background-color/background-color-change-to-text.html
compositing/background-color/background-color-composite.html
compositing/background-color/background-color-container.html
compositing/background-color/background-color-content-clip.html
compositing/background-color/background-color-padding-change.html
compositing/background-color/background-color-padding-clip.html
compositing/background-color/background-color-simple.html
compositing/background-color/background-color-text-change.html
compositing/background-color/background-color-text-clip.html

  • platform/graphics/GraphicsLayer.h:

(WebCore::GraphicsLayer::supportsBackgroundColorContent):

Allows different implementation of GraphicsLayer to identify whether they implement setContentsToBackgroundColor.
Currently only the MAC implementation and TextureMapper falls under that category.

  • rendering/RenderBox.h:

(WebCore::RenderBox::paddingBoxRect):

Added paddingBoxRect to compliment borderBoxRect and contentsBoxRect. paddingBoxRect corresponds to
background-clip: padding.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):

Update the background color if needed, for every configuration change.
This should accomodate the old behavior for full-screen, while enabling background color changes for other layers.

(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):

Move the contentsRect logic to updateContentsRect.

(WebCore::RenderLayerBacking::updateContentsRect):

Use the background box when directly compositing backgrounds.

(WebCore::RenderLayerBacking::updateBackgroundColor):

Set the background color if applicable, otherwise set to trasnparent and clear.
This was not needed in the past because background colors were only used for the special case of full-screen.

(WebCore::supportsDirectBoxDecorationsComposition):

Helper function to determine whether a particular background can be directly composited. Right now only
background color can be composited, and only if the GraphicsLayer implementation supports background colors.
Also we don't yet support background-clip: text and any background-composite other than source-over.

(WebCore::RenderLayerBacking::paintsBoxDecorations):

Apply the new supportsDirectBoxDecorationsComposition logic.

(WebCore::RenderLayerBacking::contentsBox):

Remove unnecessary local variable.

(WebCore::backgroundRectForBox):
(WebCore::RenderLayerBacking::backgroundBox):

Figure out the correct rect for the GraphicsLayer's contentsRect, based on the renderer's backgroundClip.
The rectangle has to be adjusted based on the composited layer offset, and snapped to an IntRect as
GraphicsLayer::contentsRect expects snapped pixels.

LayoutTests:

Created new tests for composited background colors, update existing tests that are affected by the change,
and created platform-specific overrides for Chromium, since it does not yet support composited background
colors.

Patch by No'am Rosenthal <Noam Rosenthal> on 2012-12-08
Reviewed by Simon Fraser.

  • compositing/background-color/background-color-alpha-expected.html: Added.
  • compositing/background-color/background-color-alpha.html: Added.
  • compositing/background-color/background-color-change-to-text-expected.html: Added.
  • compositing/background-color/background-color-change-to-text.html: Added.
  • compositing/background-color/background-color-composite-expected.html: Added.
  • compositing/background-color/background-color-composite.html: Added.
  • compositing/background-color/background-color-container-expected.html: Added.
  • compositing/background-color/background-color-container.html: Added.
  • compositing/background-color/background-color-content-clip-expected.html: Added.
  • compositing/background-color/background-color-content-clip.html: Added.
  • compositing/background-color/background-color-padding-change-expected.html: Added.
  • compositing/background-color/background-color-padding-change.html: Added.
  • compositing/background-color/background-color-padding-clip-expected.html: Added.
  • compositing/background-color/background-color-padding-clip.html: Added.
  • compositing/background-color/background-color-simple-expected.html: Added.
  • compositing/background-color/background-color-simple.html: Added.
  • compositing/background-color/background-color-text-change-expected.html: Added.
  • compositing/background-color/background-color-text-change.html: Added.
  • compositing/background-color/background-color-text-clip-expected.html: Added.
  • compositing/background-color/background-color-text-clip.html: Added.

Added new tests for the specific functionality added, with the edge cases regarding composited
backgrounds.

  • compositing/backing/no-backing-for-clip-expected.txt:
  • compositing/backing/no-backing-for-clip-overlap-expected.txt:
  • compositing/backing/no-backing-for-perspective-expected.txt:
  • compositing/columns/composited-in-paginated-expected.txt:
  • compositing/geometry/ancestor-overflow-change-expected.txt:
  • compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt:
  • compositing/geometry/bounds-ignores-hidden-dynamic-negzindex-expected.txt:
  • compositing/geometry/clip-expected.txt:
  • compositing/geometry/composited-in-columns-expected.txt:
  • compositing/geometry/flipped-writing-mode-expected.txt:
  • compositing/geometry/layer-due-to-layer-children-deep-switch-expected.txt:
  • compositing/geometry/limit-layer-bounds-fixed-positioned-expected.txt:
  • compositing/geometry/limit-layer-bounds-overflow-root-expected.txt:
  • compositing/geometry/limit-layer-bounds-positioned-expected.txt:
  • compositing/geometry/limit-layer-bounds-positioned-transition-expected.txt:
  • compositing/geometry/limit-layer-bounds-transformed-expected.txt:
  • compositing/geometry/limit-layer-bounds-transformed-overflow-expected.txt:
  • compositing/geometry/preserve-3d-switching-expected.txt:
  • compositing/iframes/become-composited-nested-iframes-expected.txt:
  • compositing/iframes/become-overlapped-iframe-expected.txt:
  • compositing/iframes/composited-parent-iframe-expected.txt:
  • compositing/iframes/connect-compositing-iframe-delayed-expected.txt:
  • compositing/iframes/connect-compositing-iframe-expected.txt:
  • compositing/iframes/connect-compositing-iframe2-expected.txt:
  • compositing/iframes/connect-compositing-iframe3-expected.txt:
  • compositing/iframes/enter-compositing-iframe-expected.txt:
  • compositing/iframes/iframe-resize-expected.txt:
  • compositing/iframes/invisible-nested-iframe-hide-expected.txt:
  • compositing/iframes/invisible-nested-iframe-show-expected.txt:
  • compositing/iframes/overlapped-iframe-expected.txt:
  • compositing/iframes/overlapped-iframe-iframe-expected.txt:
  • compositing/iframes/page-cache-layer-tree-expected.txt:
  • compositing/iframes/scrolling-iframe-expected.txt:
  • compositing/layer-creation/animation-overlap-with-children-expected.txt:
  • compositing/layer-creation/fixed-position-and-transform-expected.txt:
  • compositing/layer-creation/fixed-position-under-transform-expected.txt:
  • compositing/layer-creation/no-compositing-for-preserve-3d-expected.txt:
  • compositing/layer-creation/overflow-scroll-overlap-expected.txt:
  • compositing/layer-creation/overlap-animation-expected.txt:
  • compositing/layer-creation/overlap-child-layer-expected.txt:
  • compositing/layer-creation/overlap-clipping-expected.txt:
  • compositing/layer-creation/overlap-transformed-and-clipped-expected.txt:
  • compositing/layer-creation/overlap-transformed-layer-expected.txt:
  • compositing/layer-creation/overlap-transforms-expected.txt:
  • compositing/layer-creation/scroll-partial-update-expected.txt:
  • compositing/layer-creation/spanOverlapsCanvas-expected.txt:
  • compositing/layer-creation/stacking-context-overlap-expected.txt:
  • compositing/layer-creation/stacking-context-overlap-nested-expected.txt:
  • compositing/layer-creation/translatez-overlap-expected.txt:
  • compositing/overflow-trumps-transform-style-expected.txt:
  • compositing/overflow/clip-descendents-expected.txt:
  • compositing/plugins/no-backing-store-expected.txt:
  • compositing/rtl/rtl-absolute-expected.txt:
  • compositing/rtl/rtl-absolute-overflow-expected.txt:
  • compositing/rtl/rtl-absolute-overflow-scrolled-expected.txt:
  • compositing/rtl/rtl-fixed-expected.txt:
  • compositing/rtl/rtl-fixed-overflow-expected.txt:
  • compositing/rtl/rtl-relative-expected.txt:
  • compositing/tiled-layers-hidpi-expected.txt:
  • compositing/visible-rect/2d-transformed-expected.txt:
  • compositing/visible-rect/3d-transform-style-expected.txt:
  • compositing/visible-rect/3d-transformed-expected.txt:
  • compositing/visible-rect/animated-expected.txt:
  • compositing/visible-rect/animated-from-none-expected.txt:
  • compositing/visible-rect/clipped-by-viewport-expected.txt:
  • compositing/visible-rect/clipped-visible-rect-expected.txt:
  • compositing/visible-rect/iframe-and-layers-expected.txt:
  • compositing/visible-rect/nested-transform-expected.txt:
  • compositing/visible-rect/scrolled-expected.txt:
  • css3/filters/filtered-compositing-descendant-expected.txt:

Updated existing tests that now print different layer-tree results.

  • platform/chromium/compositing/backing/no-backing-for-clip-expected.txt: Copied from LayoutTests/compositing/backing/no-backing-for-clip-expected.txt.
  • platform/chromium/compositing/backing/no-backing-for-clip-overlap-expected.txt: Copied from LayoutTests/compositing/backing/no-backing-for-clip-overlap-expected.txt.
  • platform/chromium/compositing/backing/no-backing-for-perspective-expected.txt: Copied from LayoutTests/compositing/backing/no-backing-for-perspective-expected.txt.
  • platform/chromium/compositing/columns/composited-in-paginated-expected.txt: Copied from LayoutTests/compositing/columns/composited-in-paginated-expected.txt.
  • platform/chromium/compositing/geometry/ancestor-overflow-change-expected.txt: Copied from LayoutTests/compositing/geometry/ancestor-overflow-change-expected.txt.
  • platform/chromium/compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt: Copied from LayoutTests/compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt.
  • platform/chromium/compositing/geometry/bounds-ignores-hidden-dynamic-negzindex-expected.txt: Copied from LayoutTests/compositing/geometry/bounds-ignores-hidden-dynamic-negzindex-expected.txt.
  • platform/chromium/compositing/geometry/clip-expected.txt: Copied from LayoutTests/compositing/geometry/clip-expected.txt.
  • platform/chromium/compositing/geometry/composited-in-columns-expected.txt: Copied from LayoutTests/compositing/geometry/composited-in-columns-expected.txt.
  • platform/chromium/compositing/geometry/flipped-writing-mode-expected.txt: Copied from LayoutTests/compositing/geometry/flipped-writing-mode-expected.txt.
  • platform/chromium/compositing/geometry/layer-due-to-layer-children-deep-switch-expected.txt: Copied from LayoutTests/compositing/geometry/layer-due-to-layer-children-deep-switch-expected.txt.
  • platform/chromium/compositing/geometry/limit-layer-bounds-overflow-root-expected.txt: Copied from LayoutTests/compositing/geometry/limit-layer-bounds-overflow-root-expected.txt.
  • platform/chromium/compositing/geometry/limit-layer-bounds-positioned-expected.txt: Copied from LayoutTests/compositing/geometry/limit-layer-bounds-positioned-expected.txt.
  • platform/chromium/compositing/geometry/limit-layer-bounds-positioned-transition-expected.txt: Copied from LayoutTests/compositing/geometry/limit-layer-bounds-positioned-transition-expected.txt.
  • platform/chromium/compositing/geometry/limit-layer-bounds-transformed-expected.txt: Copied from LayoutTests/compositing/geometry/limit-layer-bounds-transformed-expected.txt.
  • platform/chromium/compositing/geometry/preserve-3d-switching-expected.txt: Copied from LayoutTests/compositing/geometry/preserve-3d-switching-expected.txt.
  • platform/chromium/compositing/iframes/invisible-nested-iframe-hide-expected.txt: Copied from LayoutTests/compositing/iframes/invisible-nested-iframe-hide-expected.txt.
  • platform/chromium/compositing/layer-creation/fixed-position-and-transform-expected.txt: Copied from LayoutTests/compositing/layer-creation/fixed-position-and-transform-expected.txt.
  • platform/chromium/compositing/layer-creation/fixed-position-under-transform-expected.txt: Copied from LayoutTests/compositing/layer-creation/fixed-position-under-transform-expected.txt.
  • platform/chromium/compositing/layer-creation/no-compositing-for-preserve-3d-expected.txt: Copied from LayoutTests/compositing/layer-creation/no-compositing-for-preserve-3d-expected.txt.
  • platform/chromium/compositing/layer-creation/overlap-animation-expected.txt: Copied from LayoutTests/compositing/layer-creation/overlap-animation-expected.txt.
  • platform/chromium/compositing/layer-creation/overlap-child-layer-expected.txt: Copied from LayoutTests/compositing/layer-creation/overlap-child-layer-expected.txt.
  • platform/chromium/compositing/layer-creation/overlap-clipping-expected.txt: Copied from LayoutTests/compositing/layer-creation/overlap-clipping-expected.txt.
  • platform/chromium/compositing/layer-creation/overlap-transformed-and-clipped-expected.txt: Copied from LayoutTests/compositing/layer-creation/overlap-transformed-and-clipped-expected.txt.
  • platform/chromium/compositing/layer-creation/overlap-transformed-layer-expected.txt: Copied from LayoutTests/compositing/layer-creation/overlap-transformed-layer-expected.txt.
  • platform/chromium/compositing/layer-creation/overlap-transforms-expected.txt: Copied from LayoutTests/compositing/layer-creation/overlap-transforms-expected.txt.
  • platform/chromium/compositing/layer-creation/scroll-partial-update-expected.txt: Copied from LayoutTests/compositing/layer-creation/scroll-partial-update-expected.txt.
  • platform/chromium/compositing/layer-creation/stacking-context-overlap-expected.txt: Copied from LayoutTests/compositing/layer-creation/stacking-context-overlap-expected.txt.
  • platform/chromium/compositing/layer-creation/stacking-context-overlap-nested-expected.txt: Copied from LayoutTests/compositing/layer-creation/stacking-context-overlap-nested-expected.txt.
  • platform/chromium/compositing/layer-creation/translatez-overlap-expected.txt: Copied from LayoutTests/compositing/layer-creation/translatez-overlap-expected.txt.
  • platform/chromium/compositing/overflow-trumps-transform-style-expected.txt: Copied from LayoutTests/compositing/overflow-trumps-transform-style-expected.txt.
  • platform/chromium/compositing/rtl/rtl-absolute-expected.txt: Copied from LayoutTests/compositing/rtl/rtl-absolute-expected.txt.
  • platform/chromium/compositing/rtl/rtl-absolute-overflow-expected.txt: Copied from LayoutTests/compositing/rtl/rtl-absolute-overflow-expected.txt.
  • platform/chromium/compositing/rtl/rtl-absolute-overflow-scrolled-expected.txt: Copied from LayoutTests/compositing/rtl/rtl-absolute-overflow-scrolled-expected.txt.
  • platform/chromium/compositing/rtl/rtl-fixed-expected.txt: Copied from LayoutTests/compositing/rtl/rtl-fixed-expected.txt.
  • platform/chromium/compositing/rtl/rtl-fixed-overflow-expected.txt: Copied from LayoutTests/compositing/rtl/rtl-fixed-overflow-expected.txt.
  • platform/chromium/compositing/rtl/rtl-relative-expected.txt: Copied from LayoutTests/compositing/rtl/rtl-relative-expected.txt.
  • platform/chromium/css3/filters/filtered-compositing-descendant-expected.txt: Copied from LayoutTests/css3/filters/filtered-compositing-descendant-expected.txt.

Create chromium-specific results since chromium does not yet support setContentsToBackgroundColor.

3:13 PM Changeset in webkit [137050] by commit-queue@webkit.org
  • 4 edits in trunk

[EFL] Enable WebGL by default.
https://bugs.webkit.org/show_bug.cgi?id=102991.

Patch by Kondapally Kalyan <kalyan.kondapally@intel.com> on 2012-12-08
Reviewed by Kenneth Rohde Christiansen.

Tools:

Enable WebGL by default.

  • Scripts/webkitperl/FeatureList.pm:

LayoutTests:

Update TestExpectations file to enable WebGL tests.

  • platform/efl/TestExpectations:
3:07 PM Changeset in webkit [137049] by zhajiang@rim.com
  • 3 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Google results page rendering issue with RTL languages like arabic/hebrew
https://bugs.webkit.org/show_bug.cgi?id=104451

Patch by Jacky Jiang <zhajiang@rim.com>.
Reviewed by Rob Buis.

PR: 206372
On Google results page, we layout the contents at the width of 833.
However, "appbar" and "top_nav" elements which have width 980 cause
overflow during the last layout and make the contents width larger.
The other renderers still stay at the old width unfortunately which
results in blank areas on the left side of the Google results RTL page.
Give it a chance to request another layout if overflow exceeds the
contents size and the page doesn't have virtual viewport, as this
layout will pick up the absolute visible overflow width within
DEFAULT_MAX_LAYOUT_WIDTH and update the other renderers.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::overflowExceedsContentsSize):
(WebKit):

  • Api/WebPage_p.h:

(WebPagePrivate):

1:47 PM Changeset in webkit [137048] by Patrick Gansterer
  • 7 edits in trunk/Source/WebCore

Build fix for WinCE after r137011.

  • platform/graphics/GraphicsContext.h:
  • platform/graphics/wince/GraphicsContextWinCE.cpp:

(WebCore::GraphicsContext::setPlatformCompositeOperation):
(WebCore::GraphicsContext::drawBitmap):

  • platform/graphics/wince/ImageBufferWinCE.cpp:

(WebCore::BufferedImage::draw):
(WebCore::ImageBuffer::draw):

  • platform/graphics/wince/ImageWinCE.cpp:

(WebCore::BitmapImage::getHBITMAPOfSize):
(WebCore::BitmapImage::drawFrameMatchingSourceSize):
(WebCore::BitmapImage::draw):

  • platform/graphics/wince/SharedBitmap.cpp:

(WebCore::SharedBitmap::draw):

  • platform/graphics/wince/SharedBitmap.h:
1:19 PM Changeset in webkit [137047] by gavinp@chromium.org
  • 1 edit in trunk/Source/WebCore/loader/LinkLoader.cpp

Unreviewed. Fix build after r137045 for !ENABLE(LINK_PRERENDER) platforms.

A new guard was needed.

I am sorry.

12:34 PM Changeset in webkit [137046] by mifenton@rim.com
  • 4 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Enforce selection of last work when triggering caret based selection
https://bugs.webkit.org/show_bug.cgi?id=104447

Reviewed by Rob Buis.

PR 249225.

When the selection has reached the end of an input field,
ensure the last word is selected by adjusting the caret.

Reviewed Internally by Gen Mak.

  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::InputHandler::isCaretAtEndOfText):
(WebKit):

  • WebKitSupport/InputHandler.h:

(InputHandler):

  • WebKitSupport/SelectionHandler.cpp:

(BlackBerry::WebKit::SelectionHandler::selectObject):

12:03 PM Changeset in webkit [137045] by gavinp@chromium.org
  • 26 edits
    1 copy
    4 adds in trunk/Source

Add status events on <link rel=prerender> elements.
https://bugs.webkit.org/show_bug.cgi?id=96474

Reviewed by Adam Barth.

The new PrerenderStatusEvent is sent to link elements when
prerenders are started by the embedder, and also sent when they
are stopped. Pages using this feature can now serialize launching
prerenders, and track timing performance.

Source/Platform:

  • chromium/public/WebPrerender.h:

(WebKit::WebPrerender::WebPrerender):
(WebKit::WebPrerender::operator=):
(WebPrerender):

Source/WebCore:

Tested in a new WebKitUnitTest for the chromium port.

  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/EventNames.h:

(WebCore):

  • html/HTMLLinkElement.cpp:

(WebCore):
(WebCore::HTMLLinkElement::didStartLinkPrerender):
(WebCore::HTMLLinkElement::didStopLinkPrerender):
(WebCore::HTMLLinkElement::didSendLoadForLinkPrerender):
(WebCore::HTMLLinkElement::didSendDOMContentLoadedForLinkPrerender):

  • html/HTMLLinkElement.h:

(HTMLLinkElement):

  • loader/LinkLoader.cpp:

(WebCore::LinkLoader::didStartPrerender):
(WebCore):
(WebCore::LinkLoader::didStopPrerender):
(WebCore::LinkLoader::didSendLoadForPrerender):
(WebCore::LinkLoader::didSendDOMContentLoadedForPrerender):
(WebCore::LinkLoader::loadLink):

  • loader/LinkLoader.h:

(LinkLoader):

  • loader/LinkLoaderClient.h:

(LinkLoaderClient):

  • loader/Prerenderer.cpp:

(WebCore::Prerenderer::render):

  • loader/Prerenderer.h:

(WebCore):
(Prerenderer):

  • platform/PrerenderClient.h: Copied from Source/WebCore/loader/LinkLoaderClient.h.

(WebCore):
(PrerenderClient):
(WebCore::PrerenderClient::~PrerenderClient):

  • platform/PrerenderHandle.h:

(WebCore):
(PrerenderHandle):

  • platform/chromium/Prerender.cpp:

(WebCore::Prerender::Prerender):
(WebCore::Prerender::removeClient):
(WebCore):
(WebCore::Prerender::add):
(WebCore::Prerender::cancel):
(WebCore::Prerender::abandon):
(WebCore::Prerender::didStartPrerender):
(WebCore::Prerender::didStopPrerender):
(WebCore::Prerender::didSendLoadForPrerender):
(WebCore::Prerender::didSendDOMContentLoadedForPrerender):

  • platform/chromium/Prerender.h:

(WebKit):
(WebCore):
(Prerender):

  • platform/chromium/PrerenderHandle.cpp:

(WebCore::PrerenderHandle::create):
(WebCore::PrerenderHandle::PrerenderHandle):
(WebCore::PrerenderHandle::~PrerenderHandle):
(WebCore::PrerenderHandle::removeClient):
(WebCore):

  • platform/chromium/support/WebPrerender.cpp:

(WebKit::WebPrerender::toPrerender):
(WebKit):
(WebKit::WebPrerender::assign):
(WebKit::WebPrerender::isNull):
(WebKit::WebPrerender::didStartPrerender):
(WebKit::WebPrerender::didStopPrerender):
(WebKit::WebPrerender::didSendLoadForPrerender):
(WebKit::WebPrerender::didSendDOMContentLoadedForPrerender):

Source/WebKit/chromium:

  • WebKit.gyp:
  • WebKit.gypi:
  • tests/FrameTestHelpers.cpp:

(WebKit::FrameTestHelpers::createWebView):
(FrameTestHelpers):
(WebKit::FrameTestHelpers::createWebViewAndLoad):

  • tests/FrameTestHelpers.h:

(FrameTestHelpers):

  • tests/PrerenderingTest.cpp: Added.
  • tests/data/prerender/multiple_prerenders.html: Added.
  • tests/data/prerender/single_prerender.html: Added.
11:42 AM Changeset in webkit [137044] by kov@webkit.org
  • 2 edits in trunk/Source/WebCore

Reviewed by Martin Robinson.

Update the Chromium/Chrome version we advertise in our User-Agent
string to version 25, to better match our current reality.

  • platform/gtk/UserAgentGtk.cpp:

(WebCore::standardUserAgent):

11:18 AM Changeset in webkit [137043] by kov@webkit.org
  • 1 edit in releases/WebKitGTK/webkit-1.10/Source/WebKit/gtk/webkit/webkitwebsettings.cpp

Update the Chromium version we expose in our User-Agent to match the stable one used when we branched

11:18 AM Changeset in webkit [137042] by kov@webkit.org
  • 3 edits
    3 adds in releases/WebKitGTK/webkit-1.10

Merge 133155 - SVG as an image may recreate the renderer on zoom
https://bugs.webkit.org/show_bug.cgi?id=99508

Reviewed by Abhishek Arya.

Source/WebCore:

The SVGImage code, when SVG is used in <img> tags, caches the renderer
at the start of the painting method and re-uses the pointer at the end
of the method. However, when the page is zoomed the renderer may be
detached mid-method, thus leaving a stray pointer. The fix is to
re-fetch the pointer after the zooms.

Test: svg/as-image/img-zoom-svg-stylesheet.html

  • svg/graphics/SVGImage.cpp:

(WebCore::SVGImage::drawSVGToImageBuffer): Re-fetch the renderer after
the zoom operations.

LayoutTests:

Test and ref-test-result for zooming of SVG content when loaded as-image, and the svg is actually a css file.

  • svg/as-image/img-zoom-svg-stylesheet-expected.html: Added.
  • svg/as-image/img-zoom-svg-stylesheet.html: Added.
  • svg/as-image/resources/svg-stylesheet-for-zoom.svg: Added.
10:27 AM Changeset in webkit [137041] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Remove about:credits
https://bugs.webkit.org/show_bug.cgi?id=104399

Patch by Chris Hutten-Czapski <chutten@rim.com> on 2012-12-08
Reviewed by Rob Buis.

Just a simple removal.

  • WebKitSupport/AboutData.cpp:
10:10 AM Changeset in webkit [137040] by kov@webkit.org
  • 1 edit
    1 add in trunk/Source/WebKit/gtk/po

[as_IN] New translation for WebKitGTK+
https://bugs.webkit.org/show_bug.cgi?id=103419

Patch by Nilamdyuti Goswami <nilamdyuti@gmail.com> on 2012-12-08
Rubber-stamped by Gustavo Noronha.

  • as.po: Added.
9:59 AM Changeset in webkit [137039] by commit-queue@webkit.org
  • 90 edits
    58 deletes in trunk

Unreviewed, rolling out r137006.
http://trac.webkit.org/changeset/137006
https://bugs.webkit.org/show_bug.cgi?id=104446

Broke plugin painting on Mac (youtube, etc.) (Requested by
thorton_ on #webkit).

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

Source/WebCore:

  • platform/graphics/GraphicsLayer.h:

(GraphicsLayer):

  • rendering/RenderBox.h:
  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
(WebCore::clipBox):
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
(WebCore::RenderLayerBacking::updateDrawsContent):
(WebCore::RenderLayerBacking::updateBackgroundColor):
(WebCore::RenderLayerBacking::paintsBoxDecorations):
(WebCore::RenderLayerBacking::contentChanged):
(WebCore::RenderLayerBacking::updateImageContents):
(WebCore::RenderLayerBacking::contentsBox):

  • rendering/RenderLayerBacking.h:

(RenderLayerBacking):

LayoutTests:

  • compositing/background-color/background-color-alpha-expected.html: Removed.
  • compositing/background-color/background-color-alpha.html: Removed.
  • compositing/background-color/background-color-change-to-text-expected.html: Removed.
  • compositing/background-color/background-color-change-to-text.html: Removed.
  • compositing/background-color/background-color-composite-expected.html: Removed.
  • compositing/background-color/background-color-composite.html: Removed.
  • compositing/background-color/background-color-container-expected.html: Removed.
  • compositing/background-color/background-color-container.html: Removed.
  • compositing/background-color/background-color-content-clip-expected.html: Removed.
  • compositing/background-color/background-color-content-clip.html: Removed.
  • compositing/background-color/background-color-padding-change-expected.html: Removed.
  • compositing/background-color/background-color-padding-change.html: Removed.
  • compositing/background-color/background-color-padding-clip-expected.html: Removed.
  • compositing/background-color/background-color-padding-clip.html: Removed.
  • compositing/background-color/background-color-simple-expected.html: Removed.
  • compositing/background-color/background-color-simple.html: Removed.
  • compositing/background-color/background-color-text-change-expected.html: Removed.
  • compositing/background-color/background-color-text-change.html: Removed.
  • compositing/background-color/background-color-text-clip-expected.html: Removed.
  • compositing/background-color/background-color-text-clip.html: Removed.
  • compositing/backing/no-backing-for-clip-expected.txt:
  • compositing/backing/no-backing-for-clip-overlap-expected.txt:
  • compositing/backing/no-backing-for-perspective-expected.txt:
  • compositing/columns/composited-in-paginated-expected.txt:
  • compositing/geometry/ancestor-overflow-change-expected.txt:
  • compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt:
  • compositing/geometry/bounds-ignores-hidden-dynamic-negzindex-expected.txt:
  • compositing/geometry/clip-expected.txt:
  • compositing/geometry/composited-in-columns-expected.txt:
  • compositing/geometry/flipped-writing-mode-expected.txt:
  • compositing/geometry/layer-due-to-layer-children-deep-switch-expected.txt:
  • compositing/geometry/limit-layer-bounds-fixed-positioned-expected.txt:
  • compositing/geometry/limit-layer-bounds-overflow-root-expected.txt:
  • compositing/geometry/limit-layer-bounds-positioned-expected.txt:
  • compositing/geometry/limit-layer-bounds-positioned-transition-expected.txt:
  • compositing/geometry/limit-layer-bounds-transformed-expected.txt:
  • compositing/geometry/limit-layer-bounds-transformed-overflow-expected.txt:
  • compositing/geometry/preserve-3d-switching-expected.txt:
  • compositing/iframes/become-composited-nested-iframes-expected.txt:
  • compositing/iframes/become-overlapped-iframe-expected.txt:
  • compositing/iframes/composited-parent-iframe-expected.txt:
  • compositing/iframes/connect-compositing-iframe-delayed-expected.txt:
  • compositing/iframes/connect-compositing-iframe-expected.txt:
  • compositing/iframes/connect-compositing-iframe2-expected.txt:
  • compositing/iframes/connect-compositing-iframe3-expected.txt:
  • compositing/iframes/enter-compositing-iframe-expected.txt:
  • compositing/iframes/iframe-resize-expected.txt:
  • compositing/iframes/invisible-nested-iframe-hide-expected.txt:
  • compositing/iframes/invisible-nested-iframe-show-expected.txt:
  • compositing/iframes/overlapped-iframe-expected.txt:
  • compositing/iframes/overlapped-iframe-iframe-expected.txt:
  • compositing/iframes/page-cache-layer-tree-expected.txt:
  • compositing/iframes/scrolling-iframe-expected.txt:
  • compositing/layer-creation/animation-overlap-with-children-expected.txt:
  • compositing/layer-creation/fixed-position-and-transform-expected.txt:
  • compositing/layer-creation/fixed-position-under-transform-expected.txt:
  • compositing/layer-creation/no-compositing-for-preserve-3d-expected.txt:
  • compositing/layer-creation/overflow-scroll-overlap-expected.txt:
  • compositing/layer-creation/overlap-animation-expected.txt:
  • compositing/layer-creation/overlap-child-layer-expected.txt:
  • compositing/layer-creation/overlap-clipping-expected.txt:
  • compositing/layer-creation/overlap-transformed-and-clipped-expected.txt:
  • compositing/layer-creation/overlap-transformed-layer-expected.txt:
  • compositing/layer-creation/overlap-transforms-expected.txt:
  • compositing/layer-creation/scroll-partial-update-expected.txt:
  • compositing/layer-creation/spanOverlapsCanvas-expected.txt:
  • compositing/layer-creation/stacking-context-overlap-expected.txt:
  • compositing/layer-creation/stacking-context-overlap-nested-expected.txt:
  • compositing/layer-creation/translatez-overlap-expected.txt:
  • compositing/overflow-trumps-transform-style-expected.txt:
  • compositing/overflow/clip-descendents-expected.txt:
  • compositing/overflow/content-gains-scrollbars-expected.txt:
  • compositing/overflow/overflow-scrollbar-layers-expected.txt:
  • compositing/overflow/resize-painting-expected.txt:
  • compositing/plugins/no-backing-store-expected.txt:
  • compositing/rtl/rtl-absolute-expected.txt:
  • compositing/rtl/rtl-absolute-overflow-expected.txt:
  • compositing/rtl/rtl-absolute-overflow-scrolled-expected.txt:
  • compositing/rtl/rtl-fixed-expected.txt:
  • compositing/rtl/rtl-fixed-overflow-expected.txt:
  • compositing/rtl/rtl-relative-expected.txt:
  • compositing/tiled-layers-hidpi-expected.txt:
  • compositing/visible-rect/2d-transformed-expected.txt:
  • compositing/visible-rect/3d-transform-style-expected.txt:
  • compositing/visible-rect/3d-transformed-expected.txt:
  • compositing/visible-rect/animated-expected.txt:
  • compositing/visible-rect/animated-from-none-expected.txt:
  • compositing/visible-rect/clipped-by-viewport-expected.txt:
  • compositing/visible-rect/clipped-visible-rect-expected.txt:
  • compositing/visible-rect/iframe-and-layers-expected.txt:
  • compositing/visible-rect/nested-transform-expected.txt:
  • compositing/visible-rect/scrolled-expected.txt:
  • css3/filters/filtered-compositing-descendant-expected.txt:
  • platform/chromium/compositing/backing/no-backing-for-clip-expected.txt: Removed.
  • platform/chromium/compositing/backing/no-backing-for-clip-overlap-expected.txt: Removed.
  • platform/chromium/compositing/backing/no-backing-for-perspective-expected.txt: Removed.
  • platform/chromium/compositing/columns/composited-in-paginated-expected.txt: Removed.
  • platform/chromium/compositing/geometry/ancestor-overflow-change-expected.txt: Removed.
  • platform/chromium/compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt: Removed.
  • platform/chromium/compositing/geometry/bounds-ignores-hidden-dynamic-negzindex-expected.txt: Removed.
  • platform/chromium/compositing/geometry/clip-expected.txt: Removed.
  • platform/chromium/compositing/geometry/composited-in-columns-expected.txt: Removed.
  • platform/chromium/compositing/geometry/flipped-writing-mode-expected.txt: Removed.
  • platform/chromium/compositing/geometry/layer-due-to-layer-children-deep-switch-expected.txt: Removed.
  • platform/chromium/compositing/geometry/limit-layer-bounds-overflow-root-expected.txt: Removed.
  • platform/chromium/compositing/geometry/limit-layer-bounds-positioned-expected.txt: Removed.
  • platform/chromium/compositing/geometry/limit-layer-bounds-positioned-transition-expected.txt: Removed.
  • platform/chromium/compositing/geometry/limit-layer-bounds-transformed-expected.txt: Removed.
  • platform/chromium/compositing/geometry/preserve-3d-switching-expected.txt: Removed.
  • platform/chromium/compositing/iframes/invisible-nested-iframe-hide-expected.txt: Removed.
  • platform/chromium/compositing/layer-creation/fixed-position-and-transform-expected.txt: Removed.
  • platform/chromium/compositing/layer-creation/fixed-position-under-transform-expected.txt: Removed.
  • platform/chromium/compositing/layer-creation/no-compositing-for-preserve-3d-expected.txt: Removed.
  • platform/chromium/compositing/layer-creation/overlap-animation-expected.txt: Removed.
  • platform/chromium/compositing/layer-creation/overlap-child-layer-expected.txt: Removed.
  • platform/chromium/compositing/layer-creation/overlap-clipping-expected.txt: Removed.
  • platform/chromium/compositing/layer-creation/overlap-transformed-and-clipped-expected.txt: Removed.
  • platform/chromium/compositing/layer-creation/overlap-transformed-layer-expected.txt: Removed.
  • platform/chromium/compositing/layer-creation/overlap-transforms-expected.txt: Removed.
  • platform/chromium/compositing/layer-creation/scroll-partial-update-expected.txt: Removed.
  • platform/chromium/compositing/layer-creation/stacking-context-overlap-expected.txt: Removed.
  • platform/chromium/compositing/layer-creation/stacking-context-overlap-nested-expected.txt: Removed.
  • platform/chromium/compositing/layer-creation/translatez-overlap-expected.txt: Removed.
  • platform/chromium/compositing/overflow-trumps-transform-style-expected.txt: Removed.
  • platform/chromium/compositing/overflow/content-gains-scrollbars-expected.txt:
  • platform/chromium/compositing/overflow/overflow-scrollbar-layers-expected.txt:
  • platform/chromium/compositing/overflow/resize-painting-expected.txt:
  • platform/chromium/compositing/rtl/rtl-absolute-expected.txt: Removed.
  • platform/chromium/compositing/rtl/rtl-absolute-overflow-expected.txt: Removed.
  • platform/chromium/compositing/rtl/rtl-absolute-overflow-scrolled-expected.txt: Removed.
  • platform/chromium/compositing/rtl/rtl-fixed-expected.txt: Removed.
  • platform/chromium/compositing/rtl/rtl-fixed-overflow-expected.txt: Removed.
  • platform/chromium/compositing/rtl/rtl-relative-expected.txt: Removed.
  • platform/chromium/css3/filters/filtered-compositing-descendant-expected.txt: Removed.
  • platform/mac/compositing/geometry/fixed-position-composited-switch-expected.txt:
  • platform/mac/compositing/iframes/resizer-expected.txt:
  • platform/mac/compositing/repaint/invalidations-on-composited-layers-expected.txt:
  • platform/mac/compositing/tiling/crash-reparent-tiled-layer-expected.txt:
  • platform/mac/compositing/tiling/huge-layer-add-remove-child-expected.txt:
  • platform/mac/compositing/tiling/huge-layer-with-layer-children-expected.txt:
  • platform/mac/compositing/tiling/huge-layer-with-layer-children-resize-expected.txt:
  • platform/mac/compositing/tiling/tile-cache-zoomed-expected.txt:
9:42 AM Changeset in webkit [137038] by kov@webkit.org
  • 5 edits
    2 adds in releases/WebKitGTK/webkit-1.10

Merge 132856 - feImage should not be allowed to self reference
https://bugs.webkit.org/show_bug.cgi?id=94652

Reviewed by Eric Seidel.

Source/WebCore:

Add cycle detection for SVG filter application, and also fix a problem
with graphics context restore when filters are applied. This also
converts the flags in FilterData to a state tracking system, as the
number of flags was getting messy and only one flag is valid at any given time.

Test: svg/filters/feImage-self-and-other-referencing.html

  • rendering/svg/RenderSVGResourceFilter.cpp: Convert to new FilterData

state management and enable cycle detection.
(WebCore):
(WebCore::RenderSVGResourceFilter::removeClientFromCache): Change isBuilt and markedForRemoval flags to state enums.
(WebCore::RenderSVGResourceFilter::applyResource): Change flags to state enums and detect cycles.
(WebCore::RenderSVGResourceFilter::postApplyResource): Change flags to state and add handling
for the various states.
(WebCore::RenderSVGResourceFilter::primitiveAttributeChanged): Change isBuilt flag to state enums.

  • rendering/svg/RenderSVGResourceFilter.h:

(WebCore::FilterData::FilterData):
(FilterData): Convert to a state tracking system.

  • rendering/svg/RenderSVGRoot.cpp:

(WebCore::RenderSVGRoot::paintReplaced): Add a block around the
SVGRenderingContext so that it applies the filter and reverts the
context before the calling method restores the context.

LayoutTests:

Additional test case for situations when the filter is applied to multiple objects that it also references.

  • svg/filters/feImage-self-and-other-referencing-expected.html: Added.
  • svg/filters/feImage-self-and-other-referencing.html: Added.

Conflicts:

Source/WebCore/rendering/svg/RenderSVGResourceFilter.cpp
Source/WebCore/rendering/svg/RenderSVGResourceFilter.h

9:41 AM Changeset in webkit [137037] by kov@webkit.org
  • 4 edits
    2 adds in releases/WebKitGTK/webkit-1.10

Merge 131488 - An feImage that tries to render itself should be stopped
https://bugs.webkit.org/show_bug.cgi?id=94652

Reviewed by Eric Seidel.

Source/WebCore:

An SVG feImage filter element will accept, as the src to render, an
SVG document that makes use of the feImage itself. This causes the
feImage to try to draw itself while already in the process of drawing
itself. Various problems arise from this. The invariant we wish to
maintain is that no element in the src tree of an feImage element
refers to that feImage.

This patch adds a flag to all FilterData objects that tracks whether or
not the filter is currently applying itself, and avoids applying the
filter recursively.

While it may seem better to catch this problem when the src is set, or
when the filter is built, that turns out to be challenging and
inefficient. Say we choose to test when the src atttribute is set. To
do so would require looking through all of the DOM nodes that will be
rendered for the src, finding all resources used, and checking if any
of them make use fo the feImage element that we are setting the source
for. The infrastructure is not in place to do that, and it would
involve walking a potentially very large portion of the DOM in order
to detect a very rare situation. Note that it is not enough just to
walk the DOM directly under the src; we also need to recursively follow any
resource links to see if they use the feImage (e.g. patterns or
masks or use or ...).

If we instead try to use the renderer node to find self referencing,
we need to recursively walk a potentially very large render tree,
tracing all resources in search of the feImage. This would need to be
done every time the filter is built, which is again a significant
overhead for a situation that is very unlikely to occur. And we do not
have methods that make it easy to find feImage filter effect nodes; they are
hidden behind filter resource nodes.

Hence the runtime check to catch the problem. The check must be in
FilterData and RenderSVGResourceFilter code because we must prevent
the destruction of the feImage when we encounter it recursively.

This patch also renames FilterData::builded to FilterData::isBuilt.

Test: svg/filters/feImage-self-referencing.html

  • rendering/svg/RenderSVGResourceFilter.cpp:

(WebCore::ApplyingFilterEffectGuard): Guard to ensure that, in the future, we always
clear the isApplying flag even if the postApplyResource method returns early.
(WebCore::RenderSVGResourceFilter::applyResource): Do not apply a resource that is already applying and
rename builded to isBuilt.
(WebCore::RenderSVGResourceFilter::postApplyResource): Mark a resource as applying and clear after
it is done. Abort if a resource is already applying when the method begins. Rename builded to isBuilt.
(WebCore::RenderSVGResourceFilter::primitiveAttributeChanged): Rename builded to isBuilt.

  • rendering/svg/RenderSVGResourceFilter.h:

(WebCore::FilterData::FilterData):
(FilterData): Add isApplying and rename builded to isBuilt.

LayoutTests:

Ref-test to verify that an feImage that tries to draw itself will not
crash. This test must be render in order to verify the result. Do not
convert to dumpAstext.

  • svg/filters/feImage-self-referencing-expected.html: Added.
  • svg/filters/feImage-self-referencing.html: Added.

Conflicts:

Source/WebCore/rendering/svg/RenderSVGResourceFilter.cpp

9:30 AM Changeset in webkit [137036] by kov@webkit.org
  • 2 edits in releases/WebKitGTK/webkit-1.10/Source/WebKit2

Merge 137033 - Unreviewed. Make building the WebKit2 GIR file conditional on building the WebKit2 library.

  • GNUmakefile.am:
9:16 AM Changeset in webkit [137035] by commit-queue@webkit.org
  • 10 edits
    2 adds in trunk

[EFL][WK2] Add Remote Web Inspector
https://bugs.webkit.org/show_bug.cgi?id=98705

Patch by Seokju Kwon <Seokju Kwon> on 2012-12-08
Reviewed by Gyuyoung Kim.

.:

Prepare inspectorPageIndex.html for remote web inspector.

  • Source/PlatformEfl.cmake:

Source/WebKit2:

Add Remote Web Inspector to EFL port.
The WebInspectorSever will be started during WebKit context initialization.
The IP address and port number for the server can be set in WEBKIT_INSPECTOR_SERVER.

  • CMakeLists.txt:
  • PlatformEfl.cmake:
  • UIProcess/InspectorServer/WebInspectorServer.h:

(WebInspectorServer):

  • UIProcess/InspectorServer/WebSocketServer.h:

(WebSocketServer):

  • UIProcess/InspectorServer/efl/WebInspectorServerEfl.cpp: Added.

(WebKit):
(WebKit::inspectorResourcePath):
(WebKit::WebInspectorServer::platformResourceForPath):
(WebKit::WebInspectorServer::buildPageList):

  • UIProcess/InspectorServer/soup/WebSocketServerSoup.cpp:

(WebKit::connectionCallback):

  • UIProcess/efl/WebContextEfl.cpp:

(WebKit::initializeInspectorServer):
(WebKit):
(WebKit::WebContext::platformInitializeWebProcess):

  • config.h:
9:13 AM Changeset in webkit [137034] by kov@webkit.org
  • 1 edit
    1 add in trunk/Source/WebKit/gtk/po

Merge Hindi translation of webkit
https://bugs.webkit.org/show_bug.cgi?id=97410

Patch by Rajesh Ranjan <rajeshkajha@yahoo.com> on 2012-12-08
Rubber-stamped by Gustavo Noronha.

  • hi.po: Added.
8:41 AM Changeset in webkit [137033] by kov@webkit.org
  • 2 edits in trunk/Source/WebKit2

Unreviewed. Make building the WebKit2 GIR file conditional on building the WebKit2 library.

  • GNUmakefile.am:
8:08 AM Changeset in webkit [137032] by kov@webkit.org
  • 2 edits in trunk/Source/WTF

Unreviewed trivial space fix to silence an automake warning.

  • GNUmakefile.list.am:
8:01 AM Changeset in webkit [137031] by rwlbuis@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Remove no-op line in WebPage.cpp
https://bugs.webkit.org/show_bug.cgi?id=104385

Reviewed by Antonio Gomes.

Remove self-assignment no-op line. Must have been left when I removed the
mapFromTransformed part.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPage::touchPointAsMouseEvent):

7:52 AM Changeset in webkit [137030] by senorblanco@chromium.org
  • 2 edits in trunk/LayoutTests

[Chromium] Unreviewed gardening.

  • platform/chromium/TestExpectations:
6:41 AM Changeset in webkit [137029] by senorblanco@chromium.org
  • 2 edits in trunk/LayoutTests

[Chromium] Unreviewed gardening.

  • platform/chromium/TestExpectations:
5:48 AM Changeset in webkit [137028] by james.wei@intel.com
  • 2 edits in trunk/Source/WebCore

Remove incorrect ASSERT for m_error in CachedResource
https://bugs.webkit.org/show_bug.cgi?id=104333

Reviewed by Nate Chapin.

This assertion was brought in https://bugs.webkit.org/show_bug.cgi?id=100901
When the request is canceled, m_error.isNull() should be true.

run webkit_unit_tests Debug build.

  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::stopLoading):

3:05 AM Changeset in webkit [137027] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Qt Linux Minimal build fix after r136975.

  • dom/ElementRareData.h:

(ElementRareData):

2:52 AM Changeset in webkit [137026] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Qt Linux Minimal build fix attempt after r136959.

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::layerTreeDidChange):
(WebCore::InspectorInstrumentation::renderLayerDestroyed):

2:44 AM Changeset in webkit [137025] by xan@webkit.org
  • 2 edits in trunk/Source/WebCore

Build fix after r137003. Wrap Microdata only sections with ENABLE(MICRODATA).

  • dom/NodeRareData.h:

(NodeRareData):

2:37 AM Changeset in webkit [137024] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Build fix after r137003. Wrap NodeMutationObserverData with ENABLE(MUTATION_OBSERVERS).

  • dom/NodeRareData.h:

(NodeRareData):

2:22 AM Changeset in webkit [137023] by commit-queue@webkit.org
  • 11 edits in trunk/Source

Remove unused headers
https://bugs.webkit.org/show_bug.cgi?id=104428

Patch by Seokju Kwon <Seokju Kwon> on 2012-12-08
Reviewed by Kentaro Hara.

Header inclusion cleanup.
Remove <WebCore/NotImplement.h>.

Source/WebKit/win:

  • WebCoreSupport/WebInspectorClient.cpp:
  • WebMutableURLRequest.cpp:

Source/WebKit2:

  • Platform/qt/WorkQueueQt.cpp:
  • Platform/win/WorkQueueWin.cpp:
  • Shared/qt/ShareableBitmapQt.cpp:
  • UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
  • UIProcess/win/TextCheckerWin.cpp:
  • UIProcess/win/WebContextMenuProxyWin.cpp:
  • WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp:
2:01 AM Changeset in webkit [137022] by Patrick Gansterer
  • 2 edits in trunk/Source/WebCore

Build fix for ENABLE(SVG) && !ENABLE(FILTERS) after r136975.

  • rendering/svg/SVGResources.cpp:

(WebCore::SVGResources::buildCachedResources):

1:33 AM WebKitGTK edited by Simon Pena
Updated reference to IRC channel (diff)
1:22 AM Changeset in webkit [137021] by adamk@chromium.org
  • 3 edits
    2 adds in trunk

HTMLTemplateElement.innerHTML should be parsed into the template contents owner document
https://bugs.webkit.org/show_bug.cgi?id=104407

Reviewed by Eric Seidel.

Source/WebCore:

When parsing via innerHTML, ensure that all operations (including the
initial fragment creation) occur in the proper document to avoid,
e.g., images loading while being parsed into the template contents.
This matches the parsing behavior during page load.

Test: fast/dom/HTMLTemplateElement/innerHTML-inert.html

  • editing/markup.cpp:

(WebCore::createFragmentForInnerOuterHTML):

LayoutTests:

  • fast/dom/HTMLTemplateElement/innerHTML-inert-expected.txt: Added.
  • fast/dom/HTMLTemplateElement/innerHTML-inert.html: Added.
12:36 AM Changeset in webkit [137020] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Assertion failed at WebCore::RedirectedXCompositeWindow::context()
https://bugs.webkit.org/show_bug.cgi?id=104349

Patch by ChangSeok Oh <ChangSeok Oh> on 2012-12-08
Reviewed by Martin Robinson.

We should return GLContext if m_needsContext is CreateGLContext. By the way
CreateGLContext is a enum value and its default value is 0. So checking
ASSERT(m_needsContext) causes a crash on debug build.
ASSERT(m_needsContext == CreateGLContext) is better here.

No new tests since we can verify this with already existing AC tests.

  • platform/gtk/RedirectedXCompositeWindow.cpp:

(WebCore::RedirectedXCompositeWindow::context):

Dec 7, 2012:

10:51 PM Changeset in webkit [137019] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[EFL][WK2] Remove unused source file from PlatformEfl.cmake
https://bugs.webkit.org/show_bug.cgi?id=104430

Patch by Jinwoo Song <jinwoo7.song@samsung.com> on 2012-12-07
Reviewed by Kentaro Hara.

Shared/API/c/gtk/WKGraphicsContextGtk.cpp is not used for building WebKit2/EFL.

  • PlatformEfl.cmake:
9:39 PM Changeset in webkit [137018] by senorblanco@chromium.org
  • 1 edit
    1 add in trunk/LayoutTests

[Chromium] Unreviewed gardening.

  • platform/chromium-win-xp/fast/text/hyphenate-character-expected.txt: Added.
9:35 PM Changeset in webkit [137017] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Add missing forward declaration for JSC::ArrayAllocationProfile
https://bugs.webkit.org/show_bug.cgi?id=104425

Patch by Jonathan Liu <net147@gmail.com> on 2012-12-07
Reviewed by Kentaro Hara.

The header for the JSC::ArrayConstructor class is missing a forward
declaration for the JSC::ArrayAllocationProfile class which causes
compilation to fail when compiling with MinGW-w64.

  • runtime/ArrayConstructor.h:

(JSC):

9:17 PM Changeset in webkit [137016] by senorblanco@chromium.org
  • 1 edit
    1 move
    3 deletes in trunk/LayoutTests

[Chromium] Unreviewed gardening.

  • platform/chromium-mac-lion/css3/flexbox/repaint-column-reverse-expected.png: Removed.
  • platform/chromium-mac-snowleopard/css3/flexbox/repaint-column-reverse-expected.png: Removed.
  • platform/chromium-win-xp/css3/flexbox/repaint-column-reverse-expected.png: Removed.
  • platform/chromium-win/css3/flexbox/repaint-column-reverse-expected.png: Renamed from LayoutTests/platform/chromium-linux/css3/flexbox/repaint-column-reverse-expected.png.
9:15 PM Changeset in webkit [137015] by senorblanco@chromium.org
  • 1 edit
    4 adds in trunk/LayoutTests

[Chromium] Unreviewed gardening.

  • platform/chromium-mac/compositing/background-color/background-color-change-to-text-expected.png: Added.
  • platform/chromium-mac/platform/chromium/virtual/softwarecompositing/background-color/background-color-change-to-text-expected.png: Added.
8:58 PM Changeset in webkit [137014] by senorblanco@chromium.org
  • 2 edits
    2 deletes in trunk/LayoutTests

[Chromium] Unreviewed gardening. Remove some incorrect baselines.

  • platform/chromium-linux/compositing/backface-visibility/backface-visibility-webgl-expected.png: Removed.
  • platform/chromium-mac/compositing/backface-visibility/backface-visibility-webgl-expected.png: Removed.
  • platform/chromium/TestExpectations:
8:24 PM Changeset in webkit [137013] by senorblanco@chromium.org
  • 1 edit
    3 adds in trunk/LayoutTests

[Chromium] Unreviewed gardening.

  • platform/chromium-mac-lion/css3/flexbox/repaint-column-reverse-expected.png: Added.
  • platform/chromium-mac-snowleopard/css3/flexbox/repaint-column-reverse-expected.png: Added.
  • platform/chromium-mac/css3/flexbox/repaint-column-reverse-expected.png: Added.
8:14 PM Changeset in webkit [137012] by senorblanco@chromium.org
  • 1 edit
    10 adds in trunk/LayoutTests

[Chromium] Unreviewed gardening.

  • platform/chromium-linux/fast/text/hyphenate-character-expected.png: Added.
  • platform/chromium-linux/fast/text/hyphenate-character-expected.txt: Added.
  • platform/chromium-linux/fast/text/hyphenate-first-word-expected.png: Added.
  • platform/chromium-linux/fast/text/hyphenate-limit-before-after-expected.png: Added.
  • platform/chromium-linux/fast/text/hyphenate-limit-lines-expected.png: Added.
  • platform/chromium-linux/fast/text/hyphenate-locale-expected.png: Added.
  • platform/chromium-linux/fast/text/hyphens-expected.png: Added.
  • platform/chromium-linux/fast/text/international/hindi-whitespace-expected.png: Added.
  • platform/chromium-linux/fast/text/international/hindi-whitespace-expected.txt: Added.
  • platform/chromium-mac-lion/fast/text/hyphenate-limit-before-after-expected.png: Added.
8:03 PM Changeset in webkit [137011] by commit-queue@webkit.org
  • 38 edits in trunk/Source

Extend platform layer so it can pass blend modes to the compositing calls
https://bugs.webkit.org/show_bug.cgi?id=104176

Patch by Rik Cabanier <cabanier@adobe.com> on 2012-12-07
Reviewed by Dirk Schulze.

Source/WebCore:

Adding blend mode enumeration to drawImage functions + stored blendmode in graphics context

No new tests, no new functionality.

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::paint):

  • platform/graphics/BitmapImage.h:
  • platform/graphics/CrossfadeGeneratedImage.cpp:

(WebCore::CrossfadeGeneratedImage::draw):

  • platform/graphics/CrossfadeGeneratedImage.h:

(CrossfadeGeneratedImage):

  • platform/graphics/GeneratedImage.h:

(GeneratedImage):

  • platform/graphics/GeneratorGeneratedImage.cpp:

(WebCore::GeneratorGeneratedImage::draw):

  • platform/graphics/GeneratorGeneratedImage.h:

(GeneratorGeneratedImage):

  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContext::drawImage):
(WebCore):
(WebCore::GraphicsContext::drawImageBuffer):
(WebCore::GraphicsContext::setCompositeOperation):

  • platform/graphics/GraphicsContext.h:

(WebCore::GraphicsContextState::GraphicsContextState):
(GraphicsContextState):
(GraphicsContext):

  • platform/graphics/Image.cpp:

(WebCore::Image::draw):
(WebCore::Image::drawTiled):

  • platform/graphics/Image.h:

(Image):

  • platform/graphics/ImageBuffer.h:

(ImageBuffer):

  • platform/graphics/cairo/BitmapImageCairo.cpp:

(WebCore::BitmapImage::draw):

  • platform/graphics/cairo/GraphicsContextCairo.cpp:

(WebCore::GraphicsContext::setPlatformCompositeOperation):

  • platform/graphics/cairo/ImageBufferCairo.cpp:

(WebCore::ImageBuffer::draw):

  • platform/graphics/cg/BitmapImageCG.cpp:

(WebCore::BitmapImage::draw):

  • platform/graphics/cg/GraphicsContextCG.cpp:

(WebCore::GraphicsContext::drawNativeImage):
(WebCore::GraphicsContext::setPlatformCompositeOperation):

  • platform/graphics/cg/ImageBufferCG.cpp:

(WebCore::ImageBuffer::draw):

  • platform/graphics/cg/PDFDocumentImage.cpp:

(WebCore::PDFDocumentImage::draw):

  • platform/graphics/cg/PDFDocumentImage.h:

(PDFDocumentImage):

  • platform/graphics/qt/GraphicsContextQt.cpp:

(WebCore::GraphicsContext::setPlatformCompositeOperation):

  • platform/graphics/qt/ImageBufferQt.cpp:

(WebCore::ImageBuffer::draw):

  • platform/graphics/qt/ImageQt.cpp:

(WebCore::BitmapImage::draw):

  • platform/graphics/qt/StillImageQt.cpp:

(WebCore::StillImage::draw):

  • platform/graphics/qt/StillImageQt.h:

(StillImage):

  • platform/graphics/skia/BitmapImageSingleFrameSkia.h:

(BitmapImageSingleFrameSkia):

  • platform/graphics/skia/GraphicsContextSkia.cpp:

(WebCore::GraphicsContext::setPlatformCompositeOperation):

  • platform/graphics/skia/ImageBufferSkia.cpp:

(WebCore::ImageBuffer::draw):

  • platform/graphics/skia/ImageSkia.cpp:

(WebCore::BitmapImage::draw):
(WebCore::BitmapImageSingleFrameSkia::draw):

  • platform/graphics/win/ImageCGWin.cpp:

(WebCore::BitmapImage::getHBITMAPOfSize):
(WebCore::BitmapImage::drawFrameMatchingSourceSize):

  • svg/graphics/SVGImage.cpp:

(WebCore::SVGImage::drawSVGToImageBuffer):
(WebCore::SVGImage::draw):
(WebCore::SVGImage::nativeImageForCurrentFrame):

  • svg/graphics/SVGImage.h:

(SVGImage):

Source/WebKit/chromium:

Adding blend mode enumeration to draw functions

  • tests/DragImageTest.cpp:

(WebCore::TestImage::draw):

  • tests/ImageLayerChromiumTest.cpp:

(WebCore::TestImage::draw):

7:54 PM Changeset in webkit [137010] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Add missing const qualifier to JSC::CodeBlock::getJITType()
https://bugs.webkit.org/show_bug.cgi?id=104424

Patch by Jonathan Liu <net147@gmail.com> on 2012-12-07
Reviewed by Laszlo Gombos.

JSC::CodeBlock::getJITType() has the const qualifier when JIT is
enabled but is missing the const qualifier when JIT is disabled.

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::getJITType):

7:14 PM Changeset in webkit [137009] by senorblanco@chromium.org
  • 12 edits
    3 copies
    9 moves
    32 adds
    9 deletes in trunk/LayoutTests

[Chromium] Unreviewed gardening.

  • platform/chromium-linux/svg/custom/transform-with-shadow-and-gradient-expected.png: Removed.
  • platform/chromium-mac-lion/fast/text/hyphenate-character-expected.png: Added.
  • platform/chromium-mac-lion/fast/text/hyphenate-character-expected.txt: Added.
  • platform/chromium-mac-lion/fast/text/hyphenate-first-word-expected.png: Added.
  • platform/chromium-mac-lion/fast/text/hyphenate-first-word-expected.txt: Added.
  • platform/chromium-mac-lion/fast/text/hyphenate-limit-before-after-expected.txt: Copied from LayoutTests/platform/chromium-mac-snowleopard/fast/text/hyphenate-limit-before-after-expected.txt.
  • platform/chromium-mac-lion/fast/text/hyphenate-limit-lines-expected.png: Added.
  • platform/chromium-mac-lion/fast/text/hyphenate-limit-lines-expected.txt: Added.
  • platform/chromium-mac-lion/fast/text/hyphenate-locale-expected.png: Added.
  • platform/chromium-mac-lion/fast/text/hyphens-expected.png: Added.
  • platform/chromium-mac-lion/fast/text/hyphens-expected.txt: Added.
  • platform/chromium-mac-snowleopard/fast/text/hyphenate-character-expected.png:
  • platform/chromium-mac-snowleopard/fast/text/hyphenate-character-expected.txt: Added.
  • platform/chromium-mac-snowleopard/fast/text/hyphenate-first-word-expected.txt: Added.
  • platform/chromium-mac-snowleopard/fast/text/hyphenate-limit-before-after-expected.png: Added.
  • platform/chromium-mac-snowleopard/fast/text/hyphenate-limit-before-after-expected.txt:
  • platform/chromium-mac-snowleopard/fast/text/hyphenate-limit-lines-expected.png:
  • platform/chromium-mac-snowleopard/fast/text/hyphenate-limit-lines-expected.txt:
  • platform/chromium-mac-snowleopard/fast/text/hyphenate-locale-expected.png: Added.
  • platform/chromium-mac-snowleopard/fast/text/hyphens-expected.png:
  • platform/chromium-mac-snowleopard/fast/text/hyphens-expected.txt: Added.
  • platform/chromium-mac/fast/text/hyphenate-character-expected.png:
  • platform/chromium-mac/fast/text/hyphenate-character-expected.txt: Added.
  • platform/chromium-mac/fast/text/hyphenate-first-word-expected.png: Added.
  • platform/chromium-mac/fast/text/hyphenate-first-word-expected.txt: Added.
  • platform/chromium-mac/fast/text/hyphenate-limit-before-after-expected.png:
  • platform/chromium-mac/fast/text/hyphenate-limit-before-after-expected.txt: Copied from LayoutTests/platform/chromium-mac-snowleopard/fast/text/hyphenate-limit-before-after-expected.txt.
  • platform/chromium-mac/fast/text/hyphenate-limit-lines-expected.png: Added.
  • platform/chromium-mac/fast/text/hyphenate-limit-lines-expected.txt: Added.
  • platform/chromium-mac/fast/text/hyphenate-locale-expected.png: Added.
  • platform/chromium-mac/fast/text/hyphenate-locale-expected.txt: Renamed from LayoutTests/platform/chromium-mac-snowleopard/fast/text/hyphenate-locale-expected.txt.
  • platform/chromium-mac/fast/text/hyphens-expected.png:
  • platform/chromium-mac/fast/text/hyphens-expected.txt: Added.
  • platform/chromium-mac/svg/custom/transform-with-shadow-and-gradient-expected.png: Removed.
  • platform/chromium-win-xp/fast/text/hyphenate-character-expected.png: Added.
  • platform/chromium-win-xp/fast/text/hyphens-expected.png: Added.
  • platform/chromium-win-xp/fast/text/international/hindi-whitespace-expected.png: Added.
  • platform/chromium-win-xp/fast/text/international/hindi-whitespace-expected.txt: Copied from LayoutTests/platform/chromium-win/fast/text/international/hindi-whitespace-expected.txt.
  • platform/chromium-win/fast/text/hyphenate-character-expected.png: Added.
  • platform/chromium-win/fast/text/hyphenate-character-expected.txt: Added.
  • platform/chromium-win/fast/text/hyphenate-first-word-expected.png: Added.
  • platform/chromium-win/fast/text/hyphenate-limit-before-after-expected.png: Added.
  • platform/chromium-win/fast/text/hyphenate-limit-lines-expected.png: Added.
  • platform/chromium-win/fast/text/hyphenate-locale-expected.png: Added.
  • platform/chromium-win/fast/text/hyphenate-locale-expected.txt: Renamed from LayoutTests/platform/chromium/fast/text/hyphenate-locale-expected.txt.
  • platform/chromium-win/fast/text/hyphens-expected.png: Added.
  • platform/chromium-win/fast/text/international/hindi-whitespace-expected.png:
  • platform/chromium-win/fast/text/international/hindi-whitespace-expected.txt:
  • platform/chromium-win/svg/custom/transform-with-shadow-and-gradient-expected.png: Removed.
  • platform/chromium/TestExpectations:
  • platform/chromium/fast/text/hyphenate-character-expected.png: Removed.
  • platform/chromium/fast/text/hyphenate-first-word-expected.png: Removed.
  • platform/chromium/fast/text/hyphenate-limit-before-after-expected.png: Removed.
  • platform/chromium/fast/text/hyphenate-limit-lines-expected.png: Removed.
  • platform/chromium/fast/text/hyphenate-locale-expected.png: Removed.
  • platform/chromium/fast/text/hyphens-expected.png: Removed.
  • platform/chromium/svg/custom/transform-with-shadow-and-gradient-expected.png: Added.
  • platform/efl-wk1/fast/text/hyphenate-character-expected.png: Renamed from LayoutTests/platform/efl/fast/text/hyphenate-character-expected.png.
  • platform/efl-wk1/fast/text/hyphenate-first-word-expected.png: Renamed from LayoutTests/platform/efl/fast/text/hyphenate-first-word-expected.png.
  • platform/efl-wk1/fast/text/hyphenate-limit-before-after-expected.png: Renamed from LayoutTests/platform/efl/fast/text/hyphenate-limit-before-after-expected.png.
  • platform/efl-wk1/fast/text/hyphenate-limit-lines-expected.png: Renamed from LayoutTests/platform/efl/fast/text/hyphenate-limit-lines-expected.png.
  • platform/efl-wk1/fast/text/hyphenate-locale-expected.png: Renamed from LayoutTests/platform/efl/fast/text/hyphenate-locale-expected.png.
  • platform/efl-wk1/fast/text/hyphenate-locale-expected.txt: Renamed from LayoutTests/platform/efl/fast/text/hyphenate-locale-expected.txt.
  • platform/efl-wk1/fast/text/hyphens-expected.png: Renamed from LayoutTests/platform/efl/fast/text/hyphens-expected.png.
7:00 PM Changeset in webkit [137008] by hclam@chromium.org
  • 12 edits in trunk/Source

[chromium] ImageDecodingStore should cache partially decoded images
https://bugs.webkit.org/show_bug.cgi?id=103796

Reviewed by Stephen White.

Source/WebCore:

Implement caching for incomplete images, meaning the image is partially
decoded. The image is cached together with partially decoded ImageDecoder.
This allows decoding to resume in a later time.

Caching logic for incomplete images is implemented in ImageDecodingStore.

Logic for resuming image decoding is implemented in ImageFrameGenerator.

ImageDecodingStore allows storing incomplete image with the decoder.
The cache entry can be used in a later time to read and write (i.e. resume
decoding.) To avoid the same entry being written and read at the same time,
an incomplete entry can be used by one user only. Concurrent access to
an incomplete entry should never happen and is checked by an assert.
An entry can becomes complete when decoding is finished. In this case
the associated decoder is deleted. Once an entry becomes complete concurrent
read is allowed.

ImageFrameGenerator performs the logic to resume image decoding. It
performs the following operations in sequence:

  • Try to lookup a complete image
  • Try to perform scaling on a complete image
  • Try to lookup an incomplete image and resume decoding & scaling
  • Everything fails, start decoding from scratch

The entire sequence of operations in under a mutex, hence there will be
no more than 1 user of an incomplete cache entry at the same time.

New unit tests in ImageDecodingStoreTest and ImageFrameGeneratorTest.

  • platform/graphics/chromium/ImageDecodingStore.cpp:

(WebCore::ImageDecodingStore::lockCache):
Change of method definition to return an image and ImageDecoder.
(WebCore::ImageDecodingStore::unlockCache):
(WebCore::ImageDecodingStore::insertAndLockCache):
(WebCore::ImageDecodingStore::overwriteAndLockCache):
New method to allow an incomplete cache entry be overwritten.
(WebCore):

  • platform/graphics/chromium/ImageDecodingStore.h:

(ImageDecodingStore):
(WebCore::ImageDecodingStore::CacheEntry::createAndUse):
(WebCore::ImageDecodingStore::CacheEntry::CacheEntry):
(WebCore::ImageDecodingStore::CacheEntry::cachedImage):
(WebCore::ImageDecodingStore::CacheEntry::cachedDecoder):
(WebCore::ImageDecodingStore::CacheEntry::releaseCachedDecoder):
(WebCore::ImageDecodingStore::CacheEntry::overwriteCachedImage):
New method to allow an incomplete image be overwitten.
(CacheEntry):

  • platform/graphics/chromium/ImageFrameGenerator.cpp:

(WebCore::ImageFrameGenerator::ImageFrameGenerator):
(WebCore::ImageFrameGenerator::decodeAndScale):
(WebCore::ImageFrameGenerator::tryToLockCompleteCache):
(WebCore::ImageFrameGenerator::tryToScale):
(WebCore::ImageFrameGenerator::tryToResumeDecodeAndScale):
New method to lookup an incomplete cache entry and resume decoding.
(WebCore):
(WebCore::ImageFrameGenerator::tryToDecodeAndScale):
(WebCore::ImageFrameGenerator::decoder):
New helper method to do decoding for a full sized image.
(WebCore::ImageFrameGenerator::prepareData):
New helper method to prepare data safely.

  • platform/graphics/chromium/ImageFrameGenerator.h:

(ImageFrameGenerator):

  • platform/graphics/chromium/LazyDecodingPixelRef.cpp:

(WebCore::LazyDecodingPixelRef::onLockPixels):

  • platform/graphics/chromium/ScaledImageFragment.h:

(WebCore::ScaledImageFragment::setIsComplete):

Source/WebKit/chromium:

Added unit tests to verify caching behavior for partially decoded images.
New tests added:

  • ImageDecodingStoreTest.insertIncompleteCache

Insert incomplete image with a decoder into cache.

  • ImageDecodingStoreTest.insertCompleteCacheWithDecoder

Insert complete image with a decoder, decoder is deleted.

  • ImageDecodingStoreTest.incompleteCacheBecomesComplete

Progressive downloading of a file. Image becomes complete, decoder deleted.

  • ImageFrameGeneratorTest.cacheMissWithIncompleteDecodeAndScale

Cache lookup failed and start a decoding that decoded an incomplete image.

ImageFrameGeneratorTest.incompleteDecodeBecomesComplete
Image decoded as incomplete, file fully downloaded and cache entry becomes complete.

ImageFrameGeneratorTest.incompleteDecodeAndScaleBecomesComplete
Image decoded and scaled as incomplete, becomes complete after file is fully dowloaded.

ImageFrameGeneratorTest.incompleteDecodeBecomesCompleteMultiThreaded
Transition from incomplete to complete, entire lifecycle happens on 2 threads.

  • tests/DeferredImageDecoderTest.cpp:

(WebCore::DeferredImageDecoderTest::SetUp):

  • tests/ImageDecodingStoreTest.cpp:

(WebCore::ImageDecodingStoreTest::SetUp):
(WebCore::ImageDecodingStoreTest::decoderBeingDestroyed):
(ImageDecodingStoreTest):
(WebCore::ImageDecodingStoreTest::frameBufferRequested):
(WebCore::ImageDecodingStoreTest::frameStatus):
(WebCore::ImageDecodingStoreTest::createIncompleteImage):
(WebCore::ImageDecodingStoreTest::lockCache):
(WebCore::TEST_F):
(WebCore):

  • tests/ImageFrameGeneratorTest.cpp:

(WebCore::ImageFrameGeneratorTest::SetUp):
(WebCore::ImageFrameGeneratorTest::decoderBeingDestroyed):
(ImageFrameGeneratorTest):
(WebCore::MockImageDecoderFactory::create):
(WebCore::TEST_F):
(WebCore):
(WebCore::decodeThreadMain):

  • tests/MockImageDecoder.h:

(WebCore::MockImageDecoder::create):
(MockImageDecoder):
(WebCore::MockImageDecoder::setSize):
(WebCore::MockImageDecoder::frameBufferAtIndex):

6:34 PM Changeset in webkit [137007] by alexis@webkit.org
  • 8 edits in trunk

Enable CSS3 position offset for CSS Masking.
https://bugs.webkit.org/show_bug.cgi?id=104252

Reviewed by Dirk Schulze.

Source/WebCore:

To follow CSS3 background-position, mask-position should also support
the new <position> type (http://dvcs.w3.org/hg/FXTF/raw-file/tip/masking/index.html#mask-property).
Now the code is shared between background and mask I renamed the
functions used to be more generic. Note that the feature flag is not
meant to stay and will be removed in a following commit.

No new tests : I modified LayoutTests/fast/masking/parsing-mask.html to
cover the new feature.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::createPositionListForLayer):

  • css/CSSParser.cpp:

(WebCore::isFillPositionKeyword):
(WebCore::CSSParser::parse4ValuesFillPosition):
(WebCore::CSSParser::parse3ValuesFillPosition):
(WebCore::CSSParser::isPotentialPositionValue):
(WebCore::CSSParser::parseFillPosition):
(WebCore::CSSParser::parse2ValuesFillPosition):
(WebCore::CSSParser::parseFillProperty):
(WebCore::CSSParser::parseTransformOriginShorthand):
(WebCore::CSSParser::parseRadialGradient):
(WebCore::CSSParser::parsePerspectiveOrigin):

  • css/CSSParser.h:
  • css/CSSToStyleMap.cpp:

(WebCore::CSSToStyleMap::mapFillXPosition):
(WebCore::CSSToStyleMap::mapFillYPosition):

LayoutTests:

Add coverage for the new cases. Both when setting the position with the
longhand or with the shorthand.

  • fast/masking/parsing-mask-expected.txt:
  • fast/masking/parsing-mask.html:
6:29 PM Changeset in webkit [137006] by commit-queue@webkit.org
  • 90 edits
    38 copies
    24 adds in trunk

Use background color for GraphicsLayers when applicable
https://bugs.webkit.org/show_bug.cgi?id=103786

Source/WebCore:

Updated RenderLayerBacking to call GraphicsLayer::setContentsToBackgroundColor when the following conditions take place:

  1. The layer doesn't paint its own content, other than background/decoration.
  2. There are no borders or other box decorations (border radius, borders, outline, shadow etc.)
  3. The image has only a background color, and no background image.
  4. background-composite is set to source-over, and background-clip is anything apart from text.
  5. The port supports setContentsToBackgroundColor.

This allows any implementation of GraphicsLayer that supports setContentsToBackgroundColor to avoid allocating a backing store
for that layer, but instead draw that solid color directly.
In addition to setting the background color, the layer's contentsRect needs to be adjusted, since the default contents rect of
a layer is not always equivalent to the rect where the background is supposed to be painted, which is derived from the box's
background-clip property.

Patch by No'am Rosenthal <Noam Rosenthal> on 2012-12-07
Reviewed by Simon Fraser.

Tests: compositing/background-color/background-color-alpha.html

compositing/background-color/background-color-change-to-text.html
compositing/background-color/background-color-composite.html
compositing/background-color/background-color-container.html
compositing/background-color/background-color-content-clip.html
compositing/background-color/background-color-padding-change.html
compositing/background-color/background-color-padding-clip.html
compositing/background-color/background-color-simple.html
compositing/background-color/background-color-text-change.html
compositing/background-color/background-color-text-clip.html

  • platform/graphics/GraphicsLayer.h:

(WebCore::GraphicsLayer::supportsBackgroundColorContent):

Allows different implementation of GraphicsLayer to identify whether they implement setContentsToBackgroundColor.
Currently only the MAC implementation and TextureMapper falls under that category.

  • rendering/RenderBox.h:

(WebCore::RenderBox::paddingBoxRect):

Added paddingBoxRect to compliment borderBoxRect and contentsBoxRect. paddingBoxRect corresponds to
background-clip: padding.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):

Update the background color if needed, for every configuration change.
This should accomodate the old behavior for full-screen, while enabling background color changes for other layers.

(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):

Move the contentsRect logic to updateContentsRect.

(WebCore::RenderLayerBacking::updateContentsRect):

Use the background box when directly compositing backgrounds.

(WebCore::RenderLayerBacking::updateBackgroundColor):

Set the background color if applicable, otherwise set to trasnparent and clear.
This was not needed in the past because background colors were only used for the special case of full-screen.

(WebCore::supportsDirectBoxDecorationsComposition):

Helper function to determine whether a particular background can be directly composited. Right now only
background color can be composited, and only if the GraphicsLayer implementation supports background colors.
Also we don't yet support background-clip: text and any background-composite other than source-over.

(WebCore::RenderLayerBacking::paintsBoxDecorations):

Apply the new supportsDirectBoxDecorationsComposition logic.

(WebCore::RenderLayerBacking::contentsBox):

Remove unnecessary local variable.

(WebCore::backgroundRectForBox):
(WebCore::RenderLayerBacking::backgroundBox):

Figure out the correct rect for the GraphicsLayer's contentsRect, based on the renderer's backgroundClip.
The rectangle has to be adjusted based on the composited layer offset, and snapped to an IntRect as
GraphicsLayer::contentsRect expects snapped pixels.

LayoutTests:

Created new tests for composited background colors, update existing tests that are affected by the change,
and created platform-specific overrides for Chromium, since it does not yet support composited background
colors.

Patch by No'am Rosenthal <Noam Rosenthal> on 2012-12-07
Reviewed by Simon Fraser.

  • compositing/background-color/background-color-alpha-expected.html: Added.
  • compositing/background-color/background-color-alpha.html: Added.
  • compositing/background-color/background-color-change-to-text-expected.html: Added.
  • compositing/background-color/background-color-change-to-text.html: Added.
  • compositing/background-color/background-color-composite-expected.html: Added.
  • compositing/background-color/background-color-composite.html: Added.
  • compositing/background-color/background-color-container-expected.html: Added.
  • compositing/background-color/background-color-container.html: Added.
  • compositing/background-color/background-color-content-clip-expected.html: Added.
  • compositing/background-color/background-color-content-clip.html: Added.
  • compositing/background-color/background-color-padding-change-expected.html: Added.
  • compositing/background-color/background-color-padding-change.html: Added.
  • compositing/background-color/background-color-padding-clip-expected.html: Added.
  • compositing/background-color/background-color-padding-clip.html: Added.
  • compositing/background-color/background-color-simple-expected.html: Added.
  • compositing/background-color/background-color-simple.html: Added.
  • compositing/background-color/background-color-text-change-expected.html: Added.
  • compositing/background-color/background-color-text-change.html: Added.
  • compositing/background-color/background-color-text-clip-expected.html: Added.
  • compositing/background-color/background-color-text-clip.html: Added.

Added new tests for the specific functionality added, with the edge cases regarding composited
backgrounds.

  • compositing/backing/no-backing-for-clip-expected.txt:
  • compositing/backing/no-backing-for-clip-overlap-expected.txt:
  • compositing/backing/no-backing-for-perspective-expected.txt:
  • compositing/columns/composited-in-paginated-expected.txt:
  • compositing/geometry/ancestor-overflow-change-expected.txt:
  • compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt:
  • compositing/geometry/bounds-ignores-hidden-dynamic-negzindex-expected.txt:
  • compositing/geometry/clip-expected.txt:
  • compositing/geometry/composited-in-columns-expected.txt:
  • compositing/geometry/flipped-writing-mode-expected.txt:
  • compositing/geometry/layer-due-to-layer-children-deep-switch-expected.txt:
  • compositing/geometry/limit-layer-bounds-fixed-positioned-expected.txt:
  • compositing/geometry/limit-layer-bounds-overflow-root-expected.txt:
  • compositing/geometry/limit-layer-bounds-positioned-expected.txt:
  • compositing/geometry/limit-layer-bounds-positioned-transition-expected.txt:
  • compositing/geometry/limit-layer-bounds-transformed-expected.txt:
  • compositing/geometry/limit-layer-bounds-transformed-overflow-expected.txt:
  • compositing/geometry/preserve-3d-switching-expected.txt:
  • compositing/iframes/become-composited-nested-iframes-expected.txt:
  • compositing/iframes/become-overlapped-iframe-expected.txt:
  • compositing/iframes/composited-parent-iframe-expected.txt:
  • compositing/iframes/connect-compositing-iframe-delayed-expected.txt:
  • compositing/iframes/connect-compositing-iframe-expected.txt:
  • compositing/iframes/connect-compositing-iframe2-expected.txt:
  • compositing/iframes/connect-compositing-iframe3-expected.txt:
  • compositing/iframes/enter-compositing-iframe-expected.txt:
  • compositing/iframes/iframe-resize-expected.txt:
  • compositing/iframes/invisible-nested-iframe-hide-expected.txt:
  • compositing/iframes/invisible-nested-iframe-show-expected.txt:
  • compositing/iframes/overlapped-iframe-expected.txt:
  • compositing/iframes/overlapped-iframe-iframe-expected.txt:
  • compositing/iframes/page-cache-layer-tree-expected.txt:
  • compositing/iframes/scrolling-iframe-expected.txt:
  • compositing/layer-creation/animation-overlap-with-children-expected.txt:
  • compositing/layer-creation/fixed-position-and-transform-expected.txt:
  • compositing/layer-creation/fixed-position-under-transform-expected.txt:
  • compositing/layer-creation/no-compositing-for-preserve-3d-expected.txt:
  • compositing/layer-creation/overflow-scroll-overlap-expected.txt:
  • compositing/layer-creation/overlap-animation-expected.txt:
  • compositing/layer-creation/overlap-child-layer-expected.txt:
  • compositing/layer-creation/overlap-clipping-expected.txt:
  • compositing/layer-creation/overlap-transformed-and-clipped-expected.txt:
  • compositing/layer-creation/overlap-transformed-layer-expected.txt:
  • compositing/layer-creation/overlap-transforms-expected.txt:
  • compositing/layer-creation/scroll-partial-update-expected.txt:
  • compositing/layer-creation/spanOverlapsCanvas-expected.txt:
  • compositing/layer-creation/stacking-context-overlap-expected.txt:
  • compositing/layer-creation/stacking-context-overlap-nested-expected.txt:
  • compositing/layer-creation/translatez-overlap-expected.txt:
  • compositing/overflow-trumps-transform-style-expected.txt:
  • compositing/overflow/clip-descendents-expected.txt:
  • compositing/plugins/no-backing-store-expected.txt:
  • compositing/rtl/rtl-absolute-expected.txt:
  • compositing/rtl/rtl-absolute-overflow-expected.txt:
  • compositing/rtl/rtl-absolute-overflow-scrolled-expected.txt:
  • compositing/rtl/rtl-fixed-expected.txt:
  • compositing/rtl/rtl-fixed-overflow-expected.txt:
  • compositing/rtl/rtl-relative-expected.txt:
  • compositing/tiled-layers-hidpi-expected.txt:
  • compositing/visible-rect/2d-transformed-expected.txt:
  • compositing/visible-rect/3d-transform-style-expected.txt:
  • compositing/visible-rect/3d-transformed-expected.txt:
  • compositing/visible-rect/animated-expected.txt:
  • compositing/visible-rect/animated-from-none-expected.txt:
  • compositing/visible-rect/clipped-by-viewport-expected.txt:
  • compositing/visible-rect/clipped-visible-rect-expected.txt:
  • compositing/visible-rect/iframe-and-layers-expected.txt:
  • compositing/visible-rect/nested-transform-expected.txt:
  • compositing/visible-rect/scrolled-expected.txt:
  • css3/filters/filtered-compositing-descendant-expected.txt:

Updated existing tests that now print different layer-tree results.

  • platform/chromium/compositing/backing/no-backing-for-clip-expected.txt: Copied from LayoutTests/compositing/backing/no-backing-for-clip-expected.txt.
  • platform/chromium/compositing/backing/no-backing-for-clip-overlap-expected.txt: Copied from LayoutTests/compositing/backing/no-backing-for-clip-overlap-expected.txt.
  • platform/chromium/compositing/backing/no-backing-for-perspective-expected.txt: Copied from LayoutTests/compositing/backing/no-backing-for-perspective-expected.txt.
  • platform/chromium/compositing/columns/composited-in-paginated-expected.txt: Copied from LayoutTests/compositing/columns/composited-in-paginated-expected.txt.
  • platform/chromium/compositing/geometry/ancestor-overflow-change-expected.txt: Copied from LayoutTests/compositing/geometry/ancestor-overflow-change-expected.txt.
  • platform/chromium/compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt: Copied from LayoutTests/compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt.
  • platform/chromium/compositing/geometry/bounds-ignores-hidden-dynamic-negzindex-expected.txt: Copied from LayoutTests/compositing/geometry/bounds-ignores-hidden-dynamic-negzindex-expected.txt.
  • platform/chromium/compositing/geometry/clip-expected.txt: Copied from LayoutTests/compositing/geometry/clip-expected.txt.
  • platform/chromium/compositing/geometry/composited-in-columns-expected.txt: Copied from LayoutTests/compositing/geometry/composited-in-columns-expected.txt.
  • platform/chromium/compositing/geometry/flipped-writing-mode-expected.txt: Copied from LayoutTests/compositing/geometry/flipped-writing-mode-expected.txt.
  • platform/chromium/compositing/geometry/layer-due-to-layer-children-deep-switch-expected.txt: Copied from LayoutTests/compositing/geometry/layer-due-to-layer-children-deep-switch-expected.txt.
  • platform/chromium/compositing/geometry/limit-layer-bounds-overflow-root-expected.txt: Copied from LayoutTests/compositing/geometry/limit-layer-bounds-overflow-root-expected.txt.
  • platform/chromium/compositing/geometry/limit-layer-bounds-positioned-expected.txt: Copied from LayoutTests/compositing/geometry/limit-layer-bounds-positioned-expected.txt.
  • platform/chromium/compositing/geometry/limit-layer-bounds-positioned-transition-expected.txt: Copied from LayoutTests/compositing/geometry/limit-layer-bounds-positioned-transition-expected.txt.
  • platform/chromium/compositing/geometry/limit-layer-bounds-transformed-expected.txt: Copied from LayoutTests/compositing/geometry/limit-layer-bounds-transformed-expected.txt.
  • platform/chromium/compositing/geometry/preserve-3d-switching-expected.txt: Copied from LayoutTests/compositing/geometry/preserve-3d-switching-expected.txt.
  • platform/chromium/compositing/iframes/invisible-nested-iframe-hide-expected.txt: Copied from LayoutTests/compositing/iframes/invisible-nested-iframe-hide-expected.txt.
  • platform/chromium/compositing/layer-creation/fixed-position-and-transform-expected.txt: Copied from LayoutTests/compositing/layer-creation/fixed-position-and-transform-expected.txt.
  • platform/chromium/compositing/layer-creation/fixed-position-under-transform-expected.txt: Copied from LayoutTests/compositing/layer-creation/fixed-position-under-transform-expected.txt.
  • platform/chromium/compositing/layer-creation/no-compositing-for-preserve-3d-expected.txt: Copied from LayoutTests/compositing/layer-creation/no-compositing-for-preserve-3d-expected.txt.
  • platform/chromium/compositing/layer-creation/overlap-animation-expected.txt: Copied from LayoutTests/compositing/layer-creation/overlap-animation-expected.txt.
  • platform/chromium/compositing/layer-creation/overlap-child-layer-expected.txt: Copied from LayoutTests/compositing/layer-creation/overlap-child-layer-expected.txt.
  • platform/chromium/compositing/layer-creation/overlap-clipping-expected.txt: Copied from LayoutTests/compositing/layer-creation/overlap-clipping-expected.txt.
  • platform/chromium/compositing/layer-creation/overlap-transformed-and-clipped-expected.txt: Copied from LayoutTests/compositing/layer-creation/overlap-transformed-and-clipped-expected.txt.
  • platform/chromium/compositing/layer-creation/overlap-transformed-layer-expected.txt: Copied from LayoutTests/compositing/layer-creation/overlap-transformed-layer-expected.txt.
  • platform/chromium/compositing/layer-creation/overlap-transforms-expected.txt: Copied from LayoutTests/compositing/layer-creation/overlap-transforms-expected.txt.
  • platform/chromium/compositing/layer-creation/scroll-partial-update-expected.txt: Copied from LayoutTests/compositing/layer-creation/scroll-partial-update-expected.txt.
  • platform/chromium/compositing/layer-creation/stacking-context-overlap-expected.txt: Copied from LayoutTests/compositing/layer-creation/stacking-context-overlap-expected.txt.
  • platform/chromium/compositing/layer-creation/stacking-context-overlap-nested-expected.txt: Copied from LayoutTests/compositing/layer-creation/stacking-context-overlap-nested-expected.txt.
  • platform/chromium/compositing/layer-creation/translatez-overlap-expected.txt: Copied from LayoutTests/compositing/layer-creation/translatez-overlap-expected.txt.
  • platform/chromium/compositing/overflow-trumps-transform-style-expected.txt: Copied from LayoutTests/compositing/overflow-trumps-transform-style-expected.txt.
  • platform/chromium/compositing/rtl/rtl-absolute-expected.txt: Copied from LayoutTests/compositing/rtl/rtl-absolute-expected.txt.
  • platform/chromium/compositing/rtl/rtl-absolute-overflow-expected.txt: Copied from LayoutTests/compositing/rtl/rtl-absolute-overflow-expected.txt.
  • platform/chromium/compositing/rtl/rtl-absolute-overflow-scrolled-expected.txt: Copied from LayoutTests/compositing/rtl/rtl-absolute-overflow-scrolled-expected.txt.
  • platform/chromium/compositing/rtl/rtl-fixed-expected.txt: Copied from LayoutTests/compositing/rtl/rtl-fixed-expected.txt.
  • platform/chromium/compositing/rtl/rtl-fixed-overflow-expected.txt: Copied from LayoutTests/compositing/rtl/rtl-fixed-overflow-expected.txt.
  • platform/chromium/compositing/rtl/rtl-relative-expected.txt: Copied from LayoutTests/compositing/rtl/rtl-relative-expected.txt.
  • platform/chromium/css3/filters/filtered-compositing-descendant-expected.txt: Copied from LayoutTests/css3/filters/filtered-compositing-descendant-expected.txt.

Create chromium-specific results since chromium does not yet support setContentsToBackgroundColor.

5:48 PM Changeset in webkit [137005] by jer.noble@apple.com
  • 3 edits in trunk/Source/WebKit2

Allow the WebProcess access to the CoreMedia preferences file.
https://bugs.webkit.org/show_bug.cgi?id=104320
<rdar://problem/10904519>

Reviewed by Alexey Proskuryakov.

Allow read access to ~/Library/Preferences/com.apple.coremedia.plist and com.apple.avfoundation.plist
by the WebProcess. The QuickTime.plugin uses CoreMedia for playback, so allow PluginProcess
to access those preferences as well.

  • PluginProcess/mac/com.apple.WebKit.PluginProcess.sb.in:
  • WebProcess/com.apple.WebProcess.sb.in:
5:19 PM Changeset in webkit [137004] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit2

[wk2] WebProcessServiceForWebKitDevelopment should forward stdout and stderr to the UIProcess
https://bugs.webkit.org/show_bug.cgi?id=104418

Reviewed by Simon Fraser.

  • UIProcess/Launcher/mac/ProcessLauncherMac.mm:

(WebKit::connectToWebProcessServiceForWebKitDevelopment): Send stdout and stderr file descriptors to the WebProcess.

  • WebProcessServiceForWebKitDevelopment/WebProcessServiceForWebKitDevelopmentMain.mm:

(WebProcessServiceForWebKitDevelopmentEventHandler): Replace the WebProcess' stdout and stderr with those from the UIProcess.

5:17 PM Changeset in webkit [137003] by rniwa@webkit.org
  • 9 edits in trunk/Source/WebCore

Shrink the size of NodeRareData by moving pointers into separate objects
https://bugs.webkit.org/show_bug.cgi?id=104312

Reviewed by Andreas Kling.

This patch does three things:

  1. Move ChildNodeList back into NodeListsNodeData.
  2. Move m_mutationObserverRegistry & m_transientMutationObserverRegistry into a separate object owned by NodeRareData.
  3. Move m_itemProp, m_itemRef, m_itemType & into a separate object owned by NodeRareData.

Moving m_childNodeList from NodeRareData to NodeListsNodeData also has a nice side-effect of making ChildNodeList
behave more like other LiveNodeLists.

This patch also fixes Mac build when microdata is enabled.

There should be no user-visible behavior change.

  • dom/ChildNodeList.cpp:

(WebCore::ChildNodeList::~ChildNodeList):

  • dom/Node.cpp:

(WebCore::Node::childNodes): Moved the code to create ChildNodeList into NodeListsNodeData to match other node lists.
(WebCore::Node::invalidateNodeListCachesInAncestors):
(WebCore): Removed removeCachedChildNodeList.

  • dom/Node.h:

(Node):

  • dom/NodeRareData.cpp:

(WebCore): Assert the size of NodeRareData at compilation time.
(WebCore::NodeListsNodeData::reportMemoryUsage):
(WebCore::NodeRareData::reportMemoryUsage):

  • dom/NodeRareData.h:

(WebCore::NodeListsNodeData::clearChildNodeListCache): Moved from NodeRareData.
(WebCore::NodeListsNodeData::ensureChildNodeList): Extracted from Node::childNodes.
(WebCore::NodeListsNodeData::removeChildNodeList): Added.
(WebCore::NodeListsNodeData::NodeListsNodeData): Initialize m_childNodeList.
(WebCore::NodeRareData::NodeMutationObserverData): Extracted from NodeRareData.
(WebCore::NodeRareData::NodeMutationObserverData::create):
(WebCore::NodeRareData::NodeMicroDataTokenLists): Ditto.
(WebCore::NodeRareData::NodeMicroDataTokenLists::create):
(WebCore::NodeRareData::NodeRareData):
(WebCore::NodeRareData::ensureNodeLists): Merged setNodeLists since it's not called elsewhere.
(WebCore::NodeRareData::mutationObserverRegistry):
(WebCore::NodeRareData::ensureMutationObserverRegistry): Added.
(WebCore::NodeRareData::transientMutationObserverRegistry):
(WebCore::NodeRareData::ensureTransientMutationObserverRegistry):
(WebCore::NodeRareData::ensureMicroDataTokenLists):
(NodeRareData):
(WebCore::NodeRareData::itemProp):
(WebCore::NodeRareData::setItemProp):
(WebCore::NodeRareData::itemRef):
(WebCore::NodeRareData::setItemRef):
(WebCore::NodeRareData::itemType):
(WebCore::NodeRareData::setItemType):

  • html/HTMLPropertiesCollection.cpp:

(WebCore::HTMLPropertiesCollection::propertyNodeList): Renamed from namedItem since its return type, PropertyNodeList,
is different from that, Node, of LiveNodeList::namedItem. It was shadowing the function name instead of overriding.

  • html/HTMLPropertiesCollection.h:

(HTMLPropertiesCollection):

  • html/HTMLPropertiesCollection.idl:
5:05 PM Changeset in webkit [137002] by senorblanco@chromium.org
  • 2 edits in trunk/LayoutTests

[Chromium] Unreviewed gardening.

  • platform/chromium/TestExpectations:
5:00 PM Changeset in webkit [137001] by oliver@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Make function code cache proportional to main codeblock cache
https://bugs.webkit.org/show_bug.cgi?id=104420

Reviewed by Geoffrey Garen.

Makes the constants determining the recently used function cache proportional
to the number of root codeblocks in the cache. Also renames the constants to
make them more clear.

  • runtime/CodeCache.h:
4:42 PM Changeset in webkit [137000] by senorblanco@chromium.org
  • 1 edit
    3 moves
    3 adds in trunk/LayoutTests

[Chromium] Unreviewed gardening. New baselines for new tests.

  • platform/chromium-mac/css3/filters/effect-reference-after-expected.png: Added.
  • platform/chromium-mac/css3/filters/effect-reference-delete-expected.png: Added.
  • platform/chromium-mac/css3/filters/effect-reference-rename-expected.png: Added.
  • platform/chromium-win/css3/filters/effect-reference-after-expected.png: Renamed from LayoutTests/platform/chromium-linux/css3/filters/effect-reference-after-expected.png.
  • platform/chromium-win/css3/filters/effect-reference-delete-expected.png: Renamed from LayoutTests/platform/chromium-linux/css3/filters/effect-reference-delete-expected.png.
  • platform/chromium-win/css3/filters/effect-reference-rename-expected.png: Renamed from LayoutTests/platform/chromium-linux/css3/filters/effect-reference-rename-expected.png.
4:40 PM Changeset in webkit [136999] by commit-queue@webkit.org
  • 38 edits in trunk/Source

Unreviewed, rolling out r136993.
http://trac.webkit.org/changeset/136993
https://bugs.webkit.org/show_bug.cgi?id=104415

This patch breaks the mac build (Requested by cabanier on
#webkit).

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

Source/WebCore:

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::paint):

  • platform/graphics/BitmapImage.h:
  • platform/graphics/CrossfadeGeneratedImage.cpp:

(WebCore::CrossfadeGeneratedImage::draw):

  • platform/graphics/CrossfadeGeneratedImage.h:

(CrossfadeGeneratedImage):

  • platform/graphics/GeneratedImage.h:

(GeneratedImage):

  • platform/graphics/GeneratorGeneratedImage.cpp:

(WebCore::GeneratorGeneratedImage::draw):

  • platform/graphics/GeneratorGeneratedImage.h:

(GeneratorGeneratedImage):

  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContext::drawImage):
(WebCore::GraphicsContext::drawImageBuffer):
(WebCore::GraphicsContext::setCompositeOperation):

  • platform/graphics/GraphicsContext.h:

(WebCore::GraphicsContextState::GraphicsContextState):
(GraphicsContextState):
(GraphicsContext):

  • platform/graphics/Image.cpp:

(WebCore::Image::draw):
(WebCore::Image::drawTiled):

  • platform/graphics/Image.h:

(Image):

  • platform/graphics/ImageBuffer.h:

(ImageBuffer):

  • platform/graphics/cairo/BitmapImageCairo.cpp:

(WebCore::BitmapImage::draw):

  • platform/graphics/cairo/GraphicsContextCairo.cpp:

(WebCore::GraphicsContext::setPlatformCompositeOperation):

  • platform/graphics/cairo/ImageBufferCairo.cpp:

(WebCore::ImageBuffer::draw):

  • platform/graphics/cg/BitmapImageCG.cpp:

(WebCore::BitmapImage::draw):

  • platform/graphics/cg/GraphicsContextCG.cpp:

(WebCore::GraphicsContext::drawNativeImage):
(WebCore::GraphicsContext::setPlatformCompositeOperation):

  • platform/graphics/cg/ImageBufferCG.cpp:

(WebCore::ImageBuffer::draw):

  • platform/graphics/cg/PDFDocumentImage.cpp:

(WebCore::PDFDocumentImage::draw):

  • platform/graphics/cg/PDFDocumentImage.h:

(PDFDocumentImage):

  • platform/graphics/qt/GraphicsContextQt.cpp:

(WebCore::GraphicsContext::setPlatformCompositeOperation):

  • platform/graphics/qt/ImageBufferQt.cpp:

(WebCore::ImageBuffer::draw):

  • platform/graphics/qt/ImageQt.cpp:

(WebCore::BitmapImage::draw):

  • platform/graphics/qt/StillImageQt.cpp:

(WebCore::StillImage::draw):

  • platform/graphics/qt/StillImageQt.h:

(StillImage):

  • platform/graphics/skia/BitmapImageSingleFrameSkia.h:

(BitmapImageSingleFrameSkia):

  • platform/graphics/skia/GraphicsContextSkia.cpp:

(WebCore::GraphicsContext::setPlatformCompositeOperation):

  • platform/graphics/skia/ImageBufferSkia.cpp:

(WebCore::ImageBuffer::draw):

  • platform/graphics/skia/ImageSkia.cpp:

(WebCore::BitmapImage::draw):
(WebCore::BitmapImageSingleFrameSkia::draw):

  • platform/graphics/win/ImageCGWin.cpp:

(WebCore::BitmapImage::getHBITMAPOfSize):
(WebCore::BitmapImage::drawFrameMatchingSourceSize):

  • svg/graphics/SVGImage.cpp:

(WebCore::SVGImage::drawSVGToImageBuffer):
(WebCore::SVGImage::draw):
(WebCore::SVGImage::nativeImageForCurrentFrame):

  • svg/graphics/SVGImage.h:

(SVGImage):

Source/WebKit/chromium:

  • tests/DragImageTest.cpp:

(WebCore::TestImage::draw):

  • tests/ImageLayerChromiumTest.cpp:

(WebCore::TestImage::draw):

Source/WebKit2:

  • win/WebKit2.def.in:
4:38 PM Changeset in webkit [136998] by ap@apple.com
  • 9 edits in trunk/Source

There is no need to change cached resource storage policy through ResourceHandleClient
https://bugs.webkit.org/show_bug.cgi?id=104413

Reviewed by Brady Eidson.

This code was only needed to prevent storing responses to disk in private browsing
mode, but we now have a storage session to take care of that in a cleaner and more
reliable way.

4:16 PM Changeset in webkit [136997] by ap@apple.com
  • 14 edits in trunk/Source/WebKit2

Network process should use a correct storage session in private browsing mode
<rdar://problem/12838490>
https://bugs.webkit.org/show_bug.cgi?id=104401

Reviewed by Brady Eidson.

Notify NetworkProcess when it needs to create or destroy a private browsing session,
and add a NetworkResourceLoadParameters member telling if the particular resource
should be requested using it.

  • NetworkProcess/NetworkConnectionToWebProcess.cpp: (WebKit::NetworkConnectionToWebProcess::cookiesForDOM): (WebKit::NetworkConnectionToWebProcess::setCookiesFromDOM): (WebKit::NetworkConnectionToWebProcess::cookiesEnabled): (WebKit::NetworkConnectionToWebProcess::getRawCookies): (WebKit::NetworkConnectionToWebProcess::deleteCookie): (WebKit::NetworkConnectionToWebProcess::getHostnamesWithCookies): (WebKit::NetworkConnectionToWebProcess::deleteCookiesForHostname): (WebKit::NetworkConnectionToWebProcess::deleteAllCookies): Added another dummy argument to dummy networking context.
  • NetworkProcess/NetworkProcess.cpp: (WebKit::NetworkProcess::initializeNetworkProcess): Ensure private browsing session if it's needed due to a persistent preference, not an API call at runtime (which is handled below as ensure/destroy).
  • NetworkProcess/NetworkResourceLoader.cpp: (WebKit::NetworkResourceLoader::start): Pass private browsing state to RemoteNetworkingContext used for loading. (WebKit::NetworkResourceLoader::willCacheResponse): Added an implemntation that matches WebCore, but may be not needed.
  • NetworkProcess/mac/RemoteNetworkingContext.h: (WebKit::RemoteNetworkingContext::create): Store privateBrowsingEnabled flag.
  • NetworkProcess/mac/RemoteNetworkingContext.mm: (WebKit::RemoteNetworkingContext::storageSession): Return a private session when it's in use.
  • Shared/Network/NetworkProcessCreationParameters.cpp: (WebKit::NetworkProcessCreationParameters::encode): (WebKit::NetworkProcessCreationParameters::decode):
  • Shared/Network/NetworkProcessCreationParameters.h: Pass privateBrowsingEnabled flag to the new process.
  • Shared/Network/NetworkResourceLoadParameters.cpp: (WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters): (WebKit::NetworkResourceLoadParameters::encode): (WebKit::NetworkResourceLoadParameters::decode):
  • Shared/Network/NetworkResourceLoadParameters.h: (WebKit::NetworkResourceLoadParameters::inPrivateBrowsingMode): Pass inPrivateBrowsingMode flag for the request.
  • UIProcess/Network/NetworkProcessManager.h: (WebKit::NetworkProcessManager::process): Exposed, so that we can send messages without going through NetworkProcessManager.
  • UIProcess/WebContext.cpp: (WebKit::WebContext::usesNetworkProcess): (WebKit::anyContextUsesNetworkProcess): (WebKit::WebContext::willStartUsingPrivateBrowsing): (WebKit::WebContext::willStopUsingPrivateBrowsing): Notify NetworkProcess when entering or exiting private browsing.
  • UIProcess/WebContext.h: Exposed usesNetworkProcess() for the new static function anyContextUsesNetworkProcess to use.
  • WebProcess/Network/WebResourceLoadScheduler.cpp: (WebKit::WebResourceLoadScheduler::scheduleLoad): Put current private browsing state over in NetworkResourceLoadParameters.
3:43 PM Changeset in webkit [136996] by adamk@chromium.org
  • 7 edits in trunk

MutationRecord addedNodes/removedNodes should never be null
https://bugs.webkit.org/show_bug.cgi?id=98921

Reviewed by Ryosuke Niwa.

Source/WebCore:

Per an update to the DOM4 spec that matches Gecko's behavior,
addedNodes/removedNodes should be empty NodeLists on 'attributes'
and 'characterData' records, rather than null.

This is accomplished with lazy initialization of addedNodes/removedNodes
attributes on 'attributes'/'characterData' records and the
addition of a new StaticNodeList::createEmpty() factory method.

  • dom/MutationRecord.cpp:
  • dom/MutationRecord.h:

(MutationRecord):

  • dom/StaticNodeList.h:

(WebCore::StaticNodeList::adopt):
(StaticNodeList):
(WebCore::StaticNodeList::createEmpty):
(WebCore::StaticNodeList::StaticNodeList):

LayoutTests:

Updated nullity test to check for empty nodelists.

  • fast/mutation/mutation-record-nullity-expected.txt:
  • fast/mutation/mutation-record-nullity.html:
3:42 PM Changeset in webkit [136995] by bfulgham@webkit.org
  • 2 edits in trunk/Source/WebCore

Unreviewed build correction after 136959.

The initialization list should follow the same compiler macro
exclusions as the class members.

  • inspector/InstrumentingAgents.h: Add USE(ACCELERATED_COMPOSITING) guards around m_inspectorLayerTreeAgent as this does not exist when the guard is false.
3:34 PM Changeset in webkit [136994] by eae@chromium.org
  • 2 edits
    1 delete in trunk/LayoutTests

Unreviewed chromium-win rebaselines.

  • platform/chromium-win-xp/ietestcenter/css3/bordersbackgrounds/background_position_three_four_values-expected.png: Removed.
  • platform/chromium-win/ietestcenter/css3/bordersbackgrounds/background_position_three_four_values-expected.png:
3:33 PM Changeset in webkit [136993] by commit-queue@webkit.org
  • 37 edits in trunk/Source

Extend platform layer so it can pass blend modes to the compositing calls
https://bugs.webkit.org/show_bug.cgi?id=104176

Patch by Rik Cabanier <cabanier@adobe.com> on 2012-12-07
Reviewed by Dirk Schulze.

Source/WebCore:

Adding blend mode enumeration to drawImage functions + stored blendmode in graphics context

No new tests, no new functionality.

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::paint):

  • platform/graphics/BitmapImage.h:
  • platform/graphics/CrossfadeGeneratedImage.cpp:

(WebCore::CrossfadeGeneratedImage::draw):

  • platform/graphics/CrossfadeGeneratedImage.h:

(CrossfadeGeneratedImage):

  • platform/graphics/GeneratedImage.h:

(GeneratedImage):

  • platform/graphics/GeneratorGeneratedImage.cpp:

(WebCore::GeneratorGeneratedImage::draw):

  • platform/graphics/GeneratorGeneratedImage.h:

(GeneratorGeneratedImage):

  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContext::drawImage):
(WebCore):
(WebCore::GraphicsContext::drawImageBuffer):
(WebCore::GraphicsContext::setCompositeOperation):

  • platform/graphics/GraphicsContext.h:

(WebCore::GraphicsContextState::GraphicsContextState):
(GraphicsContextState):
(GraphicsContext):

  • platform/graphics/Image.cpp:

(WebCore::Image::draw):
(WebCore::Image::drawTiled):

  • platform/graphics/Image.h:

(Image):

  • platform/graphics/ImageBuffer.h:

(ImageBuffer):

  • platform/graphics/cairo/BitmapImageCairo.cpp:

(WebCore::BitmapImage::draw):

  • platform/graphics/cairo/GraphicsContextCairo.cpp:

(WebCore::GraphicsContext::setPlatformCompositeOperation):

  • platform/graphics/cairo/ImageBufferCairo.cpp:

(WebCore::ImageBuffer::draw):

  • platform/graphics/cg/BitmapImageCG.cpp:

(WebCore::BitmapImage::draw):

  • platform/graphics/cg/GraphicsContextCG.cpp:

(WebCore::GraphicsContext::drawNativeImage):
(WebCore::GraphicsContext::setPlatformCompositeOperation):

  • platform/graphics/cg/ImageBufferCG.cpp:

(WebCore::ImageBuffer::draw):

  • platform/graphics/cg/PDFDocumentImage.cpp:

(WebCore::PDFDocumentImage::draw):

  • platform/graphics/cg/PDFDocumentImage.h:

(PDFDocumentImage):

  • platform/graphics/qt/GraphicsContextQt.cpp:

(WebCore::GraphicsContext::setPlatformCompositeOperation):

  • platform/graphics/qt/ImageBufferQt.cpp:

(WebCore::ImageBuffer::draw):

  • platform/graphics/qt/ImageQt.cpp:

(WebCore::BitmapImage::draw):

  • platform/graphics/qt/StillImageQt.cpp:

(WebCore::StillImage::draw):

  • platform/graphics/qt/StillImageQt.h:

(StillImage):

  • platform/graphics/skia/BitmapImageSingleFrameSkia.h:

(BitmapImageSingleFrameSkia):

  • platform/graphics/skia/GraphicsContextSkia.cpp:

(WebCore::GraphicsContext::setPlatformCompositeOperation):

  • platform/graphics/skia/ImageBufferSkia.cpp:

(WebCore::ImageBuffer::draw):

  • platform/graphics/skia/ImageSkia.cpp:

(WebCore::BitmapImage::draw):
(WebCore::BitmapImageSingleFrameSkia::draw):

  • platform/graphics/win/ImageCGWin.cpp:

(WebCore::BitmapImage::getHBITMAPOfSize):
(WebCore::BitmapImage::drawFrameMatchingSourceSize):

  • svg/graphics/SVGImage.cpp:

(WebCore::SVGImage::drawSVGToImageBuffer):
(WebCore::SVGImage::draw):
(WebCore::SVGImage::nativeImageForCurrentFrame):

  • svg/graphics/SVGImage.h:

(SVGImage):

Source/WebKit/chromium:

Adding blend mode enumeration to draw functions

  • tests/DragImageTest.cpp:

(WebCore::TestImage::draw):

  • tests/ImageLayerChromiumTest.cpp:

(WebCore::TestImage::draw):

3:20 PM Changeset in webkit [136992] by alecflett@chromium.org
  • 10 edits in trunk/Source

IndexedDB: propagate transaction_ids through open/upgradeneeded
https://bugs.webkit.org/show_bug.cgi?id=103922

Reviewed by Tony Chang.

Source/WebCore:

Make sure front-end is always generating the transaction id,
so that it can be relied upon as an alternative to the
to-be-deprecated IDBTransactionBackendInterface pointer.

No new tests, this is one stage in a larger refactor.

  • Modules/indexeddb/IDBDatabaseBackendImpl.cpp:

(WebCore::IDBDatabaseBackendImpl::VersionChangeOperation::create):
(WebCore::IDBDatabaseBackendImpl::VersionChangeOperation::VersionChangeOperation):
(IDBDatabaseBackendImpl::VersionChangeOperation):
(WebCore::IDBDatabaseBackendImpl::PendingOpenCall::create):
(WebCore::IDBDatabaseBackendImpl::PendingOpenCall::transactionId):
(WebCore::IDBDatabaseBackendImpl::PendingOpenCall::PendingOpenCall):
(IDBDatabaseBackendImpl::PendingOpenCall):
(WebCore::IDBDatabaseBackendImpl::PendingOpenWithVersionCall::create):
(WebCore::IDBDatabaseBackendImpl::PendingOpenWithVersionCall::transactionId):
(WebCore::IDBDatabaseBackendImpl::PendingOpenWithVersionCall::PendingOpenWithVersionCall):
(IDBDatabaseBackendImpl::PendingOpenWithVersionCall):
(WebCore::IDBDatabaseBackendImpl::VersionChangeOperation::perform):
(WebCore::IDBDatabaseBackendImpl::processPendingCalls):
(WebCore::IDBDatabaseBackendImpl::createTransaction):
(WebCore::IDBDatabaseBackendImpl::openConnection):
(WebCore::IDBDatabaseBackendImpl::runIntVersionChangeTransaction):
(WebCore::IDBDatabaseBackendImpl::openConnectionWithVersion):

  • Modules/indexeddb/IDBDatabaseBackendImpl.h:

(IDBDatabaseBackendImpl):

  • Modules/indexeddb/IDBFactory.cpp:

(WebCore::IDBFactory::openInternal):

  • Modules/indexeddb/IDBFactoryBackendImpl.cpp:

(WebCore::IDBFactoryBackendImpl::open):

Source/WebKit/chromium:

Update test to account for pre-generated transaction ids.

  • tests/IDBDatabaseBackendTest.cpp:
3:11 PM Changeset in webkit [136991] by commit-queue@webkit.org
  • 7 edits
    3 adds in trunk

Implement general ::cue pseudo element for the <video>
https://bugs.webkit.org/show_bug.cgi?id=104043

Patch by Dima Gorbik <dgorbik@apple.com> on 2012-12-07
Reviewed by Eric Carlson.

Source/WebCore:

Implemented the ::cue pseudo element to be able to style all WebVTT cues.
Added the subcontainer with a '::cue' pseudoId in between the TextTrackContainerElement and WebVTT nodes to separate
user agent default styles from user defined styles for the cue elements.

Test: media/track/track-css-all-cues.html

  • css/CSSSelector.cpp: ::cue pseudo selector doesn't have a valid prefix but should be allowed in the user-agent stylesheet.

(WebCore::CSSSelector::parsePseudoType):

  • html/shadow/MediaControlElements.cpp:

(WebCore):
(WebCore::MediaControlTextTrackContainerElement::createSubtrees): create a subcontainer and set its pseudoId to '::cue'.
(WebCore::MediaControlTextTrackContainerElement::updateDisplay): append WebVTT nodes to the newly created subcontainer.

  • html/shadow/MediaControlElements.h:

(MediaControlTextTrackContainerElement):

  • html/shadow/MediaControls.cpp:

(WebCore::MediaControls::createTextTrackDisplay): initiate creating subtrees for the MediaControlTextTrackContainerElement.

  • html/shadow/MediaControlsChromium.cpp:

(WebCore::MediaControlsChromium::createTextTrackDisplay):

LayoutTests:

  • media/track/captions-webvtt/styling.vtt: Added.
  • media/track/track-css-all-cues-expected.txt: Added.
  • media/track/track-css-all-cues.html: Added.
3:06 PM Changeset in webkit [136990] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Fix webgl-depth-texture.html to match the test expectation.
https://bugs.webkit.org/show_bug.cgi?id=104259.

Patch by Kondapally Kalyan <kalyan.kondapally@intel.com> on 2012-12-07
Reviewed by Kenneth Russell.

The text expectation of this testcase expects to check for FrameBuffer status and compare the value
using ShouldBe after creating the framebuffer.
Currently, we do it only in case of adding a color buffer. This patch ensures that the Framebuffer
Status check using ShouldBe is done in all cases.

  • fast/canvas/webgl/webgl-depth-texture.html:
2:55 PM Changeset in webkit [136989] by fpizlo@apple.com
  • 5 edits
    3 adds in trunk

Strange results calculating a square root in a loop
https://bugs.webkit.org/show_bug.cgi?id=104247
<rdar://problem/12826880>

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

Fixed the CFG simplification phase to ignore dead GetLocals in the first of the blocks
under the merge. This fixes the assertion, and is also cleaner: our general rule is
to not "revive" things that we've already proved to be dead.

Also fixed some rotted debug code.

  • dfg/DFGCFGSimplificationPhase.cpp:

(JSC::DFG::CFGSimplificationPhase::fixPossibleGetLocal):

  • dfg/DFGStructureCheckHoistingPhase.cpp:

(JSC::DFG::StructureCheckHoistingPhase::run):

LayoutTests:

  • fast/js/dfg-cfg-simplify-redundant-dead-get-local-expected.txt: Added.
  • fast/js/dfg-cfg-simplify-redundant-dead-get-local.html: Added.
  • fast/js/jsc-test-list:
  • fast/js/script-tests/dfg-cfg-simplify-redundant-dead-get-local.js: Added.

(getDist):
(calcError):

2:47 PM Changeset in webkit [136988] by eae@chromium.org
  • 1 edit
    5 adds
    2 deletes in trunk/LayoutTests

Unreviewed chromium rebaselines.

  • platform/chromium-linux-x86/ietestcenter: Removed.
  • platform/chromium-linux/compositing/backface-visibility: Added.
  • platform/chromium-linux/compositing/backface-visibility/backface-visibility-webgl-expected.png: Added.
  • platform/chromium-mac/compositing/backface-visibility: Added.
  • platform/chromium-mac/compositing/backface-visibility/backface-visibility-webgl-expected.png: Added.
  • platform/chromium-win-xp/http/tests/w3c/webperf/submission/Intel/user-timing: Removed.
  • platform/chromium-win-xp/http/tests/w3c/webperf/submission/Intel/user-timing/test_user_timing_mark-expected.txt: Removed.
  • platform/chromium-win-xp/ietestcenter/css3/bordersbackgrounds/background_position_three_four_values-expected.png: Added.
2:40 PM Changeset in webkit [136987] by nghanavatian@rim.com
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] General code cleanup and improved logging.
https://bugs.webkit.org/show_bug.cgi?id=104389

Reviewed by Rob Buis.

Internally reviewed by Mike Fenton

  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::convertStringToWchar):
(BlackBerry::WebKit::InputHandler::requestCheckingOfString):
(BlackBerry::WebKit::InputHandler::handleKeyboardInput):

2:34 PM Changeset in webkit [136986] by ggaren@apple.com
  • 4 edits in trunk/Source

Crash in JSC::Bindings::RootObject::globalObject() sync'ing notes in Evernote
https://bugs.webkit.org/show_bug.cgi?id=104321
<rdar://problem/12770497>

Reviewed by Sam Weinig.

../JavaScriptCore:

Work around a JSValueUnprotect(NULL) in Evernote.

  • API/JSValueRef.cpp:

(evernoteHackNeeded):
(JSValueUnprotect):

../WebCore:

Missed a null check.

  • bindings/objc/WebScriptObject.mm:

(-[WebScriptObject JSObject]): If our root object has been cleared, don't
try to dereference it. This happens in Evernote during tear-down.

This matches the behavior of other methods in the same class.

(_isSafeScript returns false if the root object has been cleared.)

If we believe _isSafeScript is a good idea, it's probably the right test
to use here (as opposed to just null-checking _rootObject) because this API
gives the client unlimited access to the underlying JavaScript object.

2:16 PM Changeset in webkit [136985] by eae@chromium.org
  • 5 edits
    2 adds
    2 deletes in trunk/LayoutTests

Unreviewed chromium rebaselines.

  • platform/chromium-linux-x86/ietestcenter/css3: Removed.
  • platform/chromium-linux/ietestcenter/css3/bordersbackgrounds/background_position_three_four_values-expected.png:
  • platform/chromium-mac-lion/ietestcenter/css3/bordersbackgrounds/background_position_three_four_values-expected.png:
  • platform/chromium-mac-snowleopard/ietestcenter/css3/bordersbackgrounds/background_position_three_four_values-expected.png:
  • platform/chromium-mac/ietestcenter/css3/bordersbackgrounds/background_position_three_four_values-expected.png:
  • platform/efl-wk1/ietestcenter/css3/bordersbackgrounds: Added.
  • platform/efl-wk1/ietestcenter/css3/bordersbackgrounds/background_position_three_four_values-expected.png: Added.
  • platform/efl/ietestcenter/css3/bordersbackgrounds/background_position_three_four_values-expected.png: Removed.
2:13 PM Changeset in webkit [136984] by schenney@chromium.org
  • 5 edits in trunk

XMLSerializer is too aggressive in adding prefixes
https://bugs.webkit.org/show_bug.cgi?id=104387

Reviewed by Ryosuke Niwa.

Source/WebCore:

We have been adding "xlink:" and "xmlns:" and "xml:" prefixes to any
attribute that is in one of those namespaces but which did not already
have the matching prefix. This appears to be in error, at least
compared to other browsers.

The correct behavior appears to be to add the prefix only if there is
no existing prefix. If there is an existing prefix, we now leave it alone.

No new tests. Existing test expanded.

  • editing/MarkupAccumulator.cpp:

(WebCore::MarkupAccumulator::appendAttribute): Only replace the prefix
attribute name prefix if it is empty, and in one of the recognised
namespaces.

LayoutTests:

Add a test case for a prefix that is already set, but to a different name than the default.

  • svg/custom/xlink-prefix-in-attributes.html:
  • svg/custom/xlink-prefix-in-attributes-expected.txt:
2:13 PM Changeset in webkit [136983] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[CoordGfx] Variable name starts with upper case character
https://bugs.webkit.org/show_bug.cgi?id=104327

Patch by Helder Correia <Helder Correia> on 2012-12-07
Reviewed by Noam Rosenthal.

Just fixing a typo.

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::setMaskLayer):

2:08 PM Changeset in webkit [136982] by jonlee@apple.com
  • 4 edits
    2 deletes in trunk/Source/WebCore

Display the auto-start label image after a delay
https://bugs.webkit.org/show_bug.cgi?id=104173
<rdar://problem/12820071>

Reviewed by Dan Bernstein.

Treat the button now as a label. Once the user has hovered over the plug-in, wait a little while before showing the label.

  • rendering/RenderSnapshottedPlugIn.h:

(RenderSnapshottedPlugIn): Add a one-shot timer, and a variable representing whether the label should
be drawn. Remove the variable that determines whether the label is active.

  • rendering/RenderSnapshottedPlugIn.cpp:

(WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn): Set the time to a delay of 1 second.
(WebCore::RenderSnapshottedPlugIn::paintReplaced): Paint the label only when we should.
(WebCore::RenderSnapshottedPlugIn::paintLabel): The label should only paint in its hovered state.
(WebCore::startLabelImage): Renamed.
(WebCore::RenderSnapshottedPlugIn::repaintLabel): Renamed.
(WebCore::RenderSnapshottedPlugIn::hoverDelayTimerFired): Now that the timer has fired, we should paint
the label. Repaint.
(WebCore::RenderSnapshottedPlugIn::handleEvent): Update event handling. Click event handler is the
same, except we move the label check inside so that if the click is not the left label we don't
fall through to the other irrevelant if clauses.

For the mouse down handler, make sure to check for the left label. If the hover timer is still running,

stop it, so that we don't draw a label while the user is in the middle of a mouse gesture.

Redo mouse over and out. On mouse over we start the delay timer. On mouse out we stop the delay timer

if it is still running, reset state, and paint the label out.
(WebCore::RenderSnapshottedPlugIn::layout): Refactor.

2:04 PM Changeset in webkit [136981] by nghanavatian@rim.com
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Strip whitespace from learned text.
https://bugs.webkit.org/show_bug.cgi?id=104391

Reviewed by Rob Buis.

This was removing the first word from the sentence being learned. Using
stripWhiteSpace to remove spaces from the start and end of the text.

Internally reviewed by Mike Fenton.

  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::InputHandler::learnText):

1:48 PM Changeset in webkit [136980] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit/win

Remove WebKit2 related projects from WebKit.sln
https://bugs.webkit.org/show_bug.cgi?id=104395

Reviewed by Tim Horton.

  • WebKit.vcproj/WebKit.sln:
1:34 PM Changeset in webkit [136979] by commit-queue@webkit.org
  • 12 edits
    10 deletes in trunk

[chromium] Remove linux theme related files and switch to default
https://bugs.webkit.org/show_bug.cgi?id=103897

Patch by Scott Violet <sky@chromium.org> on 2012-12-07
Reviewed by Dimitri Glazkov.

Source/Platform:

  • Platform.gypi: Remove WebThemeEngine.h
  • chromium/public/linux/WebThemeEngine.h: Removed.

Source/WebCore:

Linux related theme files are now named Default.

No new tests, code cleanup.

  • WebCore.gyp/WebCore.gyp: Update files
  • WebCore.gypi: Update files
  • platform/chromium/PlatformThemeChromiumLinux.cpp: Removed.
  • platform/chromium/PlatformThemeChromiumLinux.h: Removed.
  • platform/chromium/ScrollbarThemeChromiumLinux.cpp: Removed.
  • platform/chromium/ScrollbarThemeChromiumLinux.h: Removed.
  • rendering/RenderThemeChromiumAndroid.cpp:

(WebCore::RenderThemeChromiumAndroid::extraDefaultStyleSheet): Linux->Default

  • rendering/RenderThemeChromiumAndroid.h: Change superclass
  • rendering/RenderThemeChromiumLinux.cpp: Removed.
  • rendering/RenderThemeChromiumLinux.h: Removed.

Source/WebKit/chromium:

Linux theme related files are now named Default.

  • WebKit.gyp:
  • public/linux/WebRenderTheme.h: Removed.
  • public/platform/linux/WebThemeEngine.h: Removed.
  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::setScrollbarColors): Cleanup ifdefs.
(WebKit::WebViewImpl::setSelectionColors): Cleanup ifdefs.

  • src/linux/WebRenderTheme.cpp: Removed.

Tools:

  • Scripts/webkitpy/common/config/build_unittest.py:

(ShouldBuildTest): linux->default

1:30 PM Changeset in webkit [136978] by eric.carlson@apple.com
  • 10 edits in trunk

Captions menu doesn't update to track changes
https://bugs.webkit.org/show_bug.cgi?id=104393

Reviewed by Dean Jackson.

Source/WebCore:

Flag the captions menu as needing an update when tracks are added or removed. Don't actually
change the menu until it needs to be displayed.

No new tests, media/video-controls-captions-trackmenu.html was updated to test this.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::addTextTrack): Call closedCaptionTracksChanged().
(WebCore::HTMLMediaElement::didRemoveTrack): Ditto.
(WebCore::HTMLMediaElement::configureTextTracks): Ditto.

  • html/shadow/MediaControlElements.cpp:

(WebCore::MediaControlClosedCaptionsTrackListElement::MediaControlClosedCaptionsTrackListElement):

Intialize m_trackListHasChanged.

(WebCore::MediaControlClosedCaptionsTrackListElement::updateDisplay): Call rebuildTrackListMenu if

the track list has changed.

(WebCore::MediaControlClosedCaptionsTrackListElement::rebuildTrackListMenu): Renamed from resetTrackListMenu.

  • html/shadow/MediaControlElements.h:

(WebCore::MediaControlClosedCaptionsTrackListElement::resetTrackListMenu): Just set m_trackListHasChanged.

  • html/shadow/MediaControls.h:

(WebCore::MediaControls::closedCaptionTracksChanged): New, do nothing for base class.

  • html/shadow/MediaControlsApple.cpp:

(WebCore::MediaControlsApple::toggleClosedCaptionTrackList): Update the track list before

showing it.

(WebCore::MediaControlsApple::closedCaptionTracksChanged):

  • html/shadow/MediaControlsApple.h:

LayoutTests:

Test to ensure that the captions menu is updated as tracks added and removed.

  • media/video-controls-captions-trackmenu-expected.txt:
  • media/video-controls-captions-trackmenu.html:
1:29 PM ViewportInteractionTopics edited by kenneth@webkit.org
(diff)
1:27 PM ViewportInteractionTopics edited by kenneth@webkit.org
(diff)
1:26 PM Changeset in webkit [136977] by senorblanco@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed. Rolled DEPS.

  • DEPS:
1:15 PM Changeset in webkit [136976] by kenneth@webkit.org
  • 20 edits in trunk/Source/WebKit2

[WK2][EFL][Qt] Pixel alignment is wrong in some cases involving a non-integral content scale
https://webkit.org/b/103519

Reviewed by Noam Rosenthal.

This patch removes the blurriness by pixel aligning the layers. It
does not fully remove the shaking, only minimizes it.

  • UIProcess/API/efl/EwkViewImpl.cpp:

(EwkViewImpl::transformFromScene):
(EwkViewImpl::displayTimerFired):

  • UIProcess/API/efl/EwkViewImpl.h:

(EwkViewImpl::pagePosition):

As the pixel alignment of the main layer is moved to the
PageViewportController, rename discretePagePosition to just
pagePosition. It now returns a FloatPoint but the positions
should still be discrete.

  • UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:

(WebKit::LayerTreeCoordinatorProxy::setVisibleContentsRect):
(WebKit::LayerTreeCoordinatorProxy::didChangeScrollPosition):

  • UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:

(LayerTreeCoordinatorProxy):

  • UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
  • UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:

(WebKit::LayerTreeRenderer::didChangeScrollPosition):

  • UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:

(LayerTreeRenderer):

  • WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:

(WebKit::LayerTreeCoordinator::visibleContentsRect):
(WebKit::LayerTreeCoordinator::setVisibleContentsRect):

  • WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:

(LayerTreeCoordinator):

  • WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.messages.in:
  • WebProcess/WebPage/LayerTreeHost.h:

(WebCore):
(WebKit::LayerTreeHost::setVisibleContentsRect):

Change the internal scroll position/visible contents rect
to be represented as float positions. The rounding to integer
values not happens just before setFixesVisibleContentsRect.
This makes it possible to know our exact positions and
calculate proper scroll deltas.

(WebKit::LayerTreeRenderer::setLayerState):

Group anchor point, position and size together.

  • UIProcess/PageViewportController.h:

(PageViewportController):

  • UIProcess/PageViewportController.cpp:

(WebKit::PageViewportController::PageViewportController):
(WebKit::PageViewportController::boundContentsPosition):
(WebKit::PageViewportController::boundContentsPositionAtScale):
(WebKit::PageViewportController::didRenderFrame):
(WebKit::PageViewportController::pageDidRequestScroll):
(WebKit::PageViewportController::didChangeContentsVisibility):
(WebKit::PageViewportController::syncVisibleContents):
(WebKit::PageViewportController::visibleContentsSize):
(WebKit::PageViewportController::applyPositionAfterRenderingContents):

  • UIProcess/qt/PageViewportControllerClientQt.cpp:

(WebKit::PageViewportControllerClientQt::focusEditableArea):
(WebKit::PageViewportControllerClientQt::zoomToAreaGestureEnded):
(WebKit::PageViewportControllerClientQt::nearestValidVisibleContentsRect):

Some renaming as what was called viewportPos was actually the
contents position. Rename clampViewportToContents to
boundContentsPosition and remove scale argument which is has
direct access to.

Make the boundContentsPosition allow one extra pixel in each
orientation to allow for pixel alignment of fixed position layers

(WebKit::isIntegral):
(WebKit):
(WebKit::PageViewportController::pixelAlignedFloatPoint):

Introduce way to pixel align the main contents layer. Only in
use for EFL so far.

  • UIProcess/efl/PageClientLegacyImpl.cpp:

(WebKit::PageClientLegacyImpl::updateViewportSize):

  • UIProcess/efl/PageViewportControllerClientEfl.cpp:

(WebKit::PageViewportControllerClientEfl::setViewportPosition):

  • UIProcess/efl/PageViewportControllerClientEfl.h:

(WebKit::PageViewportControllerClientEfl::contentPosition):
(PageViewportControllerClientEfl):

Store the contents position as a FloatPoint.

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
(WebCore::CoordinatedGraphicsLayer::setMaskLayer):
(WebCore::CoordinatedGraphicsLayer::syncLayerState):
(WebCore::CoordinatedGraphicsLayer::tiledBackingStoreVisibleRect):
(WebCore::isIntegral):
(WebCore):
(WebCore::CoordinatedGraphicsLayer::computePositionRelativeToBase):
(WebCore::CoordinatedGraphicsLayer::computePixelAlignment):
(WebCore::CoordinatedGraphicsLayer::computeTransformedVisibleRect):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:

(CoordinatedGraphicsLayerClient):
(CoordinatedGraphicsLayer):

Pixel align layers when the effective scale is not an integer
value. This code is based on code from GraphicsLayerCA.

12:56 PM Changeset in webkit [136975] by senorblanco@chromium.org
  • 20 edits
    17 adds in trunk

CSS url() filters with forward references don't work
https://bugs.webkit.org/show_bug.cgi?id=90405

Based on a patch by Keyar Hood.

Reviewed by Dirk Schulze.

Source/WebCore:

In order for CSS to reference SVG filters that will occur later in
the document, or will be added at a future time, we need a way to
notify the target element (the one the filter style is applied to)
when the correct SVG filter is added to the DOM.
There is already code for SVG elements that handles this problem, in
SVGResourcesCache. This patch allows any element to have a reference to
an SVG element in SVGResourceCache.

Tests: css3/filters/effect-reference-after.html

css3/filters/effect-reference-delete-crash.html
css3/filters/effect-reference-delete.html
css3/filters/effect-reference-rename.html
css3/filters/effect-reference-reset-style-delete-crash.html
svg/filters/filter-cycle.html

  • dom/Element.cpp:

(WebCore::Element::hasPendingResources): Added
(WebCore::Element::setHasPendingResources): Added
(WebCore::Element::clearHasPendingResources): Added

  • dom/Element.h:

Accessors for ElementRareData's new bit flag.
(WebCore::Element::buildPendingResource):
Virtual function to override for referenced elements (moved from SVGElement).

  • dom/ElementRareData.h:

(WebCore::ElementRareData::ElementRareData):
Add a new bit flag to indicate whether the element depends on pending resources or not.

  • platform/graphics/texmap/TextureMapperImageBuffer.cpp:

(WebCore::BitmapTextureImageBuffer::applyFilters):
Changed to the new function signature for FilterEffectRenderer::build().

  • rendering/FilterEffectRenderer.cpp:

(WebCore::FilterEffectRenderer::buildReferenceFilter):
Changed signature to accept a RenderObject rather than a Document, so we know which node to notify when the SVG filter arrives. If the referenced filter cannot be found, add its id as a pending reference.
(WebCore::FilterEffectRenderer::build):
Changed signature to accept a RenderObject rather than a Document, so we know which node to notify when the SVG filter arrives.

  • rendering/FilterEffectRenderer.h:

Change to signatures of build() and buildReferenceFilter() to pass
a RenderObject instead of a Document.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateOrRemoveFilterEffectRenderer):
Use the new semantics for FilterEffectRenderer::build().

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::willBeDestroyed):
Notify the cache if a RenderObject is destroyed.

  • rendering/svg/RenderSVGResourceContainer.cpp:

(WebCore::RenderSVGResourceContainer::registerResource):
Call clearHasPendingResourceIfPossible on the SVGDocumentExtensions, not
on the element, since we want to support generic Elements.

  • rendering/svg/SVGResources.cpp:

(WebCore::SVGResources::buildCachedResources):
Add support for building filters on non-SVG elements.

  • rendering/svg/SVGResourcesCache.cpp:

(WebCore::SVGResourcesCache::addResourcesFromRenderObject):
Do cycle detection only on SVG elements.
(WebCore::SVGResourcesCache::clientStyleChanged):
For non-SVG elements, set a synthetic style change when parent resources
are invalidated.
(WebCore::SVGResourcesCache::resourceDestroyed):
Add support for non-SVG Elements.

  • svg/SVGDocumentExtensions.cpp:

(WebCore::SVGDocumentExtensions::addPendingResource):
(WebCore::SVGDocumentExtensions::isElementPendingResources):
(WebCore::SVGDocumentExtensions::isElementPendingResource):
(WebCore::SVGDocumentExtensions::removeElementFromPendingResources):
(WebCore::SVGDocumentExtensions::removeElementFromPendingResourcesForRemoval):
Changed to allow use of Element instead of SVGElement.
(WebCore::SVGDocumentExtensions::clearHasPendingResourcesIfPossible):
Moved from SVGElement, and made to work on any Element. This way,
we avoid adding this function to Element itself.

  • svg/SVGDocumentExtensions.h:

SVGElement -> Element.

  • svg/SVGElement.cpp:
  • svg/SVGElement.h:

All functions moved to Element, except for clearHasPendingResourcesIfPossible() moved to SVGDocumentExtensions.

  • svg/SVGElementRareData.h:

(WebCore::SVGElementRareData::SVGElementRareData):
m_hasPendingResources add accessors moved to ElementRareData.

  • svg/SVGStyledElement.cpp:

(WebCore::SVGStyledElement::buildPendingResourcesIfNeeded):
SVGElement -> Element, and call SVGDocumentExtensions for
clearHasPendingResourcesIfPossible().

LayoutTests:

  • css3/filters/effect-reference-after-expected.txt: Added.
  • css3/filters/effect-reference-after.html: Added.
  • css3/filters/effect-reference-delete-crash-expected.txt: Added.
  • css3/filters/effect-reference-delete-crash.html: Added.
  • css3/filters/effect-reference-delete-expected.txt: Added.
  • css3/filters/effect-reference-delete.html: Added.
  • css3/filters/effect-reference-rename-expected.txt: Added.
  • css3/filters/effect-reference-rename.html: Added.
  • css3/filters/effect-reference-reset-style-delete-crash-expected.txt: Added.
  • css3/filters/effect-reference-reset-style-delete-crash.html: Added.
  • css3/filters/script-tests/effect-reference-delete-crash.js: Added.
  • css3/filters/script-tests/effect-reference-reset-style-delete-crash.js: Added.
  • svg/filters/filter-cycle.html: Added.
  • svg/filters/filter-cycle-expected.html: Added.
  • platform/chromium-linux/css3/filters/effect-reference-after-expected: Added.
  • platform/chromium-linux/css3/filters/effect-reference-delete-expected.png: Added.
  • platform/chromium-linux/css3/filters/effect-reference-rename-expected.png: Added.
  • platform/chromium/TestExpectations:
12:52 PM Changeset in webkit [136974] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebCore

Web Inspector: Add shortcut to set visibility:hidden on elements in the ElementsPanel
https://bugs.webkit.org/show_bug.cgi?id=104146

Patch by Eberhard Graether <egraether@google.com> on 2012-12-07
Reviewed by Pavel Feldman.

This change adds the shortcut H to set and unset visibility:hidden on the inline style
of elements in the Elementspanel. This feature makes it easier to look for elements that
cause bad rendering performance, because visibility:hidden does not paint the element,
but preserves the layout.

No new tests.

  • English.lproj/localizedStrings.js:
  • inspector/front-end/CSSStyleModel.js:

(WebInspector.CSSStyleModel.prototype.toggleInlineVisibility):

  • inspector/front-end/ElementsPanelDescriptor.js:

(WebInspector.ElementsPanelDescriptor.prototype.registerShortcuts):

  • inspector/front-end/ElementsTreeOutline.js:

(WebInspector.ElementsTreeOutline.prototype.handleShortcut):

  • inspector/front-end/KeyboardShortcut.js:
12:47 PM Changeset in webkit [136973] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

REGRESSION (r136770): Assertion failure in sendMessage() whenever WebProcess crashes
https://bugs.webkit.org/show_bug.cgi?id=104392

Reviewed by Anders Carlsson.

  • Shared/ChildProcessProxy.cpp: (WebKit::ChildProcessProxy::sendMessage): Changed back to using m_conection where it can be null.
12:41 PM Changeset in webkit [136972] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

Improve our decoded data size estimation for style sheets.
<http://webkit.org/b/104388>

Reviewed by Antti Koivisto.

Tweak how we estimate the total decoded size of a given style sheet. (We were guessing at about 30% of actual size.)
This is just used as a hint to the WebCore cache.

  • css/StylePropertySet.cpp:

(WebCore::StylePropertySet::averageSizeInBytes):

  • css/StyleRule.cpp:

(WebCore::StyleRule::averageSizeInBytes):

12:39 PM Changeset in webkit [136971] by alexis@webkit.org
  • 3 edits in trunk/LayoutTests

Unreviewed EFL gardening.

css3/calc/background-position-parsing.html is now working as
webkit.org/b/104131 has been fixed. I also rebased
background_position_three_four_values-expected.png which was incorrect and
now with the CSS3 background-position offsets it renders correctly.

  • platform/efl-wk2/TestExpectations:
  • platform/efl/ietestcenter/css3/bordersbackgrounds/background_position_three_four_values-expected.png:
12:34 PM Changeset in webkit [136970] by alexis@webkit.org
  • 4 edits in trunk

[Chromium] Enable CSS3 background-position offset by default.
https://bugs.webkit.org/show_bug.cgi?id=104253

Reviewed by Tony Chang.

Source/WebKit/chromium:

Turn on the feature by default.

  • features.gypi:

LayoutTests:

Enable by default the new CSS3 background position offsets therefore we
can unskip the tests.

  • platform/chromium/TestExpectations:
12:22 PM Changeset in webkit [136969] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] GeolocationClientBB should show file system path in prompts when host is not avaliable
https://bugs.webkit.org/show_bug.cgi?id=103785

PR 247656

Patch by Otto Derek Cheung <otcheung@rim.com> on 2012-12-07
Reviewed by Rob Buis.

Adding a special case for origins with protocol "file". We will use the filepath as
an origin when asking for geolocation permission.

If the origin is unique (ie. from a sandboxed iframe), we will fail the location request
right away.

  • WebCoreSupport/GeolocationClientBlackBerry.cpp:

(getOrigin):
(GeolocationClientBlackBerry::requestPermission):
(GeolocationClientBlackBerry::cancelPermissionRequest):

11:34 AM Changeset in webkit [136968] by simonjam@chromium.org
  • 2 edits in trunk/LayoutTests

[Chromium] Enable Intel's Resource Timing tests
https://bugs.webkit.org/show_bug.cgi?id=104330

Reviewed by Tony Gentilcore.

  • platform/chromium/TestExpectations: 2 fail because they rely on iframes.
11:30 AM Changeset in webkit [136967] by robert@webkit.org
  • 3 edits
    4 adds in trunk

REGRESSION(r127163): Content is offset to the right at rea.ru
https://bugs.webkit.org/show_bug.cgi?id=103116

Reviewed by David Hyatt.

Source/WebCore:

The top margin edge of a self-collapsing block that clears a float intrudes up into it by the height of the margin,
so to ensure any child floats of the self-collapsing block only go as far as the top content edge
add the margin back in to the block's current height before placing them.

Tests: fast/block/margin-collapse/self-collapsing-block-with-float-child-collapsed-margins.html

fast/block/margin-collapse/self-collapsing-block-with-float-child.html

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlock::LineBreaker::skipLeadingWhitespace):

LayoutTests:

  • fast/block/margin-collapse/self-collapsing-block-with-float-child-collapsed-margins-expected.html: Added.
  • fast/block/margin-collapse/self-collapsing-block-with-float-child-collapsed-margins.html: Added.
  • fast/block/margin-collapse/self-collapsing-block-with-float-child-expected.html: Added.
  • fast/block/margin-collapse/self-collapsing-block-with-float-child.html: Added.
11:23 AM Changeset in webkit [136966] by alexis@webkit.org
  • 3 edits in trunk/Source/WebCore

Improve r136754 by hardening checks of expected values for background-position.
https://bugs.webkit.org/show_bug.cgi?id=104380

Reviewed by Antti Koivisto.

r136754 was landed to fix the problem of checking successively two calc
values with validUnit. It was asserting as validUnit expect you to use
the parsed value of the calc after the call. In this case we pre-check the
background-position longhand to count how many values it has to then
call the right parsing functions accordingly. While r136754 is not
wrong it is better to harden isPotentialPositionValue with the real
expected units and keywords. For this matter we can reuse the
ReleaseParsedCalcValueCondition enum which was created with the same
idea as this patch. If you are not interested of the calc parsed
value when calling validUnit() you can now specify it, I believe it is
good to have it explicit to avoid mistake in the future.

No new tests : this is covered by css3/*, fast/backgrounds/*.

  • css/CSSParser.cpp:

(WebCore::CSSParser::validCalculationUnit):
(WebCore::CSSParser::validUnit):
(WebCore::CSSParser::isPotentialPositionValue):

  • css/CSSParser.h:

(WebCore::CSSParser::validUnit):
(CSSParser):

11:16 AM Changeset in webkit [136965] by commit-queue@webkit.org
  • 5 edits in trunk

[BlackBerry] Update BlackBerry Port to use new Graphics::createBuffer BufferType enum values.
https://bugs.webkit.org/show_bug.cgi?id=104121

Patch by Mike Lattanzio <mlattanzio@rim.com> on 2012-12-07
Reviewed by Rob Buis.

Source/WebKit/blackberry:

Update createBuffer calls to reflect new BufferType enum.
Set buffers opaque if possible to avoid unnecessary blends.
Internal PR 254649
Internal Review: Jakob Petsovits

  • WebKitSupport/BackingStoreTile.cpp:

(BlackBerry::WebKit::TileBuffer::nativeBuffer):

Tools:

Update createBuffer call to reflect new BufferType enum.
Internal PR 254649
Internal Review: Jakob Petsovits

DRT is always backed for maximum compatibility.

  • DumpRenderTree/blackberry/PixelDumpSupportBlackBerry.cpp:

(createBitmapContextFromWebView):

11:10 AM Changeset in webkit [136964] by bfulgham@webkit.org
  • 3 edits in trunk/Source/WebCore

Remove unnecessary casts in transformations.
https://bugs.webkit.org/show_bug.cgi?id=104376

Reviewed by Simon Fraser.

Several casts from float-to-double are performed prior to
storing the result in a double type. These casts are unnecessary
overhead and reduce the clarity of the source code.

No new tests. Covered by existing CSS test cases.

  • platform/graphics/transforms/RotateTransformOperation.cpp:
  • platform/graphics/transforms/TransformationMatrix.cpp:
10:49 AM Changeset in webkit [136963] by mkwst@chromium.org
  • 4 edits in trunk/LayoutTests

fast/frames/sandboxed-iframe-scripting.html contains very misleading comments.
https://bugs.webkit.org/show_bug.cgi?id=104363

Reviewed by Darin Adler.

The comments in this test describe a state that is in fact the opposite
of what's being tested. That confused me. This patch corrects the
comments to make it clear that adding a sandbox attribute at runtime has
no effect on the frame; the sandboxing flags are set when the nested
browsing context is _navigated_, not when the attribute changes value.

Spec: http://www.whatwg.org/specs/web-apps/current-work/multipage/the-iframe-element.html#attr-iframe-sandbox

  • fast/frames/resources/sandboxed-iframe-script-dynamic.html:
  • fast/frames/sandboxed-iframe-scripting-expected.txt:
  • fast/frames/sandboxed-iframe-scripting.html:
10:26 AM Changeset in webkit [136962] by jochen@chromium.org
  • 2 edits in trunk/Tools

Add 'CHROMIUM_DEVEL_SANDBOX' to the environment variables to copy for layout test drivers
https://bugs.webkit.org/show_bug.cgi?id=104355

Reviewed by Dirk Pranke.

This enables chromium's content_shell driver to run with the full SUID
sandbox.

  • Scripts/webkitpy/layout_tests/port/base.py:

(Port.to.setup_environ_for_server):

10:16 AM Changeset in webkit [136961] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Double zoom animation when focusing on input field.
https://bugs.webkit.org/show_bug.cgi?id=104375

Patch by Andrew Lo <anlo@rim.com> on 2012-12-07
Reviewed by Rob Buis.
Internally reviewed by Jakob Petsovits.

UI thread does not need to be notified of a scale change if the WebKit
thread scale has not changed.

This caused issues when two viewport resizes occured one after the other.
Before the scale change due to the first resize could be set in the WK
thread's scale value, it caused WK thread to dispatch a scaleChanged,
overwritting & resetting the new UI thread scale value, resulting in the
double zoom animation.

The larger issue dealing with synchronization between the threads where
scale changes could occur on either thread, however that is beyond the
scope of this change.

Internal PR253122

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::shouldZoomAboutPoint):

10:07 AM Changeset in webkit [136960] by tony@chromium.org
  • 14 edits
    2 copies in branches/chromium/1312

Merge 136878

REGRESSION(r135082): Restore the ability to insert author level style sheets from script
https://bugs.webkit.org/show_bug.cgi?id=104042

Reviewed by Antti Koivisto.

.:

Update exports for Internals.cpp.

  • Source/autotools/symbols.filter:

Source/WebCore:

Add DocumentStyleSheetCollection::addAuthorSheet so embedders can allow scripts
to insert author level styles. Expose the method to window.interals for testing.

Test: userscripts/insert-stylesheets.html

  • WebCore.exp.in: Update exports for Internals.cpp.
  • WebCore.order: Update exports for Internals.cpp.
  • dom/DocumentStyleSheetCollection.cpp:

(WebCore::DocumentStyleSheetCollection::~DocumentStyleSheetCollection):
(WebCore::DocumentStyleSheetCollection::addAuthorSheet): Add the stylesheet and force a style recalc.
(WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets): Include author level styles.
(WebCore::DocumentStyleSheetCollection::reportMemoryUsage): Include author styles.

  • dom/DocumentStyleSheetCollection.h:

(WebCore::DocumentStyleSheetCollection::documentAuthorStyleSheets): Accessor.
(DocumentStyleSheetCollection): Keep track of author styles added by script.

  • testing/Internals.cpp:

(WebCore::Internals::insertAuthorCSS): Testing addAuthorSheet.
(WebCore::Internals::insertUserCSS): Testing addUserSheet.

  • testing/Internals.h:
  • testing/Internals.idl: Add addAuthorSheet and addUserSheet.

Source/WebKit/chromium:

  • src/WebDocument.cpp:

(WebKit::WebDocument::insertUserStyleSheet): Use addAuthorSheet if an author level script is requested.

Source/WebKit2:

Update exports for Internals.cpp.

  • win/WebKit2.def.in:

LayoutTests:

Add a test that makes sure that an author level style is set.

  • userscripts/insert-stylesheets-expected.txt: Added.
  • userscripts/insert-stylesheets.html: Added.

TBR=tony@chromium.org
Review URL: https://codereview.chromium.org/11471034

9:54 AM Changeset in webkit [136959] by commit-queue@webkit.org
  • 19 edits
    4 adds in trunk

Provide the backend for exposing the layer tree to the Web Inspector
https://bugs.webkit.org/show_bug.cgi?id=103513

Patch by Antoine Quint <Antoine Quint> on 2012-12-07
Reviewed by Pavel Feldman.

Source/WebCore:

The purpose of this patch is to provide a new agent enabling the Web Inspector to interface
with WebCore to access information about the render layer tree and, more specifically, expose
useful information about layers backed by textures composited on the GPU such as metrics and
backing store. Thus we now provide a LayerTreeAgent which will inform the front-end of
changes to the render layer tree via a new layerTreeDidChange event, providing an object
containing the entire hierarchy of RenderLayers for the inspected document. This hierarchy
can be queried at any time using the .getLayerTree() method on the LayerTreeAgent. Finally,
the LayerTreeAgent also exposes a .nodeIdForLayerId() method allowing to get the id of the
node associated with the RenderLayer with the provided layer id.

In terms of implementation, RenderLayerCompositor has been changed such that in its
updateCompositingLayers() method we call the layerTreeDidChange method on the
InspectorLayerTreeAgent instance via the InspectorInstrumentation.

Test: inspector-protocol/layer-tree.html

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • inspector/Inspector.json: Define new types IntRect (x, y, width, height) and Layer, which

holds the information for a RenderLayer (layerId, bounds, isComposited, memory,
compositedBounds) and its children (childLayers). We also define the methods of the
LayerTreeAgent object (enable, disable, getLayerTree, nodeIdForLayerId) and the
layerTreeDidChange event it
fires.

  • inspector/InspectorAllInOne.cpp:
  • inspector/InspectorController.cpp:

(WebCore::InspectorController::InspectorController):

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::pushNodePathForRenderLayerToFrontend): New method facilitating
pushing the node associated with a given RenderLayer to the front-end.
(WebCore):

  • inspector/InspectorDOMAgent.h:

(InspectorDOMAgent):

  • inspector/InspectorInstrumentation.cpp:

(WebCore):
(WebCore::InspectorInstrumentation::didCommitLoadImpl):
(WebCore::InspectorInstrumentation::layerTreeDidChangeImpl):
(WebCore::InspectorInstrumentation::renderLayerDestroyedImpl):

  • inspector/InspectorInstrumentation.h:

(WebCore):
(InspectorInstrumentation):
(WebCore::InspectorInstrumentation::layerTreeDidChange):
(WebCore::InspectorInstrumentation::renderLayerDestroyed):

  • inspector/InspectorLayerTreeAgent.cpp: Added.

(WebCore):
(LayerTreeAgentState):
(WebCore::InspectorLayerTreeAgent::InspectorLayerTreeAgent):
(WebCore::InspectorLayerTreeAgent::~InspectorLayerTreeAgent):
(WebCore::InspectorLayerTreeAgent::setFrontend):
(WebCore::InspectorLayerTreeAgent::clearFrontend):
(WebCore::InspectorLayerTreeAgent::restore):
(WebCore::InspectorLayerTreeAgent::reset):
(WebCore::InspectorLayerTreeAgent::enable):
(WebCore::InspectorLayerTreeAgent::disable):
(WebCore::InspectorLayerTreeAgent::layerTreeDidChange):
(WebCore::InspectorLayerTreeAgent::renderLayerDestroyed):
(WebCore::InspectorLayerTreeAgent::getLayerTree):
(WebCore::InspectorLayerTreeAgent::buildObjectForRootLayer):
(WebCore::InspectorLayerTreeAgent::buildObjectForLayer): Build the entire hierarchy of
RenderLayers from the provided RenderLayer.
(WebCore::InspectorLayerTreeAgent::buildObjectForIntRect):
(WebCore::InspectorLayerTreeAgent::bind):
(WebCore::InspectorLayerTreeAgent::unbind):
(WebCore::InspectorLayerTreeAgent::nodeIdForLayerId):

  • inspector/InspectorLayerTreeAgent.h: Added.

(WebCore):
(InspectorLayerTreeAgent):
(WebCore::InspectorLayerTreeAgent::create):

  • inspector/InstrumentingAgents.h:

(WebCore):
(WebCore::InstrumentingAgents::InstrumentingAgents):
(InstrumentingAgents):
(WebCore::InstrumentingAgents::inspectorLayerTreeAgent):
(WebCore::InstrumentingAgents::setInspectorLayerTreeAgent):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::updateCompositingLayers): Call the layerTreeDidChange method
on the LayerTreeAgent via the InspectorInstrumentation to inform the front-end that the
RenderLayer hierarchy has changed.
(WebCore):
(WebCore::RenderLayerCompositor::layerBecameNonComposited): Call the renderLayerDestroyed
method on the LayerTreeAgent via the InspectorInstrumentation to unbind the layer that is
being destroyed.

  • rendering/RenderLayerCompositor.h:

(RenderLayerCompositor):

LayoutTests:

Adding a LayoutTest that exercises the various APIs and event exposed by the LayerTreeAgent.
This test is skipped on EFL where ACCELERATED_COMPOSITING is not available.

  • inspector-protocol/layer-tree-expected.txt: Added.
  • inspector-protocol/layer-tree.html: Added.
  • platform/efl/TestExpectations:
9:52 AM Changeset in webkit [136958] by jsbell@chromium.org
  • 8 edits in trunk/Source/WebCore

IndexedDB: Check SSV version when opening database
https://bugs.webkit.org/show_bug.cgi?id=102243

Reviewed by Tony Chang.

Ensure that the data format (SerializedScriptValue) isn't "from the future" when opening
a backing store. Treat an unknown version the same as an unknown schema version.

Chromium-side test at https://codereview.chromium.org/11470013/ (same as other schema version tests)

  • Modules/indexeddb/IDBBackingStore.cpp:

(WebCore):
(WebCore::isSchemaKnown): Check data version as well.
(WebCore::setUpMetadata): Ensure data version is recorded; bump schema version.

  • Modules/indexeddb/IDBLevelDBCoding.cpp: Encoding for "DataVersion" global metadata entry.

(IDBLevelDBCoding):
(WebCore::IDBLevelDBCoding::compare):
(WebCore::IDBLevelDBCoding::DataVersionKey::encode):

  • Modules/indexeddb/IDBLevelDBCoding.h:

(DataVersionKey):
(IDBLevelDBCoding):

  • bindings/js/SerializedScriptValue.cpp:

(SerializedScriptValue::wireFormatVersion): New method (JSC side).

  • bindings/js/SerializedScriptValue.h:
  • bindings/v8/SerializedScriptValue.cpp:

(WebCore::SerializedScriptValue::wireFormatVersion): New method (V8 side).
(WebCore):

  • bindings/v8/SerializedScriptValue.h:

(SerializedScriptValue):

8:54 AM Changeset in webkit [136957] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[EFL] Fix tools for WebKit2-only builds
https://bugs.webkit.org/show_bug.cgi?id=103904

Patch by KyungTae Kim <ktf.kim@samsung.com> on 2012-12-07
Reviewed by Laszlo Gombos.

The libewebkit2.so should be used for library path for EFL WebKit2.

  • Scripts/webkitdirs.pm:

(builtDylibPathForName):

8:39 AM QtWebKit edited by jocelyn.turcotte@digia.com
Quick cleanup to remove deprecated or misleading information. Those … (diff)
8:32 AM Changeset in webkit [136956] by akling@apple.com
  • 5 edits in trunk/Source/WebCore

Throw away StyleResolvers that haven't been used for a long time.
<http://webkit.org/b/104314>

Reviewed by Antti Koivisto.

A lot of memory gets tied up in StyleResolver and the structures and caches that hang from it.
Add a mechanism to throw it away after it's been unused for a while (1 minute.)
This frees up large amounts of memory on inactive pages (background tabs) and static content.

We already have a number of scenarios where the document style is invalidated by throwing away
the StyleResolver so the major code paths are prepared for having a null StyleResolver* on occasion.

~20MB progression on Membuster3.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::styleForElement):
(WebCore::StyleResolver::styleForKeyframe):
(WebCore::StyleResolver::pseudoStyleForElement):
(WebCore::StyleResolver::styleForPage):

Call document()->didAccessStyleResolver() from the relevant parts of StyleResolver's public API.
This prevents Document from throwing the StyleResolver away for 1 minute after it's used.

  • dom/Document.h:
  • dom/Document.cpp:

(WebCore::Document::Document):
(WebCore::Document::createStyleResolver):
(WebCore::Document::didAccessStyleResolver):
(WebCore::Document::styleResolverThrowawayTimerFired):

Add a mechanism to call clearStyleResolver() on a refreshing timer.

  • dom/Element.cpp:

(WebCore::Element::attributeChanged):

If an attribute change occurs while the document doesn't have a StyleResolver, dirty the element style
since we can't be sure that the attribute change didn't affect any rules.

8:09 AM Changeset in webkit [136955] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

Adding an image mismatch expectation for fast/exclusions/shape-inside/shape-inside-rounded-rectangle-fit-002.html.

  • platform/gtk/TestExpectations:
7:51 AM Changeset in webkit [136954] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

REGRESSION(r136947): Made two tests fail on all platforms (Requested by tonikitoo-ll on #webkit).
https://bugs.webkit.org/show_bug.cgi?id=104368

Unreviewed partial rollout.

r136947 was too aggressive in the sense of fixing RenderBox::canBeScrolledAndHasScrollableArea
as part of itself. Revert the related changes in order to fix both
fast/events/autoscroll-should-not-stop-on-keypress.html and
fast/events/autoscroll-in-textfield.html

Patch by Antonio Gomes <a1.gomes@sisa.samsung.com> on 2012-12-07

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::canBeScrolledAndHasScrollableArea):

  • rendering/RenderBox.h:
7:02 AM Changeset in webkit [136953] by allan.jensen@digia.com
  • 5 edits in trunk

[TexMap] Can not do multiple accelerated animations
https://bugs.webkit.org/show_bug.cgi?id=104364

Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

By removing all animations with the same name, it is not possible to animate more than one property accelerated.
Instead only remove any animations with both same name and property.

Covered by animations/opacity-transform-animation.html.

  • platform/graphics/GraphicsLayerAnimation.cpp:

(WebCore::GraphicsLayerAnimations::add):
(WebCore::GraphicsLayerAnimations::remove):

  • platform/graphics/GraphicsLayerAnimation.h:

(GraphicsLayerAnimations):

LayoutTests:

Unskip test animating multiple accelerated properties.

  • platform/qt/TestExpectations:
6:52 AM Changeset in webkit [136952] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[EFL] Fix build warning in StyleResolver.cpp using gcc 4.7.2
https://bugs.webkit.org/show_bug.cgi?id=104262

Patch by Sujin Park <sujjin.park@gmail.com> on 2012-12-07
Reviewed by Alexis Menard.

EFL port treats build warning as compile error and there are
maybe-uninitialized when building with gcc 4.7.2.
This patch adds default case to resolve a build break.

  • css/StyleResolver.cpp:

(WebCore::getFontAndGlyphOrientation):

6:47 AM Changeset in webkit [136951] by pilgrim@chromium.org
  • 3 edits
    1 add in trunk/Source/WebKit/chromium

[Chromium] Move WorkerContextProxy::create out of PlatformSupport
https://bugs.webkit.org/show_bug.cgi?id=104151

Reviewed by Kentaro Hara.

Doesn't really solve the layering violation as much as kick it
down the road a bit. Part of a refactoring series; see tracking
bug 82948.

  • WebKit.gyp:
  • src/PlatformSupport.cpp:

(WebCore):

  • src/WorkerContextProxy.cpp: Added.

(WebCore):
(WebCore::WebCore::WorkerContextProxy::create):

6:30 AM Changeset in webkit [136950] by apavlov@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: [Chromium] Ctrl + ']' "Goto right panel" keyboard shortcut doesn't work
https://bugs.webkit.org/show_bug.cgi?id=104250

Reviewed by Pavel Feldman.

Ignore "keypress" event resulting from a WM_CHAR message emitted by Win7 upon Ctrl + ']' keypress.

  • inspector/front-end/InspectorView.js:

(WebInspector.InspectorView.prototype._keyPress): Ignore all events with charCode < 32.

6:13 AM Changeset in webkit [136949] by pfeldman@chromium.org
  • 18 edits in trunk

Web Inspector: provide a way to reload page with given script preprocessor.
https://bugs.webkit.org/show_bug.cgi?id=80992

Reviewed by Yury Semikhatsky.

Source/WebCore:

This change introduces a way to inject 'preprocessor' script that would process
each JavaScript file before it gets into the VM for compilation. That way inspector
can expose capabilities such as assessing code coverage or tracing all the calls.

Preprocessor script is stored in the page agent where it waits for reload to happen.
Upon reload, ScriptDebugServer is using it to patch the script sources.

Test: inspector/debugger/debugger-script-preprocessor.html

  • bindings/js/ScriptDebugServer.h:

(WebCore::ScriptDebugServer::setScriptPreprocessor):
(ScriptDebugServer):

  • bindings/v8/DebuggerScript.js:
  • bindings/v8/ScriptDebugServer.cpp:

(ScriptDebugServer::ScriptPreprocessor):
(WebCore::ScriptDebugServer::ScriptPreprocessor::ScriptPreprocessor):
(WebCore::ScriptDebugServer::ScriptPreprocessor::preprocessSourceCode):
(WebCore::ScriptDebugServer::ScriptPreprocessor::~ScriptPreprocessor):
(WebCore):
(WebCore::ScriptDebugServer::~ScriptDebugServer):
(WebCore::ScriptDebugServer::setScriptSource):
(WebCore::ScriptDebugServer::setScriptPreprocessor):
(WebCore::ScriptDebugServer::handleV8DebugEvent):

  • bindings/v8/ScriptDebugServer.h:

(ScriptDebugServer):

  • bindings/v8/custom/V8InjectedScriptManager.cpp:

(WebCore::InjectedScriptManager::createInjectedScript):

  • inspector/Inspector.json:
  • inspector/InspectorController.cpp:

(WebCore::InspectorController::InspectorController):

  • inspector/InspectorDebuggerAgent.h:

(InspectorDebuggerAgent):

  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::reload):
(WebCore::InspectorPageAgent::frameNavigated):

  • inspector/InspectorPageAgent.h:

(WebCore::InspectorPageAgent::page):
(WebCore::InspectorPageAgent::scriptPreprocessor):
(InspectorPageAgent):

  • inspector/PageDebuggerAgent.cpp:

(WebCore::PageDebuggerAgent::create):
(WebCore::PageDebuggerAgent::PageDebuggerAgent):
(WebCore::PageDebuggerAgent::startListeningScriptDebugServer):
(WebCore::PageDebuggerAgent::stopListeningScriptDebugServer):
(WebCore::PageDebuggerAgent::injectedScriptForEval):
(WebCore::PageDebuggerAgent::didClearMainFrameWindowObject):
(WebCore):

  • inspector/PageDebuggerAgent.h:

(WebCore):
(PageDebuggerAgent):

LayoutTests:

  • http/tests/inspector/inspector-test.js:

(initialize_InspectorTest.InspectorTest.hardReloadPage):
(initialize_InspectorTest.InspectorTest.reloadPage):
(initialize_InspectorTest.InspectorTest._innerReloadPage):

  • inspector/debugger/debugger-script-preprocessor-expected.txt: Added.
  • inspector/debugger/debugger-script-preprocessor.html: Added.
  • platform/chromium/inspector/debugger/debugger-script-preprocessor-expected.txt: Added.
5:22 AM Changeset in webkit [136948] by apavlov@chromium.org
  • 5 edits
    2 adds in trunk

Web Inspector: the "Sources" column is always empty in CSS selector profiles
https://bugs.webkit.org/show_bug.cgi?id=104225

Reviewed by Pavel Feldman.

Source/WebCore:

r112923 and preceding changesets modified the CSSOM wrapper creation for StyleRules in a way
that would not specify the parent CSSStyleSheet for the CSSStyleRules created. Instead,
styleResolver->ensureFullCSSOMWrapperForInspector(rule) is now used to make sure the CSSStyleRule
has a valid parent CSSStyleSheet.

Test: inspector/profiler/selector-profiler-url.html

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::collectMatchingRulesForList):
(WebCore::StyleResolver::applyProperties):

  • inspector/InspectorInstrumentation.cpp:

(WebCore):
(WebCore::InspectorInstrumentation::willMatchRuleImpl):
(WebCore::InspectorInstrumentation::willProcessRuleImpl):

  • inspector/InspectorInstrumentation.h:

(WebCore):
(InspectorInstrumentation):
(WebCore::InspectorInstrumentation::willMatchRule):
(WebCore::InspectorInstrumentation::willProcessRule):

LayoutTests:

  • inspector/profiler/selector-profiler-url-expected.txt: Added.
  • inspector/profiler/selector-profiler-url.html: Added.
5:03 AM Changeset in webkit [136947] by tonikitoo@webkit.org
  • 5 edits in trunk/Source/WebCore

Rework bug 97927 to not depend on RenderLayer::allowsScrolling
https://bugs.webkit.org/show_bug.cgi?id=103999

Reviewed by James Robinson.
Patch by Antonio Gomes <a1.gomes@sisa.samsung.com>

Patch makes it possible for methods like
RenderLayer::{updateScrollbarsAfterLayout,updateScrollbarsAfterStyleChange}
to not depend on RenderLayer::allowsScrolling to determine if a layer should
be added or removed from its FrameView's ScrollableArea set.

Following the same logic, the patch also fixes RenderBox::canBeScrolledAndHasScrollableArea
method to take into account the box' scroll allowance in a given direction only
when it overflows. This allows simplifying custom methods like InRegionScrollerPrivate::canScrollRenderBox
(@WebKit/blackberry/Api/InRegionScroller.cpp).

The naming pattern for the newly added methods were chosen to keep the consistency
with the existing ones, in the same class.

No new test: it is already covered by ScrollingCoordinatorChromiumTest.clippedBodyTest.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::canBeScrolledAndHasScrollableArea):

  • rendering/RenderBox.h:

(RenderBox):
(WebCore::RenderBox::hasScrollableOverflowX):
(WebCore::RenderBox::hasScrollableOverflowY):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::hasScrollableHorizontalOverflow):
(WebCore):
(WebCore::RenderLayer::hasScrollableVerticalOverflow):
(WebCore::RenderLayer::updateScrollbarsAfterLayout):
(WebCore::RenderLayer::updateScrollbarsAfterStyleChange):

  • rendering/RenderLayer.h:

(RenderLayer):

4:57 AM Changeset in webkit [136946] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[BlackBerry] make "isVideo" information available to platform media player
https://bugs.webkit.org/show_bug.cgi?id=104334

Patch by Max Feil <mfeil@rim.com> on 2012-12-07
Reviewed by Rob Buis.

The platform player needs to know whether the element is <video>
or <audio>, so it can make certain decisions before metadata
is ready. This is part of a performance optimization refactor
which does not change functionality so no new tests are required.

  • platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:

(WebCore::MediaPlayerPrivate::load):

4:47 AM Changeset in webkit [136945] by loislo@chromium.org
  • 2 edits
    2 moves
    4 deletes in trunk/LayoutTests

Web Inspector: enable inspector tests on chromium-mac.
https://bugs.webkit.org/show_bug.cgi?id=104357

Reviewed by Pavel Feldman.

After chromium r171707 patch we can enable inspector tests on chromium-mac.
Two expectation files were moved from chromium-win to chromium because chromium-mac doesn't inherit expectations from chromium-win.

Expectations in chromium-mac were removed because they were added by mistake.
[ Win Linux ] filter was removed because I need to add Mac but [ Mac Win Linux ] is equivalent to nothing.

  • platform/chromium-mac/inspector/console/command-line-api-getEventListeners-expected.txt: Removed.
  • platform/chromium-mac/inspector/cookie-parser-expected.txt: Removed.
  • platform/chromium-mac/inspector/debugger/debugger-activation-crash2-expected.txt: Removed.
  • platform/chromium-mac/inspector/debugger/event-listener-breakpoints-expected.txt: Removed.
  • platform/chromium/TestExpectations:
  • platform/chromium/inspector/console/command-line-api-getEventListeners-expected.txt: Renamed from LayoutTests/platform/chromium-win/inspector/console/command-line-api-getEventListeners-expected.txt.
  • platform/chromium/inspector/debugger/debugger-scripts-expected.txt: Renamed from LayoutTests/platform/chromium-win/inspector/debugger/debugger-scripts-expected.txt.
4:38 AM Changeset in webkit [136944] by sudarsana.nagineni@linux.intel.com
  • 1 edit
    2 adds
    4 deletes in trunk/LayoutTests

Unreviewed EFL gardening.

Remove platform-specific baselines for viewsource-attribute.html
and viewsource-on-image-file.html as the current results matches
base expectations. Also, add missing platform-specific baselines
for fast/text/decorations-with-text-combine.html.

  • platform/efl-wk2/fast/frames/viewsource-attribute-expected.png: Removed.
  • platform/efl-wk2/fast/frames/viewsource-attribute-expected.txt: Removed.
  • platform/efl-wk2/fast/frames/viewsource-on-image-file-expected.png: Removed.
  • platform/efl-wk2/fast/frames/viewsource-on-image-file-expected.txt: Removed.
  • platform/efl/fast/text/decorations-with-text-combine-expected.png: Added.
  • platform/efl/fast/text/decorations-with-text-combine-expected.txt: Added.
4:01 AM Changeset in webkit [136943] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/qt

[Qt][Qnx] Fix QNX build by adding missing include.
https://bugs.webkit.org/show_bug.cgi?id=104359

Patch by Sergio Martins <sergio.martins@kdab.com> on 2012-12-07
Reviewed by Jocelyn Turcotte.

It's where WEBKIT_EXPORTDATA is defined, so include it. Not sure why other
platforms aren't failing.

  • WebCoreSupport/QWebPageAdapter.h:
2:50 AM Changeset in webkit [136942] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[EFL] [AC] Implement ImageExtractor::extractImage in GraphicsContext3DEfl.
https://bugs.webkit.org/show_bug.cgi?id=104271.

Patch by Kondapally Kalyan <kalyan.kondapally@intel.com> on 2012-12-07
Reviewed by Kenneth Rohde Christiansen.

This patch implements ImageExtractor::extractImage in GraphicsContext3DEfl.

Covered by existing tests.

  • platform/graphics/efl/GraphicsContext3DEfl.cpp:

(WebCore::GraphicsContext3D::ImageExtractor::~ImageExtractor):
(WebCore::GraphicsContext3D::ImageExtractor::extractImage):

2:47 AM Changeset in webkit [136941] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit2

[EFL][WK2] Add ewk_settings APIs for text autosizing
https://bugs.webkit.org/show_bug.cgi?id=103342

Patch by Jaehun Lim <ljaehun.lim@samsung.com> on 2012-12-07
Reviewed by Kenneth Rohde Christiansen.

Add ewk_settings_text_autosizing_enabled_get / set() functions.
Text autosizing is disabled by default.

  • UIProcess/API/efl/ewk_settings.cpp:

(ewk_settings_text_autosizing_enabled_set):
(ewk_settings_text_autosizing_enabled_get):

  • UIProcess/API/efl/ewk_settings.h:
  • UIProcess/API/efl/tests/test_ewk2_settings.cpp:

(TEST_F):

2:22 AM Changeset in webkit [136940] by commit-queue@webkit.org
  • 7 edits in trunk

[BlackBerry] DRT - Update implementation of TestRunner.setCustomPolicyDelegate()
https://bugs.webkit.org/show_bug.cgi?id=104243

RIM PR 259337

Patch by Xiaobo Wang <xbwang@torchmobile.com.cn> on 2012-12-07
Reviewed by Rob Buis.

Source/WebKit/blackberry:

  1. Add DRT callback in dispatchDecidePolicyForResponse.
  2. Pass frame pointer to DRT callback in

dispatchDecidePolicyForNavigationAction, so that it can be used to
calculate originating.

  1. Fix some webkit style errors.

The patch fixed the following tests:

  • http/tests/download
  • fast/forms/mailto/formenctype-attribute-button-html.html
  • fast/forms/mailto/formenctype-attribute-input-html.html
  • fast/encoding/mailto-always-utf-8.html
  • Api/DumpRenderTreeClient.h:
  • WebCoreSupport/FrameLoaderClientBlackBerry.cpp:

(WebCore::FrameLoaderClientBlackBerry::dispatchDecidePolicyForResponse):
(WebCore::FrameLoaderClientBlackBerry::dispatchDecidePolicyForNavigationAction):
(WebCore::FrameLoaderClientBlackBerry::transitionToCommittedForNewPage):
(WebCore::FrameLoaderClientBlackBerry::dispatchDidFinishLoad):
(WebCore::FrameLoaderClientBlackBerry::dispatchDidFailProvisionalLoad):
(WebCore::FrameLoaderClientBlackBerry::dispatchWillSendRequest):
(WebCore::FrameLoaderClientBlackBerry::decidePolicyForExternalLoad):

Tools:

  1. Implement calculation of navigation originating in

didDecidePolicyForNavigationAction().

  1. Implement policy delegate for resource response.
  2. Enable customPolicyDelegate if waitForPolicyDelegate() is called.
  3. Minor optional updates in dump() and dumpFrameLoadCallbacks().

The patch fixed the following tests:

  • http/tests/download
  • fast/forms/mailto/formenctype-attribute-button-html.html
  • fast/forms/mailto/formenctype-attribute-input-html.html
  • fast/encoding/mailto-always-utf-8.html
  • DumpRenderTree/blackberry/DumpRenderTree.cpp:

(BlackBerry::WebKit::DumpRenderTree::DumpRenderTree):
(BlackBerry::WebKit::DumpRenderTree::resetToConsistentStateBeforeTesting):
(BlackBerry::WebKit::DumpRenderTree::dump):
(BlackBerry::WebKit::DumpRenderTree::didFinishLoadForFrame):
(BlackBerry::WebKit::DumpRenderTree::didDecidePolicyForNavigationAction):
(BlackBerry::WebKit::DumpRenderTree::didDecidePolicyForResponse):
(BlackBerry::WebKit::DumpRenderTree::setCustomPolicyDelegate):

  • DumpRenderTree/blackberry/DumpRenderTreeBlackBerry.h:

(DumpRenderTree):

  • DumpRenderTree/blackberry/TestRunnerBlackBerry.cpp:

(TestRunner::setCustomPolicyDelegate):
(TestRunner::waitForPolicyDelegate):
(TestRunner::overridePreference):

1:58 AM Changeset in webkit [136939] by loislo@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed roll crhomium to r171707.

  • DEPS:
1:56 AM Changeset in webkit [136938] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebCore

Use always the order iterator from data member in RenderFlexibleBox
https://bugs.webkit.org/show_bug.cgi?id=104112

Reviewed by Tony Chang.

Some methods receive it as parameter and others use the data
member.

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::layoutBlock):
(WebCore::RenderFlexibleBox::repositionLogicalHeightDependentFlexItems):
(WebCore::RenderFlexibleBox::layoutFlexItems):
(WebCore::RenderFlexibleBox::computeNextFlexLine):
(WebCore::RenderFlexibleBox::alignFlexLines):
(WebCore::RenderFlexibleBox::alignChildren):
(WebCore::RenderFlexibleBox::flipForRightToLeftColumn):
(WebCore::RenderFlexibleBox::flipForWrapReverse):

  • rendering/RenderFlexibleBox.h:
1:53 AM Changeset in webkit [136937] by tkent@chromium.org
  • 2 edits in trunk/Source/WebCore

Improve confusing code in BaseMultipleFieldsDateAndTimeInputType
https://bugs.webkit.org/show_bug.cgi?id=104353

Reviewed by Kentaro Hara.

This doesn't change any behavior because call sites of
isEditControlOwnerDisabled and isEditControlOwnerReadOnly treat them
similarly.

  • html/BaseMultipleFieldsDateAndTimeInputType.cpp:

(WebCore::BaseMultipleFieldsDateAndTimeInputType::isEditControlOwnerDisabled):
Checks element()->disabled, not readOnly.
(WebCore::BaseMultipleFieldsDateAndTimeInputType::isEditControlOwnerReadOnly):
Checks element()->readOnly, not disabled.

1:16 AM Changeset in webkit [136936] by kkristof@inf.u-szeged.hu
  • 2 edits in trunk/LayoutTests

[Qt] Gardening after r136857, r136893 and 136919.
https://bugs.webkit.org/show_bug.cgi?id=104351

Patch by János Badics <János Badics> on 2012-12-07
Reviewed by Csaba Osztrogonác.

r136857: skipped a newly added failing reftest.
r136893: skipped two newly added xmlhttprequest tests
r136919: skipped a test because layoutTestController.setBackingScaleFactor() is unimplemented

  • platform/qt/TestExpectations:
1:09 AM Changeset in webkit [136935] by tkent@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

REGRESSION(r136631): Fix null pointer dereference in WebPagePopupImpl::paint
https://bugs.webkit.org/show_bug.cgi?id=104350

Reviewed by Hajime Morita.

We changed WebPagePopupImpl so that it deleted m_page in
closePopup. However, paint function is still called.

  • src/WebPagePopupImpl.cpp:

(WebKit::WebPagePopupImpl::paint): Block by m_closing.

12:49 AM Changeset in webkit [136934] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

[Qt] Adjust library name in layout_tests/port/qt.py after Qt5-r40
https://bugs.webkit.org/show_bug.cgi?id=104348

Patch by Gwang Yoon Hwang <ryumiel@company100.net> on 2012-12-07
Reviewed by Csaba Osztrogonác.

After Qt-5.0.0-r40, the library was renamed from QtWebKitWidgets to
Qt5WebKitWidgets. run-webkit-tests were still looking for QtWebKitWidgets

  • Scripts/webkitpy/layout_tests/port/qt.py:

(QtPort._path_to_webcore_library):

12:46 AM Changeset in webkit [136933] by jonlee@apple.com
  • 2 edits in trunk/Source/WebCore

Build fix.

  • plugins/PlugInOriginHash.cpp:

(WebCore::PlugInOriginHash::hash):

12:43 AM Changeset in webkit [136932] by jonlee@apple.com
  • 7 edits
    2 adds in trunk/Source/WebCore

Add PlugInOriginHash
https://bugs.webkit.org/show_bug.cgi?id=103655
<rdar://problem/12778949>

Reviewed by Alexey Proskuryakov.

Add the concept of plug-in origin hashes, which are based on a combination of the base domains of the
page's main frame and the plug-in, and the plug-in MIME type.

  • plugins/PlugInOriginHash.cpp: Added.

(WebCore::addCaseFoldedCharacters): Add the case-folded string to the hash.
(WebCore::PlugInOriginHash::hash): The hash is based on the concatenation of the page's host, the plug-in
URL's host, and the MIME type. We use StringHasher to get all 32-bits of the hash, since using StringImpl's hash
masks out 8 of the hash bits to make room for bit flags.

  • plugins/PlugInOriginHash.h: Added.
  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
12:25 AM Changeset in webkit [136931] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

Unreviewed fix, unbreak run-launcher after library renaming.

  • Scripts/webkitdirs.pm:

(builtDylibPathForName):

12:25 AM Changeset in webkit [136930] by mary.wu@torchmobile.com.cn
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] new target window would cause the url being loaded twice
https://bugs.webkit.org/show_bug.cgi?id=104086

Reviewed by Yong Li.

When webkit need to open window for a new target like "_blank", it would
load the url subsequently after createWindow. But the chrome browser would
load the url again when it get the OpenWindowEvent from native, which
causes the url being loaded twice. We should make sure that createWindow() be
used to create a new window only, not loading url, so we pass empty url
as parameter.

RIM PR# 257329
Internally reviewed by Charles Wei.

  • WebCoreSupport/FrameLoaderClientBlackBerry.cpp:

(WebCore::FrameLoaderClientBlackBerry::dispatchCreatePage):

12:04 AM Changeset in webkit [136929] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

Unreviewed fix after r136896, unbreak --debug-rwt to make bots result verbose again.
https://bugs.webkit.org/show_bug.cgi?id=104296

  • Scripts/webkitpy/layout_tests/run_webkit_tests.py:

(main):

Note: See TracTimeline for information about the timeline view.