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

Side by Side Diff: Source/platform/graphics/paint/DisplayItemPropertyTreeBuilder.h

Issue 1284203004: Generate scroll/clip display item hierarchy for SPv2 (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Fix failing test. Update test expectation. Created 5 years, 3 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 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 DisplayItemPropertyTreeBuilder_h 5 #ifndef DisplayItemPropertyTreeBuilder_h
6 #define DisplayItemPropertyTreeBuilder_h 6 #define DisplayItemPropertyTreeBuilder_h
7 7
8 #include "platform/PlatformExport.h" 8 #include "platform/PlatformExport.h"
9 #include "platform/geometry/FloatSize.h" 9 #include "platform/geometry/FloatSize.h"
10 #include "platform/graphics/paint/DisplayItemClient.h"
11 #include "wtf/HashMap.h"
10 #include "wtf/OwnPtr.h" 12 #include "wtf/OwnPtr.h"
11 #include "wtf/PassOwnPtr.h" 13 #include "wtf/PassOwnPtr.h"
12 #include "wtf/Vector.h" 14 #include "wtf/Vector.h"
13 15
14 namespace blink { 16 namespace blink {
15 17
16 class DisplayItem; 18 class DisplayItem;
17 class DisplayItemClipTree; 19 class DisplayItemClipTree;
18 class DisplayItemTransformTree; 20 class DisplayItemTransformTree;
19 21
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
88 90
89 // Used to manipulate the current transform node stack. 91 // Used to manipulate the current transform node stack.
90 BuilderState& currentState() { return m_stateStack.last(); } 92 BuilderState& currentState() { return m_stateStack.last(); }
91 93
92 // Handle a begin display item. 94 // Handle a begin display item.
93 void processBeginItem(const DisplayItem&); 95 void processBeginItem(const DisplayItem&);
94 96
95 // Handle an end display item. 97 // Handle an end display item.
96 void processEndItem(const DisplayItem&); 98 void processEndItem(const DisplayItem&);
97 99
100 void processAnchorItem(const DisplayItem&);
101
98 // Emit a range record, unless it would be empty. 102 // Emit a range record, unless it would be empty.
99 void finishRange(); 103 void finishRange();
100 104
101 OwnPtr<DisplayItemTransformTree> m_transformTree; 105 OwnPtr<DisplayItemTransformTree> m_transformTree;
102 OwnPtr<DisplayItemClipTree> m_clipTree; 106 OwnPtr<DisplayItemClipTree> m_clipTree;
103 Vector<RangeRecord> m_rangeRecords; 107 Vector<RangeRecord> m_rangeRecords;
104 // TODO(jbroman): Experimentally select a less arbitrary inline capacity. 108 // TODO(jbroman): Experimentally select a less arbitrary inline capacity.
105 Vector<BuilderState, 40> m_stateStack; 109 Vector<BuilderState, 40> m_stateStack;
110 HashMap<DisplayItemClient, BuilderState> m_anchors;
106 size_t m_rangeBeginIndex; 111 size_t m_rangeBeginIndex;
107 size_t m_currentIndex; 112 size_t m_currentIndex;
108 }; 113 };
109 114
110 } // namespace blink 115 } // namespace blink
111 116
112 #endif // DisplayItemPropertyTreeBuilder_h 117 #endif // DisplayItemPropertyTreeBuilder_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698