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

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

Issue 2087513003: Remove LayoutBlockFlow overflow invalidation (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix InlineTextBoxTest Created 4 years, 5 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 DisplayItemClient_h 5 #ifndef DisplayItemClient_h
6 #define DisplayItemClient_h 6 #define DisplayItemClient_h
7 7
8 #include "platform/PlatformExport.h" 8 #include "platform/PlatformExport.h"
9 #include "platform/geometry/LayoutRect.h" 9 #include "platform/geometry/LayoutRect.h"
10 #include "wtf/Assertions.h" 10 #include "wtf/Assertions.h"
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
56 // After the document cycle, a pointer/reference to DisplayItemClient should be 56 // After the document cycle, a pointer/reference to DisplayItemClient should be
57 // no longer dereferenced unless we can make sure the client is still valid. 57 // no longer dereferenced unless we can make sure the client is still valid.
58 class PLATFORM_EXPORT DisplayItemClient { 58 class PLATFORM_EXPORT DisplayItemClient {
59 public: 59 public:
60 #if CHECK_DISPLAY_ITEM_CLIENT_ALIVENESS 60 #if CHECK_DISPLAY_ITEM_CLIENT_ALIVENESS
61 DisplayItemClient(); 61 DisplayItemClient();
62 virtual ~DisplayItemClient(); 62 virtual ~DisplayItemClient();
63 63
64 // Tests if this DisplayItemClient object has been created and has not been deleted yet. 64 // Tests if this DisplayItemClient object has been created and has not been deleted yet.
65 bool isAlive() const; 65 bool isAlive() const;
66
66 // Called when any DisplayItem of this DisplayItemClient is added into Paint Controller 67 // Called when any DisplayItem of this DisplayItemClient is added into Paint Controller
67 // using PaintController::createAndAppend() or into a cached subsequence. 68 // using PaintController::createAndAppend() or into a cached subsequence.
68 void beginShouldKeepAlive(const void* owner) const; 69 void beginShouldKeepAlive(const void* owner) const;
70
71 // Called when the DisplayItemClient is sure that it can safely die before i ts owners
72 // have chance to remove it from the aliveness control.
73 void endShouldKeepAlive() const;
74
69 // Clears all should-keep-alive DisplayItemClients of a PaintController. Cal led after 75 // Clears all should-keep-alive DisplayItemClients of a PaintController. Cal led after
70 // PaintController commits new display items or the subsequence owner is inv alidated. 76 // PaintController commits new display items or the subsequence owner is inv alidated.
71 static void endShouldKeepAliveAllClients(const void* owner); 77 static void endShouldKeepAliveAllClients(const void* owner);
72 static void endShouldKeepAliveAllClients(); 78 static void endShouldKeepAliveAllClients();
73 79
74 // Called to clear should-keep-alive of DisplayItemClients in a subsequence if this 80 // Called to clear should-keep-alive of DisplayItemClients in a subsequence if this
75 // object is a subsequence. 81 // object is a subsequence.
76 #define ON_DISPLAY_ITEM_CLIENT_INVALIDATION() endShouldKeepAliveAllClients(this) 82 #define ON_DISPLAY_ITEM_CLIENT_INVALIDATION() endShouldKeepAliveAllClients(this)
77 #else 83 #else
78 virtual ~DisplayItemClient() { } 84 virtual ~DisplayItemClient() { }
(...skipping 25 matching lines...) Expand all
104 bool displayItemsAreCached(DisplayItemCacheGeneration) const final { return false; } \ 110 bool displayItemsAreCached(DisplayItemCacheGeneration) const final { return false; } \
105 void setDisplayItemsCached(DisplayItemCacheGeneration) const final { } \ 111 void setDisplayItemsCached(DisplayItemCacheGeneration) const final { } \
106 void setDisplayItemsUncached() const final { } 112 void setDisplayItemsUncached() const final { }
107 113
108 inline bool operator==(const DisplayItemClient& client1, const DisplayItemClient & client2) { return &client1 == &client2; } 114 inline bool operator==(const DisplayItemClient& client1, const DisplayItemClient & client2) { return &client1 == &client2; }
109 inline bool operator!=(const DisplayItemClient& client1, const DisplayItemClient & client2) { return &client1 != &client2; } 115 inline bool operator!=(const DisplayItemClient& client1, const DisplayItemClient & client2) { return &client1 != &client2; }
110 116
111 } // namespace blink 117 } // namespace blink
112 118
113 #endif // DisplayItemClient_h 119 #endif // DisplayItemClient_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698