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