Index: Source/core/dom/shadow/ShadowRoot.cpp |
diff --git a/Source/core/dom/shadow/ShadowRoot.cpp b/Source/core/dom/shadow/ShadowRoot.cpp |
index 06189b27216ea289b53758d72bdaf218a040e7bb..fcf17567dd4be791c54bc3fef5220cd24cd6b8cd 100644 |
--- a/Source/core/dom/shadow/ShadowRoot.cpp |
+++ b/Source/core/dom/shadow/ShadowRoot.cpp |
@@ -142,6 +142,12 @@ void ShadowRoot::recalcStyle(StyleChange change) |
StyleResolver* styleResolver = document()->styleResolver(); |
styleResolver->pushParentShadowRoot(this); |
+ // When we're set to lazyAttach we'll have a FullStyleChange and we'll need |
+ // to promote the change to a Force for all our descendants so they get a |
+ // recalc and will attach. |
+ if (styleChangeType() == FullStyleChange) |
+ change = Force; |
+ |
for (Node* child = firstChild(); child; child = child->nextSibling()) { |
if (child->isElementNode()) |
toElement(child)->recalcStyle(change); |