| 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 |