OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "config.h" | 5 #include "config.h" |
6 #include "core/paint/DeprecatedPaintLayerPainter.h" | 6 #include "core/paint/DeprecatedPaintLayerPainter.h" |
7 | 7 |
8 #include "core/frame/Settings.h" | 8 #include "core/frame/Settings.h" |
9 #include "core/layout/ClipPathOperation.h" | 9 #include "core/layout/ClipPathOperation.h" |
10 #include "core/layout/LayoutBlock.h" | 10 #include "core/layout/LayoutBlock.h" |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
68 } | 68 } |
69 | 69 |
70 // Non self-painting leaf layers don't need to be painted as their layoutObj
ect() should properly paint itself. | 70 // Non self-painting leaf layers don't need to be painted as their layoutObj
ect() should properly paint itself. |
71 if (!m_paintLayer.isSelfPaintingLayer() && !m_paintLayer.hasSelfPaintingLaye
rDescendant()) | 71 if (!m_paintLayer.isSelfPaintingLayer() && !m_paintLayer.hasSelfPaintingLaye
rDescendant()) |
72 return; | 72 return; |
73 | 73 |
74 if (shouldSuppressPaintingLayer(&m_paintLayer)) | 74 if (shouldSuppressPaintingLayer(&m_paintLayer)) |
75 return; | 75 return; |
76 | 76 |
77 // If this layer is totally invisible then there is nothing to paint. | 77 // If this layer is totally invisible then there is nothing to paint. |
78 if (!m_paintLayer.layoutObject()->opacity()) | 78 if (!m_paintLayer.layoutObject()->opacity() && !m_paintLayer.layoutObject()-
>hasBackdropFilter()) |
79 return; | 79 return; |
80 | 80 |
81 if (m_paintLayer.paintsWithTransparency(paintingInfo.globalPaintFlags())) | 81 if (m_paintLayer.paintsWithTransparency(paintingInfo.globalPaintFlags())) |
82 paintFlags |= PaintLayerHaveTransparency; | 82 paintFlags |= PaintLayerHaveTransparency; |
83 | 83 |
84 LayerFixedPositionRecorder fixedPositionRecorder(*context, *m_paintLayer.lay
outObject()); | 84 LayerFixedPositionRecorder fixedPositionRecorder(*context, *m_paintLayer.lay
outObject()); |
85 | 85 |
86 // PaintLayerAppliedTransform is used in LayoutReplica, to avoid applying th
e transform twice. | 86 // PaintLayerAppliedTransform is used in LayoutReplica, to avoid applying th
e transform twice. |
87 if (m_paintLayer.paintsWithTransform(paintingInfo.globalPaintFlags()) && !(p
aintFlags & PaintLayerAppliedTransform)) { | 87 if (m_paintLayer.paintsWithTransform(paintingInfo.globalPaintFlags()) && !(p
aintFlags & PaintLayerAppliedTransform)) { |
88 paintLayerWithTransform(context, paintingInfo, paintFlags); | 88 paintLayerWithTransform(context, paintingInfo, paintFlags); |
(...skipping 515 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
604 if (!m_paintLayer.containsDirtyOverlayScrollbars()) | 604 if (!m_paintLayer.containsDirtyOverlayScrollbars()) |
605 return; | 605 return; |
606 | 606 |
607 DeprecatedPaintLayerPaintingInfo paintingInfo(&m_paintLayer, LayoutRect(encl
osingIntRect(damageRect)), paintFlags, LayoutSize(), paintingRoot); | 607 DeprecatedPaintLayerPaintingInfo paintingInfo(&m_paintLayer, LayoutRect(encl
osingIntRect(damageRect)), paintFlags, LayoutSize(), paintingRoot); |
608 paintLayer(context, paintingInfo, PaintLayerPaintingOverlayScrollbars); | 608 paintLayer(context, paintingInfo, PaintLayerPaintingOverlayScrollbars); |
609 | 609 |
610 m_paintLayer.setContainsDirtyOverlayScrollbars(false); | 610 m_paintLayer.setContainsDirtyOverlayScrollbars(false); |
611 } | 611 } |
612 | 612 |
613 } // namespace blink | 613 } // namespace blink |
OLD | NEW |