Index: third_party/WebKit/Source/core/css/resolver/ElementResolveContext.cpp |
diff --git a/third_party/WebKit/Source/core/css/resolver/ElementResolveContext.cpp b/third_party/WebKit/Source/core/css/resolver/ElementResolveContext.cpp |
index aad1e532270b3320f51b1146f4f8ecb643a26267..7c9cc1409d04163b2d401a724ffea70f7c611b40 100644 |
--- a/third_party/WebKit/Source/core/css/resolver/ElementResolveContext.cpp |
+++ b/third_party/WebKit/Source/core/css/resolver/ElementResolveContext.cpp |
@@ -33,6 +33,7 @@ namespace blink { |
ElementResolveContext::ElementResolveContext(const Document& document) |
: m_element(nullptr), |
m_parentNode(nullptr), |
+ m_layoutParent(nullptr), |
m_rootElementStyle(document.documentElement() |
? document.documentElement()->computedStyle() |
: document.computedStyle()), |
@@ -45,10 +46,14 @@ ElementResolveContext::ElementResolveContext(Element& element) |
element.document().visitedLinkState().determineLinkState(element)), |
m_distributedToInsertionPoint(false) { |
LayoutTreeBuilderTraversal::ParentDetails parentDetails; |
- m_parentNode = |
- element.isActiveSlotOrActiveInsertionPoint() |
- ? nullptr |
- : LayoutTreeBuilderTraversal::parent(element, &parentDetails); |
+ if (element.isActiveSlotOrActiveInsertionPoint()) { |
+ m_parentNode = nullptr; |
+ m_layoutParent = nullptr; |
+ } else { |
+ m_parentNode = LayoutTreeBuilderTraversal::parent(element); |
+ m_layoutParent = |
+ LayoutTreeBuilderTraversal::layoutParent(element, &parentDetails); |
+ } |
m_distributedToInsertionPoint = parentDetails.insertionPoint(); |
const Document& document = element.document(); |