When converting a layer into a tiled layer, ensure that we update the visible rect
authorsimon.fraser@apple.com <simon.fraser@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 10 Dec 2012 23:43:50 +0000 (23:43 +0000)
committersimon.fraser@apple.com <simon.fraser@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 10 Dec 2012 23:43:50 +0000 (23:43 +0000)
commit8f84e0759b8068ad6a83b165f13c5d8a69cdfeef
tree95d006435b94a89a74bf1ed78cdf2b04d692c210
parent935f025aeda28b0fbb1023a6bec367a4ae96721d
When converting a layer into a tiled layer, ensure that we update the visible rect
https://bugs.webkit.org/show_bug.cgi?id=104467

Reviewed by Darin Adler.

Source/WebCore:

When a GraphicsLayerCA toggles to use a TileCache, we have to ensure that the
layer's visible rect (which is used to ensure tile coverage) is updated in
the same commit. Otherwise we can get blank layers until something else causes
the visible rect to be updated.

Test: compositing/tiling/tiled-layer-resize.html

* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::dumpAdditionalProperties): With the debug flag, dump the TiledBacking
address for ease of debugging.
(WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): Set the VisibleRectChanged bit in
m_uncommittedChanges if we've just switched to a tiled layer.

LayoutTests:

Test that resizes a layer over the tiled layer threshold, then dumps layer data.

Mac-specific results added because only Mac dumps tile cache info.

* compositing/tiling/tiled-layer-resize-expected.txt: Added.
* compositing/tiling/tiled-layer-resize.html: Added.
* platform/mac/compositing/tiling/tiled-layer-resize-expected.txt: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@137216 268f45cc-cd09-0410-ab3c-d52691b4dbfc
LayoutTests/ChangeLog
LayoutTests/compositing/tiling/tiled-layer-resize-expected.txt [new file with mode: 0644]
LayoutTests/compositing/tiling/tiled-layer-resize.html [new file with mode: 0644]
LayoutTests/platform/mac/compositing/tiling/tiled-layer-resize-expected.txt [new file with mode: 0644]
Source/WebCore/ChangeLog
Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp