[iOS WK2] Tiled layer content missing on pages with animated tiled layers
authorsimon.fraser@apple.com <simon.fraser@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 3 May 2014 01:15:07 +0000 (01:15 +0000)
committersimon.fraser@apple.com <simon.fraser@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 3 May 2014 01:15:07 +0000 (01:15 +0000)
commitb84c3e82669db63d28f51b034d1b579f6237fbcc
treec9c47d21f82474c2738c5d26406b03bd364d4d4e
parent380c52815a0792d2bd7b6dfe03dfb3f1ce93bb8c
[iOS WK2] Tiled layer content missing on pages with animated tiled layers
https://bugs.webkit.org/show_bug.cgi?id=132507
<rdar://problem/16765740>

Reviewed by Tim Horton.

Updating the tiling area of content TileControllers while
CSS animations are running depends on GraphicsLayerUpdater
triggering repeated layer flushes. With UI-side compositing, those
flushes were happening, but nothing triggered RemoteLayerTreeDrawingArea
to flush changes to the UI process.

Fix by having RenderLayerCompositor schedule a flush, rather
than just doing a flush, in response to GraphicsLayerUpdater.

Also change the name of the GraphicsLayerUpdaterClient function
to indicate that it suggests that a flush is required soon, rather than
that the flushing has to be synchronous.

* platform/graphics/GraphicsLayerUpdater.cpp:
(WebCore::GraphicsLayerUpdater::displayRefreshFired):
* platform/graphics/GraphicsLayerUpdater.h:
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::flushLayersSoon):
(WebCore::RenderLayerCompositor::flushLayers): Deleted.
* rendering/RenderLayerCompositor.h:

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