This feature currently requires tiled layer cache, but it looks like chromium could use it, too. Even without a tiled layer cache.
Created attachment 194164 [details] Patch
Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.
Comment on attachment 194164 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=194164&action=review > Source/WebCore/rendering/RenderLayerCompositor.cpp:1274 > +#if PLATFORM(CHROMIUM) What's chromium-specific about this code?
Comment on attachment 194164 [details] Patch Attachment 194164 [details] did not pass chromium-ews (chromium-xvfb): Output: http://webkit-commit-queue.appspot.com/results/17135495 New failing tests: compositing/geometry/bounds-clipped-composited-child.html compositing/geometry/clip.html compositing/geometry/foreground-layer.html compositing/geometry/bounds-ignores-hidden-composited-descendant.html compositing/geometry/bounds-ignores-hidden.html compositing/geometry/limit-layer-bounds-clipping-ancestor.html http/tests/cache/subresource-failover-to-network.html compositing/filters/sw-shadow-overlaps-hw-shadow.html compositing/bounds-in-flipped-writing-mode.html compositing/geometry/fixed-position-composited-switch.html compositing/filters/sw-shadow-overlaps-hw-layer.html compositing/geometry/layer-due-to-layer-children-switch.html compositing/absolute-inside-out-of-view-fixed.html compositing/geometry/limit-layer-bounds-overflow-root.html compositing/filters/sw-layer-overlaps-hw-shadow.html compositing/geometry/limit-layer-bounds-fixed-positioned.html compositing/geometry/layer-due-to-layer-children-deep-switch.html compositing/geometry/ancestor-overflow-change.html compositing/geometry/limit-layer-bounds-positioned-transition.html compositing/geometry/clip-inside.html compositing/geometry/bounds-ignores-hidden-dynamic-negzindex.html compositing/columns/composited-in-paginated.html compositing/geometry/bounds-ignores-hidden-dynamic.html compositing/filters/sw-nested-shadow-overlaps-hw-nested-shadow.html compositing/geometry/flipped-writing-mode.html compositing/overflow-trumps-transform-style.html compositing/backing/no-backing-for-clip.html compositing/backing/no-backing-for-clip-overlap.html compositing/backing/no-backing-for-perspective.html compositing/clip-child-by-non-stacking-ancestor.html
Created attachment 194172 [details] Patch
(In reply to comment #3) > (From update of attachment 194164 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=194164&action=review > > > Source/WebCore/rendering/RenderLayerCompositor.cpp:1274 > > +#if PLATFORM(CHROMIUM) > > What's chromium-specific about this code? Nothing, really. I've gotten rid of all the PLATFORM(CHROMIUM) bits and updated the bug description.
Comment on attachment 194172 [details] Patch Attachment 194172 [details] did not pass chromium-ews (chromium-xvfb): Output: http://webkit-commit-queue.appspot.com/results/17080915 New failing tests: compositing/geometry/bounds-clipped-composited-child.html compositing/geometry/clip.html compositing/geometry/foreground-layer.html compositing/geometry/bounds-ignores-hidden-composited-descendant.html compositing/geometry/bounds-ignores-hidden.html compositing/geometry/limit-layer-bounds-clipping-ancestor.html http/tests/cache/subresource-failover-to-network.html compositing/filters/sw-shadow-overlaps-hw-shadow.html compositing/bounds-in-flipped-writing-mode.html compositing/geometry/fixed-position-composited-switch.html compositing/filters/sw-shadow-overlaps-hw-layer.html compositing/geometry/layer-due-to-layer-children-switch.html compositing/absolute-inside-out-of-view-fixed.html compositing/geometry/limit-layer-bounds-overflow-root.html compositing/filters/sw-layer-overlaps-hw-shadow.html compositing/geometry/limit-layer-bounds-fixed-positioned.html compositing/geometry/layer-due-to-layer-children-deep-switch.html compositing/geometry/ancestor-overflow-change.html compositing/geometry/limit-layer-bounds-positioned-transition.html compositing/geometry/clip-inside.html compositing/geometry/bounds-ignores-hidden-dynamic-negzindex.html compositing/columns/composited-in-paginated.html compositing/geometry/bounds-ignores-hidden-dynamic.html compositing/filters/sw-nested-shadow-overlaps-hw-nested-shadow.html compositing/geometry/flipped-writing-mode.html compositing/overflow-trumps-transform-style.html compositing/backing/no-backing-for-clip.html compositing/backing/no-backing-for-clip-overlap.html compositing/backing/no-backing-for-perspective.html compositing/clip-child-by-non-stacking-ancestor.html
Comment on attachment 194172 [details] Patch The layout test failures are real. Clearing the review bit while I investigate.
Created attachment 194305 [details] Patch There were a number of places in RenderLayerBacking where I had been checking if we *could* be using a fixed root background layer rather than if we *were* using one. Updating these checks should ensure no change in behavior when the setting is off. As a consequence, the failing layout tests are now unaffected by the new code and pass (at least locally).
(In reply to comment #9) > Created an attachment (id=194305) [details] > Patch > > There were a number of places in RenderLayerBacking where I had been checking if > we *could* be using a fixed root background layer rather than if we *were* using > one. Updating these checks should ensure no change in behavior when the setting > is off. As a consequence, the failing layout tests are now unaffected by the > new code and pass (at least locally). I don't think there are any outstanding issues with this patch. Should be ok to review. If you can spare a few minutes, please take a look.
Created attachment 195919 [details] Patch Updated after https://bugs.webkit.org/show_bug.cgi?id=111670. Another change in this new patch: I've changed the name of m_childContainmentLayer from "TiledBacking Flattening Layer" to "Child Containment Layer". The hope was that the new name would reflect its function without attaching a misleading semantic meaning.
Comment on attachment 195919 [details] Patch Attachment 195919 [details] did not pass chromium-ews (chromium-xvfb): Output: http://webkit-commit-queue.appspot.com/results/17250884 New failing tests: platform/chromium/compositing/fixed-body-background-positioned.html
Created attachment 195923 [details] Archive of layout-test-results from gce-cr-linux-05 for chromium-linux-x86_64 The attached test failures were seen while running run-webkit-tests on the chromium-ews. Bot: gce-cr-linux-05 Port: chromium-linux-x86_64 Platform: Linux-3.3.8-gcg-201212281604-x86_64-with-GCEL-10.04-gcel_10.04
Created attachment 195980 [details] Updating expected layout test results.
Should this be moved to blink? If so, please clear the flags on the patch and mark this bug as invalid.