| Index: third_party/WebKit/Source/core/dom/LayoutTreeBuilder.cpp
|
| diff --git a/third_party/WebKit/Source/core/dom/LayoutTreeBuilder.cpp b/third_party/WebKit/Source/core/dom/LayoutTreeBuilder.cpp
|
| index 8bc3bdc8608255a72cc05e0d33e17b4f0937dd6c..d6df798b0f74e0a0ac49c3206c4ce4bbbb770dde 100644
|
| --- a/third_party/WebKit/Source/core/dom/LayoutTreeBuilder.cpp
|
| +++ b/third_party/WebKit/Source/core/dom/LayoutTreeBuilder.cpp
|
| @@ -49,13 +49,15 @@ LayoutTreeBuilderForElement::LayoutTreeBuilderForElement(Element& element,
|
| ComputedStyle* style)
|
| : LayoutTreeBuilder(element, nullptr), m_style(style) {
|
| DCHECK(!element.isActiveSlotOrActiveInsertionPoint());
|
| + // TODO(ecobos): Move the first-letter logic inside parentLayoutObject too?
|
| + // It's an extra (unnecessary) check for text nodes, though.
|
| if (element.isFirstLetterPseudoElement()) {
|
| if (LayoutObject* nextLayoutObject =
|
| FirstLetterPseudoElement::firstLetterTextLayoutObject(element))
|
| m_layoutObjectParent = nextLayoutObject->parent();
|
| - } else if (ContainerNode* containerNode =
|
| - LayoutTreeBuilderTraversal::parent(element)) {
|
| - m_layoutObjectParent = containerNode->layoutObject();
|
| + } else {
|
| + m_layoutObjectParent =
|
| + LayoutTreeBuilderTraversal::parentLayoutObject(element);
|
| }
|
| }
|
|
|
| @@ -94,7 +96,6 @@ bool LayoutTreeBuilderForElement::shouldCreateLayoutObject() const {
|
| return false;
|
| if (!parentLayoutObject->canHaveChildren())
|
| return false;
|
| -
|
| return m_node->layoutObjectIsNeeded(style());
|
| }
|
|
|
| @@ -144,7 +145,11 @@ void LayoutTreeBuilderForElement::createLayoutObject() {
|
| }
|
|
|
| void LayoutTreeBuilderForText::createLayoutObject() {
|
| - ComputedStyle& style = m_layoutObjectParent->mutableStyleRef();
|
| + ComputedStyle& style = *m_style;
|
| +
|
| + DCHECK(m_style == m_layoutObjectParent->style() ||
|
| + toElement(LayoutTreeBuilderTraversal::parent(*m_node))
|
| + ->hasDisplayContentsStyle());
|
|
|
| DCHECK(m_node->textLayoutObjectIsNeeded(style, *m_layoutObjectParent));
|
|
|
|
|