Skip to content
  • simon.fraser@apple.com's avatar
    <https://webkit.org/b/116901> ASSERTION FAILED: !m_visibleDescendantStatusDirty on twitter · 115580e1
    simon.fraser@apple.com authored
    Reviewed by Beth Dakin.
    
    In order to make decisions about compositing, the m_hasVisibleDescendant bit on RenderLayers
    needs to be up-to-date when RenderLayerCompositor::computeCompositingRequirements is recursing
    over the RenderLayer tree.
    
    However, was possible for computeCompositingRequirements() to hit a layer whose m_visibleDescendantStatusDirty
    bit was set; we only clear this bit from collectLayers() (when updating z-order lists), and from styleChanged()
    which requires that style changed on the layer itself.
    
    Fix by always calling updateDescendantDependentFlags() from computeCompositingRequirements().
    
    Wasn't able to easily get a reduced testcase.
    
    * rendering/RenderLayerCompositor.cpp:
    (WebCore::RenderLayerCompositor::computeCompositingRequirements):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154417 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    115580e1