Index: third_party/WebKit/Source/core/dom/Document.cpp |
diff --git a/third_party/WebKit/Source/core/dom/Document.cpp b/third_party/WebKit/Source/core/dom/Document.cpp |
index 29ba52b55ea0d02da77725f16084e735de41dcb3..8eb3a91a9cf8ba3b1622622cee589dd4e6159aa2 100644 |
--- a/third_party/WebKit/Source/core/dom/Document.cpp |
+++ b/third_party/WebKit/Source/core/dom/Document.cpp |
@@ -568,8 +568,11 @@ MediaQueryMatcher& Document::mediaQueryMatcher() { |
} |
void Document::mediaQueryAffectingValueChanged() { |
- m_evaluateMediaQueriesOnStyleRecalc = true; |
styleEngine().mediaQueryAffectingValueChanged(); |
+ if (needsLayoutTreeUpdate()) |
+ m_evaluateMediaQueriesOnStyleRecalc = true; |
+ else |
+ evaluateMediaQueryList(); |
InspectorInstrumentation::mediaQueryResultChanged(this); |
} |
@@ -2220,8 +2223,9 @@ void Document::updateStyleAndLayoutTreeIgnorePendingStylesheets() { |
if (bodyElement && !bodyElement->layoutObject() && |
m_pendingSheetLayout == NoLayoutWithPendingSheets) { |
m_pendingSheetLayout = DidLayoutWithPendingSheets; |
- styleEngine().resolverChanged(FullStyleUpdate); |
- } else if (m_hasNodesWithPlaceholderStyle) { |
+ styleEngine().markAllTreeScopesDirty(); |
+ } |
+ if (m_hasNodesWithPlaceholderStyle) { |
// If new nodes have been added or style recalc has been done with style |
// sheets still pending, some nodes may not have had their real style |
// calculated yet. Normally this gets cleaned when style sheets arrive |