Skip to content
  • bdakin@apple.com's avatar
    Need a new layout milestone to notify bundle clients when the header has been · 60d628f6
    bdakin@apple.com authored
    flushed
    https://bugs.webkit.org/show_bug.cgi?id=114706
    -and corresponding-
    <rdar://problem/13657284>
    
    Reviewed by Simon Fraser.
    
    Source/WebCore: 
    
    New LayoutMilestone is DidFirstFlushForHeaderLayer.
    * page/LayoutMilestones.h:
            
    New API to allow removing a LayoutMilestone.
    * WebCore.exp.in:
    * page/Page.cpp:
    (WebCore::Page::removeLayoutMilestones):
    * page/Page.h:
    (Page):
    
    New boolean member variable m_headerLayerAwaitingFirstFlush keeps track of whether 
    we need to send the DidFirstFlushForHeaderLayer milestone.
    * rendering/RenderLayerCompositor.h:
    (RenderLayerCompositor):
    * rendering/RenderLayerCompositor.cpp:
    (WebCore::RenderLayerCompositor::RenderLayerCompositor):
    
    Send the milestone if appropriate.
    (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
    
     Set m_headerLayerAwaitingFirstFlush to true for a newly created layer.
    (WebCore::RenderLayerCompositor::updateLayerForHeader):
    
    Source/WebKit2: 
    
    Make this new LayoutMilestone private at the API layer. 
    * Shared/API/c/WKPageLoadTypes.h:
    * Shared/API/c/WKPageLoadTypesPrivate.h: Added.
    
    Handle the new milestone.
    * Shared/API/c/WKSharedAPICast.h:
    (WebKit::toWKLayoutMilestones):
    (WebKit::toLayoutMilestones):
    
    New file to make the milestone private.
    * WebKit2.xcodeproj/project.pbxproj:
    
    Add or remove the DidFirstFlushForHeaderLayer millstone based on whether we just 
    added or removed a header.
    * WebProcess/WebPage/mac/WebPageMac.mm:
    (WebKit::WebPage::setHeaderLayerWithHeight):
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148564 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    60d628f6