Skip to content
  • antti@apple.com's avatar
    Get rid of static map for marking ancestor line boxes dirty · 8f71118f
    antti@apple.com authored
    https://bugs.webkit.org/show_bug.cgi?id=122080
    
    Reviewed by Andreas Kling.
            
    This is ugly and shows up in profiles too. Use a bit in RenderElement instead.
    
    * rendering/RenderBlock.h:
    * rendering/RenderBlockFlow.h:
            
        Move dirtyLinesFromChangedChild down to RenderBlockFlow. It wouldn't do anything on other RenderBlocks.
    
    * rendering/RenderElement.cpp:
    (WebCore::RenderElement::RenderElement):
    * rendering/RenderElement.h:
            
        Add m_ancestorLineBoxDirty bit. We have 32 unused bits here on 64bit systems.
    
    (WebCore::RenderElement::dirtyLinesFromChangedChild):
    (WebCore::RenderElement::ancestorLineBoxDirty):
    (WebCore::RenderElement::setAncestorLineBoxDirty):
    (WebCore::RenderObject::setNeedsLayout):
    * rendering/RenderInline.h:
    * rendering/RenderLineBoxList.cpp:
    (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
                
        Tighten the interface.
    
    * rendering/RenderLineBoxList.h:
    * rendering/RenderObject.cpp:
    (WebCore::RenderObject::willBeDestroyed):
    * rendering/RenderObject.h:
            
        Remove the static map.
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156639 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    8f71118f