<rdar://problem/10098679> Assertion failure in RenderLayer::paintPaginatedChildLayer()
authormitz@apple.com <mitz@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 27 Sep 2011 21:04:04 +0000 (21:04 +0000)
committermitz@apple.com <mitz@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 27 Sep 2011 21:04:04 +0000 (21:04 +0000)
commit71844dfc54c94ae59ef206c4a546f8641e61eb36
treeb4febf0dbd3231f91e93001075d49a7e2c74d9e5
parentc6039ef4e622f307fd0486d317b1ee8564537c2d
<rdar://problem/10098679> Assertion failure in RenderLayer::paintPaginatedChildLayer()

Reviewed by Simon Fraser.

Source/WebCore:

Test: fast/dynamic/layer-no-longer-paginated.html

FrameView::layout() calls adjustViewSize() before calling RenderLayer::updateLayerPositions().
The former may trigger painting with a layer tree that is not entirely up-to-date. Specifically,
the isPaginated() state of a layer may be incorrect, leading to the assertion in this bug. Instead
of asserting, return early and count on the upcoming updateLayerPositions() to repaint as needed.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintPaginatedChildLayer): Replaced the assertion with an early return.

LayoutTests:

* fast/dynamic/layer-no-longer-paginated-expected.txt: Added.
* fast/dynamic/layer-no-longer-paginated.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@96154 268f45cc-cd09-0410-ab3c-d52691b4dbfc
LayoutTests/ChangeLog
LayoutTests/fast/dynamic/layer-no-longer-paginated-expected.txt [new file with mode: 0644]
LayoutTests/fast/dynamic/layer-no-longer-paginated.html [new file with mode: 0644]
Source/WebCore/ChangeLog
Source/WebCore/rendering/RenderLayer.cpp