| Index: third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp
|
| diff --git a/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp b/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp
|
| index 172d22ae06ce77eada4f4fe52677f2594f78548b..41adbe545646470879210de3a223ac4e22776577 100644
|
| --- a/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp
|
| +++ b/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp
|
| @@ -88,7 +88,8 @@ static bool updateScrollTranslation(
|
| const IntSize& bounds,
|
| bool userScrollableHorizontal,
|
| bool userScrollableVertical,
|
| - MainThreadScrollingReasons mainThreadScrollingReasons) {
|
| + MainThreadScrollingReasons mainThreadScrollingReasons,
|
| + WebLayerScrollClient* scrollClient) {
|
| DCHECK(!RuntimeEnabledFeatures::rootLayerScrollingEnabled());
|
| CompositorElementId compositorElementId =
|
| createDomNodeBasedCompositorElementId(*frameView.layoutView());
|
| @@ -99,7 +100,7 @@ static bool updateScrollTranslation(
|
| std::move(parent), matrix, origin, false, 0, CompositingReasonNone,
|
| compositorElementId, std::move(scrollParent), clip, bounds,
|
| userScrollableHorizontal, userScrollableVertical,
|
| - mainThreadScrollingReasons);
|
| + mainThreadScrollingReasons, scrollClient);
|
| return existingReasons != mainThreadScrollingReasons;
|
| }
|
| frameView.setScrollTranslation(
|
| @@ -107,7 +108,7 @@ static bool updateScrollTranslation(
|
| std::move(parent), matrix, origin, false, 0, CompositingReasonNone,
|
| compositorElementId, std::move(scrollParent), clip, bounds,
|
| userScrollableHorizontal, userScrollableVertical,
|
| - mainThreadScrollingReasons));
|
| + mainThreadScrollingReasons, scrollClient));
|
| return true;
|
| }
|
|
|
| @@ -175,7 +176,8 @@ void PaintPropertyTreeBuilder::updateProperties(
|
| context.forceSubtreeUpdate |= updateScrollTranslation(
|
| frameView, frameView.preTranslation(), frameScroll, FloatPoint3D(),
|
| context.current.scroll, scrollClip, scrollBounds,
|
| - userScrollableHorizontal, userScrollableVertical, reasons);
|
| + userScrollableHorizontal, userScrollableVertical, reasons,
|
| + frameView.getScrollableArea());
|
| } else {
|
| if (frameView.scrollTranslation()) {
|
| // Ensure pre-existing properties are cleared if there is no scrolling.
|
| @@ -746,7 +748,7 @@ void PaintPropertyTreeBuilder::updateScrollAndScrollTranslation(
|
| bool scrollNodeNeededForMainThreadReasons = ancestorReasons != reasons;
|
|
|
| const LayoutBox& box = toLayoutBox(object);
|
| - const auto* scrollableArea = box.getScrollableArea();
|
| + auto* scrollableArea = box.getScrollableArea();
|
| IntSize scrollOffset = box.scrolledContentOffset();
|
| if (scrollNodeNeededForMainThreadReasons || !scrollOffset.isZero() ||
|
| scrollableArea->scrollsOverflow()) {
|
| @@ -779,7 +781,7 @@ void PaintPropertyTreeBuilder::updateScrollAndScrollTranslation(
|
| context.current.renderingContextId, CompositingReasonNone,
|
| compositorElementId, context.current.scroll, scrollClip,
|
| scrollBounds, userScrollableHorizontal, userScrollableVertical,
|
| - reasons);
|
| + reasons, scrollableArea);
|
| }
|
| }
|
|
|
|
|