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 f8943953cec6c78057a61055cbc0390ae129844d..c12532cfc1908144835d4a84d9c73bf6cf912587 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(); |