Skip to content
  • mitz@apple.com's avatar
    WebCore: · 9f58d104
    mitz@apple.com authored
            Reviewed by Dave Hyatt.
    
            - fix <rdar://problem/6805567> REGRESSION (r42348): Notes flicker white
              when loading
    
            Tests: fast/frames/content-opacity-1.html
                   fast/frames/content-opacity-2.html
    
            * page/FrameView.cpp:
            (WebCore::FrameView::reset): Reset m_contentIsOpaque to false.
            (WebCore::FrameView::useSlowRepaints): Use slow repaints if the content
            is not known to be opaque.
            (WebCore::FrameView::setContentIsOpaque): Added. Sets m_contentIsOpaque
            and enables or disables fast repaints accordingly.
            * page/FrameView.h:
            * rendering/RenderBoxModelObject.cpp:
            (WebCore::RenderBoxModelObject::paintFillLayerExtended): Removed the
            document()->haveStylesheetsLoaded() condition in determining whether the
            root is opaque. This is what was causing the bug, as iframes were
            considered to be opaque, and thus painted an opaque white background,
            whenever they were pending a style sheet load.
            Changed to call FrameView::setContentIsOpaqe() instead of
            setUseSlowRepaints(), which allows the frame to go back to fast repaints
            if the content becomes opaque.
            Corrected the check for background color opacity: any alpha value other
            than 255--not just zero--is not opaque.
    
    LayoutTests:
    
            Reviewed by Dave Hyatt.
    
            - tests for <rdar://problem/6805567> REGRESSION (r42348): Notes flicker
              white when loading
    
            * fast/frames/content-opacity-1.html: Added.
            * fast/frames/content-opacity-2.html: Added.
            * platform/mac/fast/frames/content-opacity-1-expected.checksum: Added.
            * platform/mac/fast/frames/content-opacity-1-expected.png: Added.
            * platform/mac/fast/frames/content-opacity-1-expected.txt: Added.
            * platform/mac/fast/frames/content-opacity-2-expected.checksum: Added.
            * platform/mac/fast/frames/content-opacity-2-expected.png: Added.
            * platform/mac/fast/frames/content-opacity-2-expected.txt: Added.
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@43646 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    9f58d104