Index: third_party/WebKit/Source/core/layout/compositing/CompositingInputsUpdater.cpp |
diff --git a/third_party/WebKit/Source/core/layout/compositing/CompositingInputsUpdater.cpp b/third_party/WebKit/Source/core/layout/compositing/CompositingInputsUpdater.cpp |
index 92b93ede5558f7ae7b2706123227a683fa50e9b6..808736d1679341dba7e7daf1021f787f94a3a48f 100644 |
--- a/third_party/WebKit/Source/core/layout/compositing/CompositingInputsUpdater.cpp |
+++ b/third_party/WebKit/Source/core/layout/compositing/CompositingInputsUpdater.cpp |
@@ -28,7 +28,7 @@ void CompositingInputsUpdater::update() { |
static const PaintLayer* findParentLayerOnClippingContainerChain( |
const PaintLayer* layer) { |
- LayoutObject* current = layer->layoutObject(); |
+ LayoutObject* current = &layer->layoutObject(); |
while (current) { |
if (current->style()->position() == EPosition::kFixed) { |
for (current = current->parent(); |
@@ -73,19 +73,19 @@ static bool hasClippedStackingAncestor(const PaintLayer* layer, |
if (layer == clippingLayer) |
return false; |
bool foundInterveningClip = false; |
- const LayoutObject* clippingLayoutObject = clippingLayer->layoutObject(); |
+ const LayoutObject& clippingLayoutObject = clippingLayer->layoutObject(); |
for (const PaintLayer* current = layer->compositingContainer(); current; |
current = current->compositingContainer()) { |
if (current == clippingLayer) |
return foundInterveningClip; |
- if (current->layoutObject()->hasClipRelatedProperty() && |
- !clippingLayoutObject->isDescendantOf(current->layoutObject())) |
+ if (current->layoutObject().hasClipRelatedProperty() && |
+ !clippingLayoutObject.isDescendantOf(¤t->layoutObject())) |
foundInterveningClip = true; |
if (const LayoutObject* container = current->clippingContainer()) { |
- if (clippingLayoutObject != container && |
- !clippingLayoutObject->isDescendantOf(container)) |
+ if (&clippingLayoutObject != container && |
+ !clippingLayoutObject.isDescendantOf(container)) |
foundInterveningClip = true; |
} |
} |
@@ -101,7 +101,7 @@ void CompositingInputsUpdater::updateRecursive(PaintLayer* layer, |
const PaintLayer* previousOverflowLayer = layer->ancestorOverflowLayer(); |
layer->updateAncestorOverflowLayer(info.lastOverflowClipLayer); |
if (info.lastOverflowClipLayer && layer->needsCompositingInputsUpdate() && |
- layer->layoutObject()->style()->position() == EPosition::kSticky) { |
+ layer->layoutObject().style()->position() == EPosition::kSticky) { |
if (info.lastOverflowClipLayer != previousOverflowLayer && |
!RuntimeEnabledFeatures::rootLayerScrollingEnabled()) { |
// Old ancestor scroller should no longer have these constraints. |
@@ -110,18 +110,18 @@ void CompositingInputsUpdater::updateRecursive(PaintLayer* layer, |
->stickyConstraintsMap() |
.contains(layer)); |
- if (info.lastOverflowClipLayer->isRootLayer()) |
+ if (info.lastOverflowClipLayer->isRootLayer()) { |
+ layer->layoutObject().view()->frameView()->addViewportConstrainedObject( |
+ layer->layoutObject()); |
+ } else if (previousOverflowLayer && |
+ previousOverflowLayer->isRootLayer()) { |
layer->layoutObject() |
- ->view() |
- ->frameView() |
- ->addViewportConstrainedObject(layer->layoutObject()); |
- else if (previousOverflowLayer && previousOverflowLayer->isRootLayer()) |
- layer->layoutObject() |
- ->view() |
+ .view() |
->frameView() |
->removeViewportConstrainedObject(layer->layoutObject()); |
+ } |
} |
- layer->layoutObject()->updateStickyPositionConstraints(); |
+ layer->layoutObject().updateStickyPositionConstraints(); |
// Sticky position constraints and ancestor overflow scroller affect |
// the sticky layer position, so we need to update it again here. |
@@ -176,7 +176,7 @@ void CompositingInputsUpdater::updateRecursive(PaintLayer* layer, |
? parent |
: parent->filterAncestor(); |
bool layerIsFixedPosition = |
- layer->layoutObject()->style()->position() == EPosition::kFixed; |
+ layer->layoutObject().style()->position() == EPosition::kFixed; |
properties.nearestFixedPositionLayer = |
layerIsFixedPosition ? layer : parent->nearestFixedPositionLayer(); |
@@ -185,13 +185,13 @@ void CompositingInputsUpdater::updateRecursive(PaintLayer* layer, |
findParentLayerOnClippingContainerChain(layer); |
const bool parentHasClipRelatedProperty = |
parentLayerOnClippingContainerChain->layoutObject() |
- ->hasClipRelatedProperty(); |
+ .hasClipRelatedProperty(); |
properties.clippingContainer = |
parentHasClipRelatedProperty |
- ? parentLayerOnClippingContainerChain->layoutObject() |
+ ? &parentLayerOnClippingContainerChain->layoutObject() |
: parentLayerOnClippingContainerChain->clippingContainer(); |
- if (layer->layoutObject()->isOutOfFlowPositioned() && |
+ if (layer->layoutObject().isOutOfFlowPositioned() && |
!layer->subtreeIsInvisible()) { |
const PaintLayer* clippingLayer = |
properties.clippingContainer |
@@ -204,7 +204,7 @@ void CompositingInputsUpdater::updateRecursive(PaintLayer* layer, |
if (info.lastScrollingAncestor) { |
const LayoutObject* containingBlock = |
- layer->layoutObject()->containingBlock(); |
+ layer->layoutObject().containingBlock(); |
const PaintLayer* parentLayerOnContainingBlockChain = |
findParentLayerOnContainingBlockChain(containingBlock); |
@@ -215,8 +215,8 @@ void CompositingInputsUpdater::updateRecursive(PaintLayer* layer, |
if (layer->stackingNode()->isStacked() && |
properties.ancestorScrollingLayer && |
- !info.ancestorStackingContext->layoutObject()->isDescendantOf( |
- properties.ancestorScrollingLayer->layoutObject())) |
+ !info.ancestorStackingContext->layoutObject().isDescendantOf( |
+ &properties.ancestorScrollingLayer->layoutObject())) |
properties.scrollParent = properties.ancestorScrollingLayer; |
} |
} |
@@ -228,16 +228,16 @@ void CompositingInputsUpdater::updateRecursive(PaintLayer* layer, |
if (layer->stackingNode()->isStackingContext()) |
info.ancestorStackingContext = layer; |
- if (layer->isRootLayer() || layer->layoutObject()->hasOverflowClip()) |
+ if (layer->isRootLayer() || layer->layoutObject().hasOverflowClip()) |
info.lastOverflowClipLayer = layer; |
if (layer->scrollsOverflow()) |
info.lastScrollingAncestor = layer; |
- if (layer->layoutObject()->hasClipRelatedProperty()) |
+ if (layer->layoutObject().hasClipRelatedProperty()) |
info.hasAncestorWithClipRelatedProperty = true; |
- if (layer->layoutObject()->hasClipPath()) |
+ if (layer->layoutObject().hasClipPath()) |
info.hasAncestorWithClipPath = true; |
for (PaintLayer* child = layer->firstChild(); child; |
@@ -253,7 +253,7 @@ void CompositingInputsUpdater::updateRecursive(PaintLayer* layer, |
// If the floating object becomes non-self-painting, so some ancestor should |
// paint it; if it becomes self-painting, it should paint itself and no |
// ancestor should paint it. |
- if (layer->layoutObject()->isFloating()) { |
+ if (layer->layoutObject().isFloating()) { |
LayoutBlockFlow::updateAncestorShouldPaintFloatingObject( |
*layer->layoutBox()); |
} |