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

Side by Side Diff: third_party/WebKit/Source/bindings/core/v8/Iterable.h

Issue 2386173002: reflow comments in Source/bindings/core/v8 (Closed)
Patch Set: Created 4 years, 2 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 Iterable_h 5 #ifndef Iterable_h
6 #define Iterable_h 6 #define Iterable_h
7 7
8 #include "bindings/core/v8/V8IteratorResultValue.h" 8 #include "bindings/core/v8/V8IteratorResultValue.h"
9 #include "bindings/core/v8/V8ScriptRunner.h" 9 #include "bindings/core/v8/V8ScriptRunner.h"
10 #include "core/dom/Iterator.h" 10 #include "core/dom/Iterator.h"
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
81 exceptionState.rethrowV8Exception(tryCatch.Exception()); 81 exceptionState.rethrowV8Exception(tryCatch.Exception());
82 return; 82 return;
83 } 83 }
84 } 84 }
85 } 85 }
86 86
87 class IterationSource : public GarbageCollectedFinalized<IterationSource> { 87 class IterationSource : public GarbageCollectedFinalized<IterationSource> {
88 public: 88 public:
89 virtual ~IterationSource() {} 89 virtual ~IterationSource() {}
90 90
91 // If end of iteration has been reached or an exception thrown: return false . 91 // If end of iteration has been reached or an exception thrown: return
92 // Otherwise: set |key| and |value| and return true. 92 // false. Otherwise: set |key| and |value| and return true.
93 virtual bool next(ScriptState*, KeyType&, ValueType&, ExceptionState&) = 0; 93 virtual bool next(ScriptState*, KeyType&, ValueType&, ExceptionState&) = 0;
94 94
95 DEFINE_INLINE_VIRTUAL_TRACE() {} 95 DEFINE_INLINE_VIRTUAL_TRACE() {}
96 }; 96 };
97 97
98 private: 98 private:
99 virtual IterationSource* startIteration(ScriptState*, ExceptionState&) = 0; 99 virtual IterationSource* startIteration(ScriptState*, ExceptionState&) = 0;
100 100
101 struct KeySelector { 101 struct KeySelector {
102 STATIC_ONLY(KeySelector); 102 STATIC_ONLY(KeySelector);
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
157 DEFINE_INLINE_VIRTUAL_TRACE() { 157 DEFINE_INLINE_VIRTUAL_TRACE() {
158 visitor->trace(m_source); 158 visitor->trace(m_source);
159 Iterator::trace(visitor); 159 Iterator::trace(visitor);
160 } 160 }
161 161
162 private: 162 private:
163 Member<IterationSource> m_source; 163 Member<IterationSource> m_source;
164 }; 164 };
165 }; 165 };
166 166
167 // Utiltity mixin base-class for classes implementing IDL interfaces with "itera ble<T>". 167 // Utiltity mixin base-class for classes implementing IDL interfaces with
168 // "iterable<T>".
168 template <typename ValueType> 169 template <typename ValueType>
169 class ValueIterable : public Iterable<unsigned, ValueType> { 170 class ValueIterable : public Iterable<unsigned, ValueType> {
170 public: 171 public:
171 Iterator* iterator(ScriptState* scriptState, ExceptionState& exceptionState) { 172 Iterator* iterator(ScriptState* scriptState, ExceptionState& exceptionState) {
172 return this->valuesForBinding(scriptState, exceptionState); 173 return this->valuesForBinding(scriptState, exceptionState);
173 } 174 }
174 175
175 class IterationSource 176 class IterationSource
176 : public Iterable<unsigned, ValueType>::IterationSource { 177 : public Iterable<unsigned, ValueType>::IterationSource {
177 public: 178 public:
178 IterationSource() : m_index(0) {} 179 IterationSource() : m_index(0) {}
179 180
180 ~IterationSource() override {} 181 ~IterationSource() override {}
181 182
182 // If end of iteration has been reached or an exception thrown: return false . 183 // If end of iteration has been reached or an exception thrown: return
184 // false.
183 // Otherwise: set |value| and return true. 185 // Otherwise: set |value| and return true.
184 // Note: |this->m_index| is the index being accessed. 186 // Note: |this->m_index| is the index being accessed.
185 virtual bool next(ScriptState*, ValueType&, ExceptionState&) = 0; 187 virtual bool next(ScriptState*, ValueType&, ExceptionState&) = 0;
186 188
187 protected: 189 protected:
188 unsigned m_index; 190 unsigned m_index;
189 191
190 private: 192 private:
191 bool next(ScriptState* scriptState, 193 bool next(ScriptState* scriptState,
192 unsigned& key, 194 unsigned& key,
193 ValueType& value, 195 ValueType& value,
194 ExceptionState& exceptionState) final { 196 ExceptionState& exceptionState) final {
195 if (!next(scriptState, value, exceptionState)) 197 if (!next(scriptState, value, exceptionState))
196 return false; 198 return false;
197 key = m_index; 199 key = m_index;
198 ++m_index; 200 ++m_index;
199 return true; 201 return true;
200 } 202 }
201 }; 203 };
202 }; 204 };
203 205
204 // Utiltity mixin base-class for classes implementing IDL interfaces with "itera ble<T1, T2>". 206 // Utiltity mixin base-class for classes implementing IDL interfaces with
207 // "iterable<T1, T2>".
205 template <typename KeyType, typename ValueType> 208 template <typename KeyType, typename ValueType>
206 class PairIterable : public Iterable<KeyType, ValueType> { 209 class PairIterable : public Iterable<KeyType, ValueType> {
207 public: 210 public:
208 Iterator* iterator(ScriptState* scriptState, ExceptionState& exceptionState) { 211 Iterator* iterator(ScriptState* scriptState, ExceptionState& exceptionState) {
209 return this->entriesForBinding(scriptState, exceptionState); 212 return this->entriesForBinding(scriptState, exceptionState);
210 } 213 }
211 }; 214 };
212 215
213 } // namespace blink 216 } // namespace blink
214 217
215 #endif // Iterable_h 218 #endif // Iterable_h
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/bindings/core/v8/ExceptionState.cpp ('k') | third_party/WebKit/Source/bindings/core/v8/Microtask.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698