Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(263)

Side by Side Diff: third_party/WebKit/Source/core/paint/LayoutObjectDrawingRecorder.h

Issue 1632263002: Calculate and track display item opaqueness (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove comment about moving bits Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
OLDNEW
« no previous file with comments | « third_party/WebKit/LayoutTests/TestExpectations ('k') | third_party/WebKit/Source/core/paint/ViewPainter.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698