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

Side by Side Diff: sky/engine/core/rendering/RenderLayerStackingNodeIterator.cpp

Issue 873983007: Remove negative z-index. (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 10 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 /* 1 /*
2 * Copyright (C) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 20 matching lines...) Expand all
31 #include "sky/engine/config.h" 31 #include "sky/engine/config.h"
32 #include "sky/engine/core/rendering/RenderLayerStackingNodeIterator.h" 32 #include "sky/engine/core/rendering/RenderLayerStackingNodeIterator.h"
33 33
34 #include "sky/engine/core/rendering/RenderLayer.h" 34 #include "sky/engine/core/rendering/RenderLayer.h"
35 #include "sky/engine/core/rendering/RenderLayerStackingNode.h" 35 #include "sky/engine/core/rendering/RenderLayerStackingNode.h"
36 36
37 namespace blink { 37 namespace blink {
38 38
39 RenderLayerStackingNode* RenderLayerStackingNodeIterator::next() 39 RenderLayerStackingNode* RenderLayerStackingNodeIterator::next()
40 { 40 {
41 if (m_remainingChildren & NegativeZOrderChildren) {
42 Vector<RenderLayerStackingNode*>* negZOrderList = m_root.negZOrderList() ;
43 if (negZOrderList && m_index < negZOrderList->size())
44 return negZOrderList->at(m_index++);
45
46 m_index = 0;
47 m_remainingChildren &= ~NegativeZOrderChildren;
48 }
49
50 if (m_remainingChildren & NormalFlowChildren) { 41 if (m_remainingChildren & NormalFlowChildren) {
51 Vector<RenderLayerStackingNode*>* normalFlowList = m_root.normalFlowList (); 42 Vector<RenderLayerStackingNode*>* normalFlowList = m_root.normalFlowList ();
52 if (normalFlowList && m_index < normalFlowList->size()) 43 if (normalFlowList && m_index < normalFlowList->size())
53 return normalFlowList->at(m_index++); 44 return normalFlowList->at(m_index++);
54 45
55 m_index = 0; 46 m_index = 0;
56 m_remainingChildren &= ~NormalFlowChildren; 47 m_remainingChildren &= ~NormalFlowChildren;
57 } 48 }
58 49
59 if (m_remainingChildren & PositiveZOrderChildren) { 50 if (m_remainingChildren & PositiveZOrderChildren) {
60 Vector<RenderLayerStackingNode*>* posZOrderList = m_root.posZOrderList() ; 51 Vector<RenderLayerStackingNode*>* zOrderList = m_root.zOrderList();
61 if (posZOrderList && m_index < posZOrderList->size()) 52 if (zOrderList && m_index < zOrderList->size())
62 return posZOrderList->at(m_index++); 53 return zOrderList->at(m_index++);
63 54
64 m_index = 0; 55 m_index = 0;
65 m_remainingChildren &= ~PositiveZOrderChildren; 56 m_remainingChildren &= ~PositiveZOrderChildren;
66 } 57 }
67 58
68 return 0; 59 return 0;
69 } 60 }
70 61
71 RenderLayerStackingNode* RenderLayerStackingNodeReverseIterator::next() 62 RenderLayerStackingNode* RenderLayerStackingNodeReverseIterator::next()
72 { 63 {
73 if (m_remainingChildren & NegativeZOrderChildren) {
74 Vector<RenderLayerStackingNode*>* negZOrderList = m_root.negZOrderList() ;
75 if (negZOrderList && m_index >= 0)
76 return negZOrderList->at(m_index--);
77
78 m_remainingChildren &= ~NegativeZOrderChildren;
79 setIndexToLastItem();
80 }
81
82 if (m_remainingChildren & NormalFlowChildren) { 64 if (m_remainingChildren & NormalFlowChildren) {
83 Vector<RenderLayerStackingNode*>* normalFlowList = m_root.normalFlowList (); 65 Vector<RenderLayerStackingNode*>* normalFlowList = m_root.normalFlowList ();
84 if (normalFlowList && m_index >= 0) 66 if (normalFlowList && m_index >= 0)
85 return normalFlowList->at(m_index--); 67 return normalFlowList->at(m_index--);
86 68
87 m_remainingChildren &= ~NormalFlowChildren; 69 m_remainingChildren &= ~NormalFlowChildren;
88 setIndexToLastItem(); 70 setIndexToLastItem();
89 } 71 }
90 72
91 if (m_remainingChildren & PositiveZOrderChildren) { 73 if (m_remainingChildren & PositiveZOrderChildren) {
92 Vector<RenderLayerStackingNode*>* posZOrderList = m_root.posZOrderList() ; 74 Vector<RenderLayerStackingNode*>* zOrderList = m_root.zOrderList();
93 if (posZOrderList && m_index >= 0) 75 if (zOrderList && m_index >= 0)
94 return posZOrderList->at(m_index--); 76 return zOrderList->at(m_index--);
95 77
96 m_remainingChildren &= ~PositiveZOrderChildren; 78 m_remainingChildren &= ~PositiveZOrderChildren;
97 setIndexToLastItem(); 79 setIndexToLastItem();
98 } 80 }
99 81
100 return 0; 82 return 0;
101 } 83 }
102 84
103 void RenderLayerStackingNodeReverseIterator::setIndexToLastItem() 85 void RenderLayerStackingNodeReverseIterator::setIndexToLastItem()
104 { 86 {
105 if (m_remainingChildren & NegativeZOrderChildren) {
106 Vector<RenderLayerStackingNode*>* negZOrderList = m_root.negZOrderList() ;
107 if (negZOrderList) {
108 m_index = negZOrderList->size() - 1;
109 return;
110 }
111
112 m_remainingChildren &= ~NegativeZOrderChildren;
113 }
114
115 if (m_remainingChildren & NormalFlowChildren) { 87 if (m_remainingChildren & NormalFlowChildren) {
116 Vector<RenderLayerStackingNode*>* normalFlowList = m_root.normalFlowList (); 88 Vector<RenderLayerStackingNode*>* normalFlowList = m_root.normalFlowList ();
117 if (normalFlowList) { 89 if (normalFlowList) {
118 m_index = normalFlowList->size() - 1; 90 m_index = normalFlowList->size() - 1;
119 return; 91 return;
120 } 92 }
121 93
122 m_remainingChildren &= ~NormalFlowChildren; 94 m_remainingChildren &= ~NormalFlowChildren;
123 } 95 }
124 96
125 if (m_remainingChildren & PositiveZOrderChildren) { 97 if (m_remainingChildren & PositiveZOrderChildren) {
126 Vector<RenderLayerStackingNode*>* posZOrderList = m_root.posZOrderList() ; 98 Vector<RenderLayerStackingNode*>* zOrderList = m_root.zOrderList();
127 if (posZOrderList) { 99 if (zOrderList) {
128 m_index = posZOrderList->size() - 1; 100 m_index = zOrderList->size() - 1;
129 return; 101 return;
130 } 102 }
131 103
132 m_remainingChildren &= ~PositiveZOrderChildren; 104 m_remainingChildren &= ~PositiveZOrderChildren;
133 } 105 }
134 106
135 // No more list to visit. 107 // No more list to visit.
136 ASSERT(!m_remainingChildren); 108 ASSERT(!m_remainingChildren);
137 m_index = -1; 109 m_index = -1;
138 } 110 }
139 111
140 } // namespace blink 112 } // namespace blink
OLDNEW
« no previous file with comments | « sky/engine/core/rendering/RenderLayerStackingNodeIterator.h ('k') | sky/engine/core/rendering/RenderTreeAsText.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698