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

Side by Side Diff: Source/core/rendering/ClipRectsCache.h

Issue 397733004: Allow assertions to be enabled in Blink Release builds. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Fixed config.gni. Minor cleanups. Created 6 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 | Annotate | Revision Log
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 ClipRectsCache_h 5 #ifndef ClipRectsCache_h
6 #define ClipRectsCache_h 6 #define ClipRectsCache_h
7 7
8 #include "core/rendering/ClipRects.h" 8 #include "core/rendering/ClipRects.h"
9 9
10 #if ASSERT_ENABLED 10 #if ENABLE(ASSERT)
11 #include "core/rendering/RenderBox.h" // For OverlayScrollbarSizeRelevancy. 11 #include "core/rendering/RenderBox.h" // For OverlayScrollbarSizeRelevancy.
12 #endif 12 #endif
13 13
14 namespace WebCore { 14 namespace WebCore {
15 15
16 enum ClipRectsCacheSlot { 16 enum ClipRectsCacheSlot {
17 // Relative to the ancestor treated as the root (e.g. transformed layer). Us ed for hit testing. 17 // Relative to the ancestor treated as the root (e.g. transformed layer). Us ed for hit testing.
18 RootRelativeClipRects, 18 RootRelativeClipRects,
19 19
20 // Relative to the RenderView's layer. Used for compositing overlap testing. 20 // Relative to the RenderView's layer. Used for compositing overlap testing.
21 AbsoluteClipRects, 21 AbsoluteClipRects,
22 22
23 // Relative to painting ancestor. Used for painting. 23 // Relative to painting ancestor. Used for painting.
24 PaintingClipRects, 24 PaintingClipRects,
25 PaintingClipRectsIgnoringOverflowClip, 25 PaintingClipRectsIgnoringOverflowClip,
26 26
27 NumberOfClipRectsCacheSlots, 27 NumberOfClipRectsCacheSlots,
28 UncachedClipRects, 28 UncachedClipRects,
29 }; 29 };
30 30
31 class ClipRectsCache { 31 class ClipRectsCache {
32 WTF_MAKE_FAST_ALLOCATED; 32 WTF_MAKE_FAST_ALLOCATED;
33 public: 33 public:
34 struct Entry { 34 struct Entry {
35 Entry() 35 Entry()
36 : root(0) 36 : root(0)
37 #if ASSERT_ENABLED 37 #if ENABLE(ASSERT)
38 , scrollbarRelevancy(IgnoreOverlayScrollbarSize) 38 , scrollbarRelevancy(IgnoreOverlayScrollbarSize)
39 #endif 39 #endif
40 { 40 {
41 } 41 }
42 42
43 const RenderLayer* root; 43 const RenderLayer* root;
44 RefPtr<ClipRects> clipRects; 44 RefPtr<ClipRects> clipRects;
45 #if ASSERT_ENABLED 45 #if ENABLE(ASSERT)
46 OverlayScrollbarSizeRelevancy scrollbarRelevancy; 46 OverlayScrollbarSizeRelevancy scrollbarRelevancy;
47 #endif 47 #endif
48 }; 48 };
49 49
50 Entry& get(ClipRectsCacheSlot slot) 50 Entry& get(ClipRectsCacheSlot slot)
51 { 51 {
52 ASSERT(slot < NumberOfClipRectsCacheSlots); 52 ASSERT(slot < NumberOfClipRectsCacheSlots);
53 return m_entries[slot]; 53 return m_entries[slot];
54 } 54 }
55 55
56 void clear(ClipRectsCacheSlot slot) 56 void clear(ClipRectsCacheSlot slot)
57 { 57 {
58 ASSERT(slot < NumberOfClipRectsCacheSlots); 58 ASSERT(slot < NumberOfClipRectsCacheSlots);
59 m_entries[slot] = Entry(); 59 m_entries[slot] = Entry();
60 } 60 }
61 61
62 private: 62 private:
63 Entry m_entries[NumberOfClipRectsCacheSlots]; 63 Entry m_entries[NumberOfClipRectsCacheSlots];
64 }; 64 };
65 65
66 } // namespace WebCore 66 } // namespace WebCore
67 67
68 #endif // ClipRectsCache_h 68 #endif // ClipRectsCache_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698