GraphicsLayerCA::recomputeVisibleRects() shouldn't actually set the visible rect
authorsimon.fraser@apple.com <simon.fraser@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 29 Mar 2013 00:18:44 +0000 (00:18 +0000)
committersimon.fraser@apple.com <simon.fraser@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 29 Mar 2013 00:18:44 +0000 (00:18 +0000)
commitddc44b93b8356e12c4a68661e1d88c51fc9d7535
tree0ff0eba2527b4dabe6d4a4f0b96864ea4dfcaced
parent41c32276084a02639be09062556b9c1f241db2cf
GraphicsLayerCA::recomputeVisibleRects() shouldn't actually set the visible rect
https://bugs.webkit.org/show_bug.cgi?id=113544

Reviewed by Tim Horton.

The functions added in r147058 to update the visible rects of GraphicsLayerCAs
should not have actually set the m_visibleRect on the layer, because this
caused a later call to adjustTiledLayerVisibleRect() to think that the visible
rect had not changed, so it did no expansion.

Clarify the logic to ask the GraphicsLayer whether, given a new visible
rect, it would need to make new tiles (which happens later during a flush).

Add a function to RenderLayerCompositor to call this code (but which has
no callers yet).

* platform/graphics/GraphicsLayer.h:
(WebCore::GraphicsLayer::visibleRectChangeRequiresFlush): Make private.
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::recursiveVisibleRectChangeRequiresFlush):
(WebCore::GraphicsLayerCA::visibleRectChangeRequiresFlush):
* platform/graphics/ca/GraphicsLayerCA.h:
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::noteVisibleRectChanged):
* rendering/RenderLayerCompositor.h:
(RenderLayerCompositor):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@147186 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore/ChangeLog
Source/WebCore/platform/graphics/GraphicsLayer.h
Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp
Source/WebCore/platform/graphics/ca/GraphicsLayerCA.h
Source/WebCore/rendering/RenderLayerCompositor.cpp
Source/WebCore/rendering/RenderLayerCompositor.h