Allow TiledCoreAnimationDrawingArea overlay layers to become tiled
https://bugs.webkit.org/show_bug.cgi?id=108729
<rdar://problem/13047546>

Reviewed by Anders Carlsson.

* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
(TiledCoreAnimationDrawingArea): Add didCommitChangesForLayer and storage for the
current PlatformLayer corresponding to m_pageOverlayLayer.
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::flushLayers): Update the TileCache's visible rect.
(WebKit::TiledCoreAnimationDrawingArea::setExposedRect): Forward exposed rect changes to the page overlay layer, if it's tiled.
(WebKit::TiledCoreAnimationDrawingArea::mainFrameScrollabilityChanged): Forward scrollability changes to the page overlay layer, if it's tiled.
(WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer): Allow the page overlay layer to become tiled. Update its exposed rect and whether or not it respects the exposed rect if it's tiled upon creation.
(WebKit::TiledCoreAnimationDrawingArea::didCommitChangesForLayer): If a GraphicsLayer's platform layer changes (because it switched to or from a tiled layer), reparent it. If it's switching to a tiled layer, update the exposed rect and whether or not it should respect the exposed rect.

* WebCore.exp.in:
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::flushCompositingStateForThisLayerOnly): The "for this layer only" variant
of flushCompositingState wasn't informing its client that it committed changes for the layer.
(WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): We now explicitly want to be able to have a
GraphicsLayerCA switch into or out of tiling while being unparented (we'll get a client callback and
swap out its parent ourselves).


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141789 268f45cc-cd09-0410-ab3c-d52691b4dbfc