|
https://bugs.webkit.org/show_bug.cgi?id=101292
Reviewed by Beth Dakin.
Source/WebCore:
When we set RenderLayer scroll positions as part of layout, we don't want
to update compositing layers right away. Updating compositing layers
requires that the entire layer tree has been updated from renderers,
so that the geometry of all RenderLayers can be trusted. When this state
was violated, RenderGeometryMap asserts.
Fix by bailing from updateCompositingLayersAfterScroll() if FrameView
tells us that we're doing layout. A full update of the compositing layers
will happen later anyway.
Test: compositing/geometry/geometry-map-scroll-during-layout-assertion.html
* rendering/RenderLayer.cpp:
(WebCore::frameViewFromLayer):
(WebCore::RenderLayer::updateCompositingLayersAfterScroll):
LayoutTests:
Test that hit the assertion before the fix.
* compositing/geometry/geometry-map-scroll-during-layout-assertion-expected.txt: Added.
* compositing/geometry/geometry-map-scroll-during-layout-assertion.html: Added.
git-svn-id: svn://svn.chromium.org/blink/trunk@133628 bbb929c8-8fbe-4397-9dbb-9b2b20218538
|