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 #ifndef LayoutObjectDrawingRecorder_h | 5 #ifndef LayoutObjectDrawingRecorder_h |
6 #define LayoutObjectDrawingRecorder_h | 6 #define LayoutObjectDrawingRecorder_h |
7 | 7 |
8 #include "core/layout/LayoutObject.h" | 8 #include "core/layout/LayoutObject.h" |
9 #include "core/paint/PaintPhase.h" | 9 #include "core/paint/PaintPhase.h" |
10 #include "platform/geometry/LayoutPoint.h" | 10 #include "platform/geometry/LayoutPoint.h" |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
50 | 50 |
51 LayoutObjectDrawingRecorder(GraphicsContext& context, const LayoutObject& la
youtObject, PaintPhase phase, const FloatRect& clip, const LayoutPoint& paintOff
set) | 51 LayoutObjectDrawingRecorder(GraphicsContext& context, const LayoutObject& la
youtObject, PaintPhase phase, const FloatRect& clip, const LayoutPoint& paintOff
set) |
52 : LayoutObjectDrawingRecorder(context, layoutObject, DisplayItem::paintP
haseToDrawingType(phase), clip, paintOffset) { } | 52 : LayoutObjectDrawingRecorder(context, layoutObject, DisplayItem::paintP
haseToDrawingType(phase), clip, paintOffset) { } |
53 | 53 |
54 LayoutObjectDrawingRecorder(GraphicsContext& context, const LayoutObject& la
youtObject, PaintPhase phase, const LayoutRect& clip, const LayoutPoint& paintOf
fset) | 54 LayoutObjectDrawingRecorder(GraphicsContext& context, const LayoutObject& la
youtObject, PaintPhase phase, const LayoutRect& clip, const LayoutPoint& paintOf
fset) |
55 : LayoutObjectDrawingRecorder(context, layoutObject, DisplayItem::paintP
haseToDrawingType(phase), FloatRect(clip), paintOffset) { } | 55 : LayoutObjectDrawingRecorder(context, layoutObject, DisplayItem::paintP
haseToDrawingType(phase), FloatRect(clip), paintOffset) { } |
56 | 56 |
57 LayoutObjectDrawingRecorder(GraphicsContext& context, const LayoutObject& la
youtObject, PaintPhase phase, const IntRect& clip, const LayoutPoint& paintOffse
t) | 57 LayoutObjectDrawingRecorder(GraphicsContext& context, const LayoutObject& la
youtObject, PaintPhase phase, const IntRect& clip, const LayoutPoint& paintOffse
t) |
58 : LayoutObjectDrawingRecorder(context, layoutObject, DisplayItem::paintP
haseToDrawingType(phase), FloatRect(clip), paintOffset) { } | 58 : LayoutObjectDrawingRecorder(context, layoutObject, DisplayItem::paintP
haseToDrawingType(phase), FloatRect(clip), paintOffset) { } |
59 | 59 |
| 60 void setKnownToBeOpaque() { ASSERT(RuntimeEnabledFeatures::slimmingPaintV2En
abled()); m_drawingRecorder->setKnownToBeOpaque(); } |
| 61 |
60 #if ENABLE(ASSERT) | 62 #if ENABLE(ASSERT) |
61 void setUnderInvalidationCheckingMode(DrawingDisplayItem::UnderInvalidationC
heckingMode mode) { m_drawingRecorder->setUnderInvalidationCheckingMode(mode); } | 63 void setUnderInvalidationCheckingMode(DrawingDisplayItem::UnderInvalidationC
heckingMode mode) { m_drawingRecorder->setUnderInvalidationCheckingMode(mode); } |
62 #endif | 64 #endif |
63 | 65 |
64 private: | 66 private: |
65 static void updatePaintOffsetIfNeeded(PaintController& paintController, cons
t LayoutObject& layoutObject, const LayoutPoint& paintOffset) | 67 static void updatePaintOffsetIfNeeded(PaintController& paintController, cons
t LayoutObject& layoutObject, const LayoutPoint& paintOffset) |
66 { | 68 { |
67 if (!RuntimeEnabledFeatures::slimmingPaintOffsetCachingEnabled() || pain
tController.skippingCache()) | 69 if (!RuntimeEnabledFeatures::slimmingPaintOffsetCachingEnabled() || pain
tController.skippingCache()) |
68 return; | 70 return; |
69 | 71 |
70 if (layoutObject.paintOffsetChanged(paintOffset)) | 72 if (layoutObject.paintOffsetChanged(paintOffset)) |
71 paintController.invalidatePaintOffset(layoutObject); | 73 paintController.invalidatePaintOffset(layoutObject); |
72 else | 74 else |
73 ASSERT(!paintController.paintOffsetWasInvalidated(layoutObject) || !
paintController.clientCacheIsValid(layoutObject)); | 75 ASSERT(!paintController.paintOffsetWasInvalidated(layoutObject) || !
paintController.clientCacheIsValid(layoutObject)); |
74 | 76 |
75 layoutObject.mutableForPainting().setPreviousPaintOffset(paintOffset); | 77 layoutObject.mutableForPainting().setPreviousPaintOffset(paintOffset); |
76 } | 78 } |
77 | 79 |
78 Optional<DisplayItemCacheSkipper> m_cacheSkipper; | 80 Optional<DisplayItemCacheSkipper> m_cacheSkipper; |
79 Optional<DrawingRecorder> m_drawingRecorder; | 81 Optional<DrawingRecorder> m_drawingRecorder; |
80 }; | 82 }; |
81 | 83 |
82 } // namespace blink | 84 } // namespace blink |
83 | 85 |
84 #endif // LayoutObjectDrawingRecorder_h | 86 #endif // LayoutObjectDrawingRecorder_h |
OLD | NEW |