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

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

Issue 1497683002: Make platform/graphics to use USING_FAST_MALLOC. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years 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 DisplayItem_h 5 #ifndef DisplayItem_h
6 #define DisplayItem_h 6 #define DisplayItem_h
7 7
8 #include "platform/PlatformExport.h" 8 #include "platform/PlatformExport.h"
9 #include "platform/graphics/ContiguousContainer.h" 9 #include "platform/graphics/ContiguousContainer.h"
10 #include "platform/graphics/paint/DisplayItemClient.h" 10 #include "platform/graphics/paint/DisplayItemClient.h"
11 #include "wtf/Allocator.h"
11 #include "wtf/Assertions.h" 12 #include "wtf/Assertions.h"
13 #include "wtf/Noncopyable.h"
12 #include "wtf/PassOwnPtr.h" 14 #include "wtf/PassOwnPtr.h"
13 15
14 #ifndef NDEBUG 16 #ifndef NDEBUG
15 #include "wtf/text/StringBuilder.h" 17 #include "wtf/text/StringBuilder.h"
16 #include "wtf/text/WTFString.h" 18 #include "wtf/text/WTFString.h"
17 #endif 19 #endif
18 20
19 21
20 namespace blink { 22 namespace blink {
21 23
22 class GraphicsContext; 24 class GraphicsContext;
23 class IntRect; 25 class IntRect;
24 class WebDisplayItemList; 26 class WebDisplayItemList;
25 27
26 class PLATFORM_EXPORT DisplayItem { 28 class PLATFORM_EXPORT DisplayItem {
29 DISALLOW_NEW_EXCEPT_PLACEMENT_NEW();
27 public: 30 public:
28 enum { 31 enum {
29 // Must be kept in sync with core/paint/PaintPhase.h. 32 // Must be kept in sync with core/paint/PaintPhase.h.
30 PaintPhaseMax = 11, 33 PaintPhaseMax = 11,
31 }; 34 };
32 35
33 // A display item type uniquely identifies a display item of a client. 36 // A display item type uniquely identifies a display item of a client.
34 // Some display item types can be categorized using the following directives : 37 // Some display item types can be categorized using the following directives :
35 // - In enum Type: 38 // - In enum Type:
36 // - enum value <Category>First; 39 // - enum value <Category>First;
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after
202 // derivedSize must fit in m_derivedSize. 205 // derivedSize must fit in m_derivedSize.
203 // If it doesn't, enlarge m_derivedSize and fix this assert. 206 // If it doesn't, enlarge m_derivedSize and fix this assert.
204 ASSERT_WITH_SECURITY_IMPLICATION(derivedSize < (1 << 8)); 207 ASSERT_WITH_SECURITY_IMPLICATION(derivedSize < (1 << 8));
205 ASSERT_WITH_SECURITY_IMPLICATION(derivedSize >= sizeof(*this)); 208 ASSERT_WITH_SECURITY_IMPLICATION(derivedSize >= sizeof(*this));
206 } 209 }
207 210
208 virtual ~DisplayItem() { } 211 virtual ~DisplayItem() { }
209 212
210 // Ids are for matching new DisplayItems with existing DisplayItems. 213 // Ids are for matching new DisplayItems with existing DisplayItems.
211 struct Id { 214 struct Id {
215 STACK_ALLOCATED();
212 Id(const DisplayItemClient client, const Type type, const unsigned scope ) 216 Id(const DisplayItemClient client, const Type type, const unsigned scope )
213 : client(client) 217 : client(client)
214 , type(type) 218 , type(type)
215 , scope(scope) { } 219 , scope(scope) { }
216 220
217 bool matches(const DisplayItem& item) const 221 bool matches(const DisplayItem& item) const
218 { 222 {
219 // We should always convert to non-cached types before matching. 223 // We should always convert to non-cached types before matching.
220 ASSERT(!isCachedType(item.m_type)); 224 ASSERT(!isCachedType(item.m_type));
221 ASSERT(!isCachedType(type)); 225 ASSERT(!isCachedType(type));
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after
389 bool isEndAndPairedWith(DisplayItem::Type otherType) const override = 0; 393 bool isEndAndPairedWith(DisplayItem::Type otherType) const override = 0;
390 #endif 394 #endif
391 395
392 private: 396 private:
393 bool isEnd() const final { return true; } 397 bool isEnd() const final { return true; }
394 }; 398 };
395 399
396 } // namespace blink 400 } // namespace blink
397 401
398 #endif // DisplayItem_h 402 #endif // DisplayItem_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698