Let RenderLayerCompositor set the tile cache visible rect
authorandersca@apple.com <andersca@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 5 Mar 2012 21:10:23 +0000 (21:10 +0000)
committerandersca@apple.com <andersca@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 5 Mar 2012 21:10:23 +0000 (21:10 +0000)
commitb405a34a8cc11d6faa665a5764d31aed1464ee3a
tree057556a118658d7d553d0c4ddb2e3413305b7a0c
parent94ed16090c1b7f17f49388f462a76a0a596e1425
Let RenderLayerCompositor set the tile cache visible rect
https://bugs.webkit.org/show_bug.cgi?id=80317

Reviewed by Simon Fraser.

We can't compute the visible rect from CALayers, because that breaks when we're updating
the scroll layer position on the main thread (since by the time visibleRectChanged() is called,
the CALayers won't yet have been updated).

* platform/graphics/GraphicsLayer.h:
(WebCore::GraphicsLayer::visibleRectChanged):
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::visibleRectChanged):
* platform/graphics/ca/GraphicsLayerCA.h:
(GraphicsLayerCA):
* platform/graphics/ca/PlatformCALayer.h:
(PlatformCALayer):
* platform/graphics/ca/mac/PlatformCALayerMac.mm:
(PlatformCALayer::visibleRectChanged):
* platform/graphics/ca/mac/TileCache.h:
(TileCache):
* platform/graphics/ca/mac/TileCache.mm:
(WebCore::TileCache::visibleRectChanged):
(WebCore::TileCache::revalidateTiles):
* platform/graphics/ca/mac/WebTileCacheLayer.h:
(WebCore):
* platform/graphics/ca/mac/WebTileCacheLayer.mm:
(-[WebTileCacheLayer visibleRectChanged:]):
* platform/graphics/ca/win/PlatformCALayerWin.cpp:
(PlatformCALayer::visibleRectChanged):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::frameViewDidScroll):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@109788 268f45cc-cd09-0410-ab3c-d52691b4dbfc
12 files changed:
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/platform/graphics/ca/PlatformCALayer.h
Source/WebCore/platform/graphics/ca/mac/PlatformCALayerMac.mm
Source/WebCore/platform/graphics/ca/mac/TileCache.h
Source/WebCore/platform/graphics/ca/mac/TileCache.mm
Source/WebCore/platform/graphics/ca/mac/WebTileCacheLayer.h
Source/WebCore/platform/graphics/ca/mac/WebTileCacheLayer.mm
Source/WebCore/platform/graphics/ca/win/PlatformCALayerWin.cpp
Source/WebCore/rendering/RenderLayerCompositor.cpp