| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "core/paint/PaintPropertyTreeBuilder.h" | 5 #include "core/paint/PaintPropertyTreeBuilder.h" |
| 6 | 6 |
| 7 #include "core/dom/DOMNodeIds.h" | 7 #include "core/dom/DOMNodeIds.h" |
| 8 #include "core/frame/FrameView.h" | 8 #include "core/frame/FrameView.h" |
| 9 #include "core/frame/LocalFrame.h" | 9 #include "core/frame/LocalFrame.h" |
| 10 #include "core/frame/Settings.h" | 10 #include "core/frame/Settings.h" |
| (...skipping 509 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 520 style.hasCurrentFilterAnimation() || | 520 style.hasCurrentFilterAnimation() || |
| 521 style.hasCurrentBackdropFilterAnimation()) | 521 style.hasCurrentBackdropFilterAnimation()) |
| 522 ? createDomNodeBasedCompositorElementId(object) | 522 ? createDomNodeBasedCompositorElementId(object) |
| 523 : CompositorElementId(); | 523 : CompositorElementId(); |
| 524 | 524 |
| 525 if (effectNodeNeeded) { | 525 if (effectNodeNeeded) { |
| 526 auto& properties = object.getMutableForPainting().ensurePaintProperties(); | 526 auto& properties = object.getMutableForPainting().ensurePaintProperties(); |
| 527 context.forceSubtreeUpdate |= properties.updateEffect( | 527 context.forceSubtreeUpdate |= properties.updateEffect( |
| 528 context.currentEffect, context.current.transform, outputClip, | 528 context.currentEffect, context.current.transform, outputClip, |
| 529 std::move(filter), opacity, blendMode, compositingReasons, | 529 std::move(filter), opacity, blendMode, compositingReasons, |
| 530 compositorElementId); | 530 compositorElementId, FloatPoint(context.current.paintOffset)); |
| 531 } else { | 531 } else { |
| 532 if (auto* properties = object.getMutableForPainting().paintProperties()) | 532 if (auto* properties = object.getMutableForPainting().paintProperties()) |
| 533 context.forceSubtreeUpdate |= properties->clearEffect(); | 533 context.forceSubtreeUpdate |= properties->clearEffect(); |
| 534 } | 534 } |
| 535 } | 535 } |
| 536 | 536 |
| 537 const auto* properties = object.paintProperties(); | 537 const auto* properties = object.paintProperties(); |
| 538 if (properties && properties->effect()) { | 538 if (properties && properties->effect()) { |
| 539 context.currentEffect = properties->effect(); | 539 context.currentEffect = properties->effect(); |
| 540 if (!properties->effect()->filter().isEmpty()) { | 540 if (!properties->effect()->filter().isEmpty()) { |
| (...skipping 417 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 958 void PaintPropertyTreeBuilder::updatePropertiesForSelf( | 958 void PaintPropertyTreeBuilder::updatePropertiesForSelf( |
| 959 const LayoutObject& object, | 959 const LayoutObject& object, |
| 960 PaintPropertyTreeBuilderContext& context) { | 960 PaintPropertyTreeBuilderContext& context) { |
| 961 #if DCHECK_IS_ON() | 961 #if DCHECK_IS_ON() |
| 962 FindObjectPropertiesNeedingUpdateScope checkNeedsUpdateScope(object, context); | 962 FindObjectPropertiesNeedingUpdateScope checkNeedsUpdateScope(object, context); |
| 963 #endif | 963 #endif |
| 964 | 964 |
| 965 if (object.isBoxModelObject() || object.isSVG()) { | 965 if (object.isBoxModelObject() || object.isSVG()) { |
| 966 updatePaintOffsetTranslation(object, context); | 966 updatePaintOffsetTranslation(object, context); |
| 967 updateTransform(object, context); | 967 updateTransform(object, context); |
| 968 if (RuntimeEnabledFeatures::slimmingPaintV2Enabled()) | 968 updateEffect(object, context); |
| 969 updateEffect(object, context); | |
| 970 updateCssClip(object, context); | 969 updateCssClip(object, context); |
| 971 updateLocalBorderBoxContext(object, context); | 970 updateLocalBorderBoxContext(object, context); |
| 972 if (RuntimeEnabledFeatures::slimmingPaintV2Enabled()) | 971 if (RuntimeEnabledFeatures::slimmingPaintV2Enabled()) |
| 973 updateScrollbarPaintOffset(object, context); | 972 updateScrollbarPaintOffset(object, context); |
| 974 } | 973 } |
| 975 | 974 |
| 976 if (object.needsPaintPropertyUpdate() || context.forceSubtreeUpdate) { | 975 if (object.needsPaintPropertyUpdate() || context.forceSubtreeUpdate) { |
| 977 if (RuntimeEnabledFeatures::slimmingPaintV2Enabled() && | 976 if (RuntimeEnabledFeatures::slimmingPaintV2Enabled() && |
| 978 object.paintOffset() != context.current.paintOffset) { | 977 object.paintOffset() != context.current.paintOffset) { |
| 979 object.getMutableForPainting().setShouldDoFullPaintInvalidation( | 978 object.getMutableForPainting().setShouldDoFullPaintInvalidation( |
| (...skipping 16 matching lines...) Expand all Loading... |
| 996 updateOverflowClip(object, context); | 995 updateOverflowClip(object, context); |
| 997 updatePerspective(object, context); | 996 updatePerspective(object, context); |
| 998 updateSvgLocalToBorderBoxTransform(object, context); | 997 updateSvgLocalToBorderBoxTransform(object, context); |
| 999 updateScrollAndScrollTranslation(object, context); | 998 updateScrollAndScrollTranslation(object, context); |
| 1000 updateOutOfFlowContext(object, context); | 999 updateOutOfFlowContext(object, context); |
| 1001 | 1000 |
| 1002 context.forceSubtreeUpdate |= object.subtreeNeedsPaintPropertyUpdate(); | 1001 context.forceSubtreeUpdate |= object.subtreeNeedsPaintPropertyUpdate(); |
| 1003 } | 1002 } |
| 1004 | 1003 |
| 1005 } // namespace blink | 1004 } // namespace blink |
| OLD | NEW |