Index: Source/core/dom/Document.cpp |
diff --git a/Source/core/dom/Document.cpp b/Source/core/dom/Document.cpp |
index 95f472d66f5410d5b3092bf470ae642040180b90..b96388f74579976d9a272a7a35d66891e6821338 100644 |
--- a/Source/core/dom/Document.cpp |
+++ b/Source/core/dom/Document.cpp |
@@ -1698,8 +1698,8 @@ void Document::updateStyleForNodeIfNeeded(Node* node) |
return; |
bool needsStyleRecalc = hasPendingForcedStyleRecalc(); |
- for (Node* n = node; n && !needsStyleRecalc; n = n->parentNode()) |
- needsStyleRecalc = n->needsStyleRecalc(); |
+ for (Node* ancestor = node; ancestor && !needsStyleRecalc; ancestor = ancestor->parentOrShadowHostNode()) |
+ needsStyleRecalc = ancestor->needsStyleRecalc(); |
if (needsStyleRecalc) |
updateStyleIfNeeded(); |
} |