-
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