Title: [140002] trunk/Source/WebKit2
Revision
140002
Author
timothy_hor...@apple.com
Date
2013-01-17 11:01:08 -0800 (Thu, 17 Jan 2013)

Log Message

[WK2] TiledCoreAnimationDrawingArea should unparent its layer tree when requested
https://bugs.webkit.org/show_bug.cgi?id=107108
<rdar://problem/12549879>

Reviewed by Darin Adler and Simon Fraser.

Currently, TiledCoreAnimationDrawingArea returns early if asked to unparent
its layer tree, to prevent flashing when switching tabs. We have new plans
to alleviate the flashing, but first, we should reinstate unparenting the root layer,
to allow underlying libraries to better manage the memory backing all compositing layers.

* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (140001 => 140002)


--- trunk/Source/WebKit2/ChangeLog	2013-01-17 18:58:51 UTC (rev 140001)
+++ trunk/Source/WebKit2/ChangeLog	2013-01-17 19:01:08 UTC (rev 140002)
@@ -1,5 +1,21 @@
 2013-01-17  Tim Horton  <timothy_hor...@apple.com>
 
+        [WK2] TiledCoreAnimationDrawingArea should unparent its layer tree when requested
+        https://bugs.webkit.org/show_bug.cgi?id=107108
+        <rdar://problem/12549879>
+
+        Reviewed by Darin Adler and Simon Fraser.
+
+        Currently, TiledCoreAnimationDrawingArea returns early if asked to unparent
+        its layer tree, to prevent flashing when switching tabs. We have new plans
+        to alleviate the flashing, but first, we should reinstate unparenting the root layer,
+        to allow underlying libraries to better manage the memory backing all compositing layers.
+
+        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
+        (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
+
+2013-01-17  Tim Horton  <timothy_hor...@apple.com>
+
         Fix the Mac build sans ENABLE(CSS_FILTERS)
 
         Reviewed by Darin Adler.

Modified: trunk/Source/WebKit2/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm (140001 => 140002)


--- trunk/Source/WebKit2/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm	2013-01-17 18:58:51 UTC (rev 140001)
+++ trunk/Source/WebKit2/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm	2013-01-17 19:01:08 UTC (rev 140002)
@@ -113,13 +113,6 @@
 {
     CALayer *rootCompositingLayer = graphicsLayer ? graphicsLayer->platformLayer() : nil;
 
-    // Since we'll always be in accelerated compositing mode, the only time that layer will be nil
-    // is when the WKView is removed from its containing window. In that case, the layer will already be
-    // removed from the layer tree hierarchy over in the UI process, so there's no reason to remove it locally.
-    // In addition, removing the layer here will cause flashes when switching between tabs.
-    if (!rootCompositingLayer)
-        return;
-
     if (m_layerTreeStateIsFrozen) {
         m_pendingRootCompositingLayer = rootCompositingLayer;
         return;
@@ -458,7 +451,7 @@
     [CATransaction begin];
     [CATransaction setDisableActions:YES];
 
-    m_rootLayer.get().sublayers = [NSArray arrayWithObject:layer];
+    m_rootLayer.get().sublayers = layer ? [NSArray arrayWithObject:layer] : [NSArray array];
 
     if (m_pageOverlayLayer)
         [m_rootLayer.get() addSublayer:m_pageOverlayLayer->platformLayer()];
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to