[Webkit-unassigned] [Bug 93174] RenderLayerBacking must call GraphicsLayer::setContentsToImage when the image is changed.

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Aug 3 23:15:28 PDT 2012


https://bugs.webkit.org/show_bug.cgi?id=93174





--- Comment #4 from Huang Dongsung <luxtella at company100.net>  2012-08-03 23:15:26 PST ---
(In reply to comment #3)
> 
> This comment is confusing. updateGraphicsLayerConfiguration() isn't the place where animated GIFs get updated on compositing layers; that happens via RenderBoxModelObject::contentChanged() which ends up in RenderLayerBacking::contentChanged().

I'm sorry for this confusing. I think it is natural for RenderLayerBacking::contentChanged() to call finally GraphicsLayer::setContentsToImage(), but I don't understand why updateGraphicsLayerConfiguration() needs to call GraphicsLayer::setContentsToImage().
It seems that layout causes redundant texture uploading because layout calls updateGraphicsLayerConfiguration() and then GraphicsLayer::setContentsToImage().
So, I described updateGraphicsLayerConfiguration() indirectly calls GraphicsLayer::setContentsToImage() in the changelog. I regret I should explain it more.

> 
> It seems odd to inspect the NativeImagePtr here, but still send the Image down to GraphicsLayer.

I think so. I thought I would do that after listening your opinion because it is a big change.

> 
> This code also makes the assumption that pointer equality on a NativeImagePtr is a valid way to tell if the image is unchanged. That may not hold for all platforms. I think the platform code should continue to make the decision about whether the image has changed.

I made the mistake of hasty generalization after surveying GraphicsLayerCA, GraphicsLayerChromium and GraphicsLayerTextureMapper.
I think we should call GraphicsLayer::setContentsToImage() when the image is actually changed, especially RenderLayerBacking::contentChanged() is called.
Is it ok for only RenderLayerBacking::contentChanged() to call updateImageContents()? Or which functions does updateGraphicsLayerConfiguration() need to call : m_graphicsLayer->setContentsToImage(image), updateDrawsContent() and image->startAnimation().

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list