| 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 a0a17d3962ef13e7d138575fc7b25be600a0f5ca..c62a1e9af3837e45b579460999d6eb70e4bb54be 100644
|
| --- a/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp
|
| +++ b/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp
|
| @@ -9,6 +9,7 @@
|
| #include "core/frame/Settings.h"
|
| #include "core/layout/LayoutInline.h"
|
| #include "core/layout/LayoutView.h"
|
| +#include "core/layout/compositing/CompositingReasonFinder.h"
|
| #include "core/layout/svg/LayoutSVGRoot.h"
|
| #include "core/paint/FindPropertiesNeedingUpdate.h"
|
| #include "core/paint/ObjectPaintProperties.h"
|
| @@ -122,6 +123,9 @@ void PaintPropertyTreeBuilder::updateProperties(
|
| return;
|
| }
|
|
|
| + m_compositingReasonFinder.reset(
|
| + new CompositingReasonFinder(*frameView.layoutView()));
|
| +
|
| #if DCHECK_IS_ON()
|
| FindFrameViewPropertiesNeedingUpdateScope checkScope(&frameView, context);
|
| #endif
|
| @@ -338,7 +342,10 @@ void PaintPropertyTreeBuilder::updateTransform(
|
| context.forceSubtreeUpdate |= properties.updateTransform(
|
| context.current.transform, matrix,
|
| transformOrigin(toLayoutBox(object)),
|
| - context.current.shouldFlattenInheritedTransform, renderingContextID);
|
| + context.current.shouldFlattenInheritedTransform, renderingContextID,
|
| + m_compositingReasonFinder->directReasons(
|
| + toLayoutBoxModelObject(&object)->layer()) &
|
| + CompositingReason3DTransform);
|
| } else {
|
| if (auto* properties = object.getMutableForPainting().paintProperties())
|
| context.forceSubtreeUpdate |= properties->clearTransform();
|
|
|