Title: [112617] trunk/Source/WebKit2
Revision
112617
Author
[email protected]
Date
2012-03-29 17:21:00 -0700 (Thu, 29 Mar 2012)

Log Message

[Qt][WK2] Direct composited image assignment doesn't work
https://bugs.webkit.org/show_bug.cgi?id=82525

Reviewed by Kenneth Rohde Christiansen.

We don't need to check whether the image or contentsRect are updated,
since assignImageToLayer is a cheap operation after the LayerBackingStore
refactor.

* UIProcess/WebLayerTreeRenderer.cpp:
(WebKit::WebLayerTreeRenderer::setLayerChildren):
(WebKit::WebLayerTreeRenderer::setLayerState):
(WebKit::WebLayerTreeRenderer::renderNextFrame):

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (112616 => 112617)


--- trunk/Source/WebKit2/ChangeLog	2012-03-30 00:16:01 UTC (rev 112616)
+++ trunk/Source/WebKit2/ChangeLog	2012-03-30 00:21:00 UTC (rev 112617)
@@ -1,3 +1,19 @@
+2012-03-29  No'am Rosenthal  <[email protected]>
+
+        [Qt][WK2] Direct composited image assignment doesn't work
+        https://bugs.webkit.org/show_bug.cgi?id=82525
+
+        Reviewed by Kenneth Rohde Christiansen.
+
+        We don't need to check whether the image or contentsRect are updated,
+        since assignImageToLayer is a cheap operation after the LayerBackingStore
+        refactor.
+
+        * UIProcess/WebLayerTreeRenderer.cpp:
+        (WebKit::WebLayerTreeRenderer::setLayerChildren):
+        (WebKit::WebLayerTreeRenderer::setLayerState):
+        (WebKit::WebLayerTreeRenderer::renderNextFrame):
+
 2012-03-29  Sheriff Bot  <[email protected]>
 
         Unreviewed, rolling out r112553.

Modified: trunk/Source/WebKit2/Shared/WebLayerTreeInfo.h (112616 => 112617)


--- trunk/Source/WebKit2/Shared/WebLayerTreeInfo.h	2012-03-30 00:16:01 UTC (rev 112616)
+++ trunk/Source/WebKit2/Shared/WebLayerTreeInfo.h	2012-03-30 00:21:00 UTC (rev 112617)
@@ -107,7 +107,6 @@
             bool masksToBounds : 1;
             bool preserves3D : 1;
             bool contentNeedsDisplay : 1;
-            bool imageIsUpdated: 1;
             bool isRootLayer: 1;
         };
         unsigned int flags;

Modified: trunk/Source/WebKit2/UIProcess/WebLayerTreeRenderer.cpp (112616 => 112617)


--- trunk/Source/WebKit2/UIProcess/WebLayerTreeRenderer.cpp	2012-03-30 00:16:01 UTC (rev 112616)
+++ trunk/Source/WebKit2/UIProcess/WebLayerTreeRenderer.cpp	2012-03-30 00:21:00 UTC (rev 112617)
@@ -173,7 +173,6 @@
     ensureLayer(id);
     LayerMap::iterator it = m_layers.find(id);
     GraphicsLayer* layer = it->second;
-    bool needsToUpdateImageTiles = layerInfo.imageIsUpdated || (layerInfo.contentsRect != layer->contentsRect() && layerInfo.imageBackingStoreID);
 
     layer->setName(layerInfo.name);
 
@@ -190,8 +189,7 @@
     layer->setContentsRect(layerInfo.contentsRect);
     layer->setDrawsContent(layerInfo.drawsContent);
 
-    if (needsToUpdateImageTiles)
-        assignImageToLayer(layer, layerInfo.imageBackingStoreID);
+    assignImageToLayer(layer, layerInfo.imageBackingStoreID);
 
     // Never make the root layer clip.
     layer->setMasksToBounds(layerInfo.isRootLayer ? false : layerInfo.masksToBounds);
@@ -318,6 +316,11 @@
 
 void WebLayerTreeRenderer::assignImageToLayer(GraphicsLayer* layer, int64_t imageID)
 {
+    if (!imageID) {
+        layer->setContentsToMedia(0);
+        return;
+    }
+
     HashMap<int64_t, RefPtr<TextureMapperBackingStore> >::iterator it = m_directlyCompositedImages.find(imageID);
     ASSERT(it != m_directlyCompositedImages.end());
     layer->setContentsToMedia(it->second.get());

Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebGraphicsLayer.cpp (112616 => 112617)


--- trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebGraphicsLayer.cpp	2012-03-30 00:16:01 UTC (rev 112616)
+++ trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebGraphicsLayer.cpp	2012-03-30 00:21:00 UTC (rev 112617)
@@ -357,7 +357,6 @@
 
     m_layerInfo.imageBackingStoreID = newID;
     m_image = image;
-    m_layerInfo.imageIsUpdated = true;
     GraphicsLayer::setContentsToImage(image);
 }
 
@@ -431,12 +430,8 @@
 void WebGraphicsLayer::syncCompositingStateForThisLayerOnly()
 {
     // The remote image might have been released by purgeBackingStores.
-    if (m_image) {
-        if (!m_layerInfo.imageBackingStoreID) {
-            m_layerInfo.imageBackingStoreID = m_webGraphicsLayerClient->adoptImageBackingStore(m_image.get());
-            m_layerInfo.imageIsUpdated = true;
-        }
-    }
+    if (m_image && !m_layerInfo.imageBackingStoreID)
+        m_layerInfo.imageBackingStoreID = m_webGraphicsLayerClient->adoptImageBackingStore(m_image.get());
 
     if (m_modified) {
         computeTransformedVisibleRect();
@@ -469,7 +464,6 @@
     updateContentBuffers();
 
     m_modified = false;
-    m_layerInfo.imageIsUpdated = false;
     if (m_hasPendingAnimations)
         notifyAnimationStarted(WTF::currentTime());
     m_layerInfo.animations.clear();
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to