Index: Source/core/paint/BlockPainter.cpp |
diff --git a/Source/core/paint/BlockPainter.cpp b/Source/core/paint/BlockPainter.cpp |
index 90a4e69038ad3ce832b08c3c777e2b72c67f500c..fa3bd8fdc40e0f87b703d8c4106853eab75b144f 100644 |
--- a/Source/core/paint/BlockPainter.cpp |
+++ b/Source/core/paint/BlockPainter.cpp |
@@ -290,6 +290,12 @@ |
void BlockPainter::paintContents(const PaintInfo& paintInfo, const LayoutPoint& paintOffset) |
{ |
+ // Avoid painting descendants of the root element when stylesheets haven't loaded. This eliminates FOUC. |
+ // It's ok not to draw, because later on, when all the stylesheets do load, styleResolverChanged() on the Document |
+ // will do a full paint invalidation. |
+ if (m_layoutBlock.document().didLayoutWithPendingStylesheets() && !m_layoutBlock.isLayoutView()) |
+ return; |
+ |
if (m_layoutBlock.childrenInline()) { |
LineBoxListPainter(*m_layoutBlock.lineBoxes()).paint(&m_layoutBlock, paintInfo, paintOffset); |
} else { |