Index: Source/core/dom/NodeRenderingTraversal.cpp |
diff --git a/Source/core/dom/NodeRenderingTraversal.cpp b/Source/core/dom/NodeRenderingTraversal.cpp |
index fa67f825e242ba68373c4cbb2d617e8105731054..06bf3acfc044ae18d90298a8805b95105ffad0a2 100644 |
--- a/Source/core/dom/NodeRenderingTraversal.cpp |
+++ b/Source/core/dom/NodeRenderingTraversal.cpp |
@@ -49,6 +49,9 @@ void ParentDetails::didTraverseShadowRoot(const ShadowRoot* root) |
ContainerNode* parent(const Node* node, ParentDetails* details) |
{ |
+ if (ShadowRoot* root = node->containingShadowRoot()) |
+ ContentDistributor::ensureDistribution(root); |
+ |
ComposedShadowTreeWalker walker(node, ComposedShadowTreeWalker::CrossUpperBoundary, ComposedShadowTreeWalker::CanStartFromShadowBoundary); |
ContainerNode* found = toContainerNode(walker.traverseParent(walker.get(), details)); |
return details->outOfComposition() ? 0 : found; |