| Index: third_party/WebKit/Source/core/paint/PaintLayerClipper.cpp
|
| diff --git a/third_party/WebKit/Source/core/paint/PaintLayerClipper.cpp b/third_party/WebKit/Source/core/paint/PaintLayerClipper.cpp
|
| index 44474e5be734767a26b67bda27c7b6d2c520d930..55fe154933e5b2efba967c25820836164c163bd1 100644
|
| --- a/third_party/WebKit/Source/core/paint/PaintLayerClipper.cpp
|
| +++ b/third_party/WebKit/Source/core/paint/PaintLayerClipper.cpp
|
| @@ -79,7 +79,7 @@ static void applyClipRects(const ClipRectsContext& context,
|
| DCHECK(box.shouldClipOverflow() || box.hasClip());
|
| LayoutView* view = box.view();
|
| DCHECK(view);
|
| - if (clipRects.fixed() && context.rootLayer->layoutObject() == view)
|
| + if (clipRects.fixed() && &context.rootLayer->layoutObject() == view)
|
| offset -= LayoutSize(view->frameView()->getScrollOffset());
|
|
|
| if (box.shouldClipOverflow()) {
|
| @@ -209,21 +209,21 @@ LayoutRect PaintLayerClipper::localClipRect(
|
|
|
| // The rect now needs to be transformed to the local space of this
|
| // PaintLayer.
|
| - premappedRect.moveBy(context.rootLayer->layoutObject()->paintOffset());
|
| + premappedRect.moveBy(context.rootLayer->layoutObject().paintOffset());
|
|
|
| const auto* clipRootLayerTransform = clippingRootLayer.layoutObject()
|
| - ->paintProperties()
|
| + .paintProperties()
|
| ->localBorderBoxProperties()
|
| ->transform();
|
| const auto* layerTransform = m_layer.layoutObject()
|
| - ->paintProperties()
|
| + .paintProperties()
|
| ->localBorderBoxProperties()
|
| ->transform();
|
| FloatRect clippedRectInLocalSpace =
|
| m_geometryMapper->sourceToDestinationRect(
|
| FloatRect(premappedRect), clipRootLayerTransform, layerTransform);
|
| clippedRectInLocalSpace.moveBy(
|
| - -FloatPoint(m_layer.layoutObject()->paintOffset()));
|
| + -FloatPoint(m_layer.layoutObject().paintOffset()));
|
|
|
| return LayoutRect(clippedRectInLocalSpace);
|
| }
|
| @@ -265,19 +265,19 @@ void PaintLayerClipper::mapLocalToRootWithGeometryMapper(
|
| DCHECK(m_geometryMapper);
|
|
|
| const auto* layerTransform = m_layer.layoutObject()
|
| - ->paintProperties()
|
| + .paintProperties()
|
| ->localBorderBoxProperties()
|
| ->transform();
|
| const auto* rootTransform = context.rootLayer->layoutObject()
|
| - ->paintProperties()
|
| + .paintProperties()
|
| ->localBorderBoxProperties()
|
| ->transform();
|
|
|
| FloatRect localRect(rectToMap);
|
| - localRect.moveBy(FloatPoint(m_layer.layoutObject()->paintOffset()));
|
| + localRect.moveBy(FloatPoint(m_layer.layoutObject().paintOffset()));
|
| rectToMap = LayoutRect(m_geometryMapper->sourceToDestinationRect(
|
| localRect, layerTransform, rootTransform));
|
| - rectToMap.moveBy(-context.rootLayer->layoutObject()->paintOffset());
|
| + rectToMap.moveBy(-context.rootLayer->layoutObject().paintOffset());
|
| rectToMap.move(context.subPixelAccumulation);
|
| }
|
|
|
| @@ -288,7 +288,7 @@ void PaintLayerClipper::calculateRectsWithGeometryMapper(
|
| ClipRect& backgroundRect,
|
| ClipRect& foregroundRect,
|
| const LayoutPoint* offsetFromRoot) const {
|
| - const auto* properties = m_layer.layoutObject()->paintProperties();
|
| + const auto* properties = m_layer.layoutObject().paintProperties();
|
| // TODO(chrishtr): fix the underlying bug that causes this situation.
|
| if (!properties) {
|
| backgroundRect = ClipRect(LayoutRect(LayoutRect::infiniteIntRect()));
|
| @@ -340,7 +340,7 @@ void PaintLayerClipper::calculateRects(
|
| }
|
|
|
| bool isClippingRoot = &m_layer == context.rootLayer;
|
| - LayoutBoxModelObject& layoutObject = *m_layer.layoutObject();
|
| + LayoutBoxModelObject& layoutObject = m_layer.layoutObject();
|
|
|
| if (!isClippingRoot && m_layer.parent()) {
|
| backgroundRect = backgroundClipRect(context);
|
| @@ -396,7 +396,7 @@ void PaintLayerClipper::calculateRects(
|
|
|
| void PaintLayerClipper::calculateClipRects(const ClipRectsContext& context,
|
| ClipRects& clipRects) const {
|
| - const LayoutBoxModelObject& layoutObject = *m_layer.layoutObject();
|
| + const LayoutBoxModelObject& layoutObject = m_layer.layoutObject();
|
| if (!m_layer.parent() &&
|
| !RuntimeEnabledFeatures::rootLayerScrollingEnabled()) {
|
| // The root layer's clip rect is always infinite.
|
| @@ -428,7 +428,7 @@ void PaintLayerClipper::calculateClipRects(const ClipRectsContext& context,
|
| // space.
|
| applyClipRects(context, layoutObject,
|
| LayoutPoint(layoutObject.localToAncestorPoint(
|
| - FloatPoint(), context.rootLayer->layoutObject())),
|
| + FloatPoint(), &context.rootLayer->layoutObject())),
|
| clipRects);
|
| }
|
| }
|
| @@ -448,12 +448,12 @@ ClipRect PaintLayerClipper::clipRectWithGeometryMapper(
|
| const ClipRectsContext& context,
|
| bool isForeground) const {
|
| DCHECK(m_geometryMapper);
|
| - const auto* properties = m_layer.layoutObject()->paintProperties();
|
| + const auto* properties = m_layer.layoutObject().paintProperties();
|
| DCHECK(properties && properties->localBorderBoxProperties());
|
|
|
| PropertyTreeState propertyTreeState = *properties->localBorderBoxProperties();
|
| const auto* ancestorProperties =
|
| - context.rootLayer->layoutObject()->paintProperties();
|
| + context.rootLayer->layoutObject().paintProperties();
|
| DCHECK(ancestorProperties && ancestorProperties->localBorderBoxProperties());
|
| PropertyTreeState destinationPropertyTreeState =
|
| *ancestorProperties->localBorderBoxProperties();
|
| @@ -484,14 +484,14 @@ ClipRect PaintLayerClipper::clipRectWithGeometryMapper(
|
| if (clippedRectInRootLayerSpace.hasRadius())
|
| clipRect.setHasRadius(true);
|
|
|
| - clipRect.moveBy(-context.rootLayer->layoutObject()->paintOffset());
|
| + clipRect.moveBy(-context.rootLayer->layoutObject().paintOffset());
|
| return clipRect;
|
| }
|
|
|
| void PaintLayerClipper::applyOverflowClipToBackgroundRectWithGeometryMapper(
|
| const ClipRectsContext& context,
|
| ClipRect& clip) const {
|
| - const LayoutObject& layoutObject = *m_layer.layoutObject();
|
| + const LayoutObject& layoutObject = m_layer.layoutObject();
|
| if (!shouldClipOverflow(context))
|
| return;
|
| LayoutRect layerBoundsWithVisualOverflow =
|
| @@ -519,7 +519,7 @@ ClipRect PaintLayerClipper::backgroundClipRect(
|
| return backgroundClipRect;
|
| }
|
| DCHECK(m_layer.parent());
|
| - LayoutView* layoutView = m_layer.layoutObject()->view();
|
| + LayoutView* layoutView = m_layer.layoutObject().view();
|
| DCHECK(layoutView);
|
|
|
| RefPtr<ClipRects> parentClipRects = ClipRects::create();
|
| @@ -531,12 +531,12 @@ ClipRect PaintLayerClipper::backgroundClipRect(
|
| }
|
|
|
| ClipRect result = backgroundClipRectForPosition(
|
| - *parentClipRects, m_layer.layoutObject()->styleRef().position());
|
| + *parentClipRects, m_layer.layoutObject().styleRef().position());
|
|
|
| // Note: infinite clipRects should not be scrolled here, otherwise they will
|
| // accidentally no longer be considered infinite.
|
| if (parentClipRects->fixed() &&
|
| - context.rootLayer->layoutObject() == layoutView &&
|
| + &context.rootLayer->layoutObject() == layoutView &&
|
| result != LayoutRect(LayoutRect::infiniteIntRect()))
|
| result.move(LayoutSize(layoutView->frameView()->getScrollOffset()));
|
|
|
| @@ -555,9 +555,9 @@ void PaintLayerClipper::getOrCalculateClipRects(const ClipRectsContext& context,
|
|
|
| bool PaintLayerClipper::shouldClipOverflow(
|
| const ClipRectsContext& context) const {
|
| - if (!m_layer.layoutObject()->isBox())
|
| + if (!m_layer.layoutObject().isBox())
|
| return false;
|
| - const LayoutBox& box = *toLayoutBox(m_layer.layoutObject());
|
| + const LayoutBox& box = toLayoutBox(m_layer.layoutObject());
|
|
|
| if (!shouldRespectOverflowClip(context))
|
| return false;
|
|
|