Chromium Code Reviews| Index: third_party/WebKit/Source/core/layout/LayoutInline.cpp |
| diff --git a/third_party/WebKit/Source/core/layout/LayoutInline.cpp b/third_party/WebKit/Source/core/layout/LayoutInline.cpp |
| index b61c6de5e54c8e577a493794de086bf5a6bdff48..3e85d7a1ad729b3234230c8b410dc4a333d537d1 100644 |
| --- a/third_party/WebKit/Source/core/layout/LayoutInline.cpp |
| +++ b/third_party/WebKit/Source/core/layout/LayoutInline.cpp |
| @@ -113,7 +113,7 @@ LayoutInline* LayoutInline::inlineElementContinuation() const |
| LayoutBoxModelObject* continuation = this->continuation(); |
| if (!continuation || continuation->isInline()) |
| return toLayoutInline(continuation); |
| - return toLayoutBlock(continuation)->inlineElementContinuation(); |
| + return toLayoutBlockFlow(continuation)->inlineElementContinuation(); |
| } |
| void LayoutInline::updateFromStyle() |
| @@ -141,12 +141,13 @@ static LayoutObject* inFlowPositionedInlineAncestor(LayoutObject* p) |
| static void updateInFlowPositionOfAnonymousBlockContinuations(LayoutObject* block, const ComputedStyle& newStyle, const ComputedStyle& oldStyle, LayoutObject* containingBlockOfEndOfContinuation) |
|
szager1
2016/05/13 22:08:48
Similarly, this seems like it could be refactored
mstensho (USE GERRIT)
2016/05/15 18:48:37
Definitely food for thought, but maybe we can deal
|
| { |
| for (; block && block != containingBlockOfEndOfContinuation && block->isAnonymousBlock(); block = block->nextSibling()) { |
| - if (!toLayoutBlock(block)->isAnonymousBlockContinuation()) |
| + LayoutBlockFlow* blockFlow = toLayoutBlockFlow(block); |
| + if (!blockFlow->isAnonymousBlockContinuation()) |
| continue; |
| // If we are no longer in-flow positioned but our descendant block(s) still have an in-flow positioned ancestor then |
| // their containing anonymous block should keep its in-flow positioning. |
| - if (oldStyle.hasInFlowPosition() && inFlowPositionedInlineAncestor(toLayoutBlock(block)->inlineElementContinuation())) |
| + if (oldStyle.hasInFlowPosition() && inFlowPositionedInlineAncestor(blockFlow->inlineElementContinuation())) |
| continue; |
| RefPtr<ComputedStyle> newBlockStyle = ComputedStyle::clone(block->styleRef()); |
| @@ -274,7 +275,7 @@ static LayoutBoxModelObject* nextContinuation(LayoutObject* layoutObject) |
| { |
| if (layoutObject->isInline() && !layoutObject->isAtomicInlineLevel()) |
| return toLayoutInline(layoutObject)->continuation(); |
| - return toLayoutBlock(layoutObject)->inlineElementContinuation(); |
| + return toLayoutBlockFlow(layoutObject)->inlineElementContinuation(); |
| } |
| LayoutBoxModelObject* LayoutInline::continuationBefore(LayoutObject* beforeChild) |
| @@ -839,7 +840,7 @@ PositionWithAffinity LayoutInline::positionForPoint(const LayoutPoint& point) |
| LayoutBox* contBlock = c->isInline() ? c->containingBlock() : toLayoutBlock(c); |
| if (c->isInline() || c->slowFirstChild()) |
| return c->positionForPoint(parentBlockPoint - contBlock->locationOffset()); |
| - c = toLayoutBlock(c)->inlineElementContinuation(); |
| + c = toLayoutBlockFlow(c)->inlineElementContinuation(); |
| } |
| return LayoutBoxModelObject::positionForPoint(point); |