[Webkit-unassigned] [Bug 92492] [Texmap] Remove the backing store after 'style.visibility' for an element sets 'hidden'.

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Jul 30 19:19:22 PDT 2012


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





--- Comment #5 from Huang Dongsung <luxtella at company100.net>  2012-07-30 19:19:24 PST ---
(In reply to comment #4)
> (From update of attachment 154909 [details])
> Actually, something is missing here. We should clear the backing stores not just for the layer that becomes invisible, but also for all of its descendants.

Thank you for your review.

I was concerned about what you said.

http://www.w3.org/TR/CSS21/visufx.html#propdef-visibility

The spec said
"hidden
The generated box is invisible (fully transparent, nothing is drawn), but still affects layout. Furthermore, descendants of the element will be visible if they have 'visibility: visible'."

If some descendants have 'visibility: visible', they need the backing stores.

RenderLayerBacking set contents visible of the graphics layer to false even if a graphics layer has visible compositing descendant layers.

void RenderLayerBacking::updateGraphicsLayerGeometry()
{
    ...
    // m_graphicsLayer is the corresponding GraphicsLayer for this RenderLayer and its non-compositing
    // descendants. So, the visibility flag for m_graphicsLayer should be true if there are any
    // non-compositing visible layers.
    m_graphicsLayer->setContentsVisible(m_owningLayer->hasVisibleContent() || hasVisibleNonCompositingDescendantLayers());
    ...
}

So, I removed the backing stores for only the layer that becomes invisible.

I think I may misunderstand, so I need your feedback.

-- 
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