| 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 b215ab15b4383a7d77e484f80a95c6c899f813be..c460ed0991cc165e80630c283a7bdcca8b5db395 100644
|
| --- a/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp
|
| +++ b/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp
|
| @@ -15,21 +15,21 @@
|
|
|
| namespace blink {
|
|
|
| -void PaintPropertyTreeBuilder::buildTreeRootNodes(FrameView& rootFrame, PaintPropertyTreeBuilderRootContext& rootContext)
|
| +void PaintPropertyTreeBuilder::buildTreeRootNodes(FrameView& rootFrame, PaintPropertyTreeBuilderContext& context)
|
| {
|
| // Only create extra root clip and transform nodes when RLS is enabled, because the main frame
|
| // unconditionally create frame translation / clip nodes otherwise.
|
| if (rootFrame.frame().settings() && rootFrame.frame().settings()->rootLayerScrolls()) {
|
| - rootContext.transformRoot = TransformPaintPropertyNode::create(TransformationMatrix(), FloatPoint3D(), nullptr);
|
| - rootContext.currentTransform = rootContext.transformForAbsolutePosition = rootContext.transformForFixedPosition = rootContext.transformRoot.get();
|
| + transformRoot = TransformPaintPropertyNode::create(TransformationMatrix(), FloatPoint3D(), nullptr);
|
| + context.currentTransform = context.transformForAbsolutePosition = context.transformForFixedPosition = transformRoot.get();
|
|
|
| - rootContext.clipRoot = ClipPaintPropertyNode::create(rootContext.transformRoot, FloatRoundedRect(LayoutRect::infiniteIntRect()), nullptr);
|
| - rootContext.currentClip = rootContext.clipForAbsolutePosition = rootContext.clipForFixedPosition = rootContext.clipRoot.get();
|
| + clipRoot = ClipPaintPropertyNode::create(transformRoot, FloatRoundedRect(LayoutRect::infiniteIntRect()), nullptr);
|
| + context.currentClip = context.clipForAbsolutePosition = context.clipForFixedPosition = clipRoot.get();
|
| }
|
|
|
| // The root frame never creates effect node so we unconditionally create a root node here.
|
| - rootContext.effectRoot = EffectPaintPropertyNode::create(1.0, nullptr);
|
| - rootContext.currentEffect = rootContext.effectRoot.get();
|
| + effectRoot = EffectPaintPropertyNode::create(1.0, nullptr);
|
| + context.currentEffect = effectRoot.get();
|
| }
|
|
|
| void PaintPropertyTreeBuilder::buildTreeNodes(FrameView& frameView, PaintPropertyTreeBuilderContext& context)
|
| @@ -359,6 +359,9 @@ static void deriveBorderBoxFromContainerContext(const LayoutObject& object, Pain
|
|
|
| void PaintPropertyTreeBuilder::buildTreeNodes(const LayoutObject& object, PaintPropertyTreeBuilderContext& context)
|
| {
|
| + if (!object.isBoxModelObject() && !object.isSVG())
|
| + return;
|
| +
|
| object.getMutableForPainting().clearObjectPaintProperties();
|
|
|
| deriveBorderBoxFromContainerContext(object, context);
|
|
|