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

Side by Side Diff: third_party/WebKit/Source/platform/graphics/paint/PaintController.h

Issue 2027333004: Handle uncommitted PaintController in DisplayItemClient aliveness tracking (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 6 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
« no previous file with comments | « third_party/WebKit/Source/platform/graphics/paint/DisplayItemClient.cpp ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 PaintController_h 5 #ifndef PaintController_h
6 #define PaintController_h 6 #define PaintController_h
7 7
8 #include "platform/PlatformExport.h" 8 #include "platform/PlatformExport.h"
9 #include "platform/RuntimeEnabledFeatures.h" 9 #include "platform/RuntimeEnabledFeatures.h"
10 #include "platform/geometry/IntRect.h" 10 #include "platform/geometry/IntRect.h"
(...skipping 24 matching lines...) Expand all
35 // cache invalidation, and merging. 35 // cache invalidation, and merging.
36 class PLATFORM_EXPORT PaintController { 36 class PLATFORM_EXPORT PaintController {
37 WTF_MAKE_NONCOPYABLE(PaintController); 37 WTF_MAKE_NONCOPYABLE(PaintController);
38 USING_FAST_MALLOC(PaintController); 38 USING_FAST_MALLOC(PaintController);
39 public: 39 public:
40 static PassOwnPtr<PaintController> create() 40 static PassOwnPtr<PaintController> create()
41 { 41 {
42 return adoptPtr(new PaintController()); 42 return adoptPtr(new PaintController());
43 } 43 }
44 44
45 ~PaintController()
46 {
47 #if CHECK_DISPLAY_ITEM_CLIENT_ALIVENESS
48 DisplayItemClient::endShouldKeepAliveAllClients(this);
49 #endif
50 }
51
45 void invalidateAll(); 52 void invalidateAll();
46 53
47 // Record when paint offsets change during paint. 54 // Record when paint offsets change during paint.
48 void invalidatePaintOffset(const DisplayItemClient&); 55 void invalidatePaintOffset(const DisplayItemClient&);
49 #if DCHECK_IS_ON() 56 #if DCHECK_IS_ON()
50 bool paintOffsetWasInvalidated(const DisplayItemClient&) const; 57 bool paintOffsetWasInvalidated(const DisplayItemClient&) const;
51 #endif 58 #endif
52 59
53 // These methods are called during painting. 60 // These methods are called during painting.
54 61
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after
225 // easily find where the duplicated ids are from. 232 // easily find where the duplicated ids are from.
226 DisplayItemIndicesByClientMap m_newDisplayItemIndicesByClient; 233 DisplayItemIndicesByClientMap m_newDisplayItemIndicesByClient;
227 #endif 234 #endif
228 235
229 DisplayItemCacheGeneration m_currentCacheGeneration; 236 DisplayItemCacheGeneration m_currentCacheGeneration;
230 }; 237 };
231 238
232 } // namespace blink 239 } // namespace blink
233 240
234 #endif // PaintController_h 241 #endif // PaintController_h
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/platform/graphics/paint/DisplayItemClient.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698