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

Side by Side Diff: Source/core/svg/properties/NewSVGListPropertyHelper.h

Issue 195313003: [SVG2] Add getters and setters to SVG*List interfaces. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: s/slength/size Created 6 years, 9 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 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
118 } 118 }
119 119
120 bool operator==(const Derived&) const; 120 bool operator==(const Derived&) const;
121 bool operator!=(const Derived& other) const 121 bool operator!=(const Derived& other) const
122 { 122 {
123 return !(*this == other); 123 return !(*this == other);
124 } 124 }
125 125
126 bool isEmpty() const 126 bool isEmpty() const
127 { 127 {
128 return !numberOfItems(); 128 return !length();
129 } 129 }
130 130
131 // SVGList*Property DOM spec: 131 // SVGList*Property DOM spec:
132 132
133 size_t numberOfItems() const 133 size_t length() const
134 { 134 {
135 return m_values.size(); 135 return m_values.size();
136 } 136 }
137 137
138 void clear(); 138 void clear();
139 139
140 PassRefPtr<ItemPropertyType> initialize(PassRefPtr<ItemPropertyType>); 140 PassRefPtr<ItemPropertyType> initialize(PassRefPtr<ItemPropertyType>);
141 PassRefPtr<ItemPropertyType> getItem(size_t, ExceptionState&); 141 PassRefPtr<ItemPropertyType> getItem(size_t, ExceptionState&);
142 PassRefPtr<ItemPropertyType> insertItemBefore(PassRefPtr<ItemPropertyType>, size_t); 142 PassRefPtr<ItemPropertyType> insertItemBefore(PassRefPtr<ItemPropertyType>, size_t);
143 PassRefPtr<ItemPropertyType> removeItem(size_t, ExceptionState&); 143 PassRefPtr<ItemPropertyType> removeItem(size_t, ExceptionState&);
(...skipping 17 matching lines...) Expand all
161 161
162 RefPtr<NewSVGPropertyBase> base = passBase; 162 RefPtr<NewSVGPropertyBase> base = passBase;
163 ASSERT(base->type() == Derived::classType()); 163 ASSERT(base->type() == Derived::classType());
164 return static_pointer_cast<Derived>(base); 164 return static_pointer_cast<Derived>(base);
165 } 165 }
166 }; 166 };
167 167
168 template<typename Derived, typename ItemProperty> 168 template<typename Derived, typename ItemProperty>
169 bool NewSVGListPropertyHelper<Derived, ItemProperty>::operator==(const Derived& other) const 169 bool NewSVGListPropertyHelper<Derived, ItemProperty>::operator==(const Derived& other) const
170 { 170 {
171 if (numberOfItems() != other.numberOfItems()) 171 if (length() != other.length())
172 return false; 172 return false;
173 173
174 size_t length = numberOfItems(); 174 size_t size = length();
175 for (size_t i = 0; i < length; ++i) { 175 for (size_t i = 0; i < size; ++i) {
176 if (*at(i) != *other.at(i)) 176 if (*at(i) != *other.at(i))
177 return false; 177 return false;
178 } 178 }
179 179
180 return true; 180 return true;
181 } 181 }
182 182
183 template<typename Derived, typename ItemProperty> 183 template<typename Derived, typename ItemProperty>
184 void NewSVGListPropertyHelper<Derived, ItemProperty>::clear() 184 void NewSVGListPropertyHelper<Derived, ItemProperty>::clear()
185 { 185 {
(...skipping 29 matching lines...) Expand all
215 return nullptr; 215 return nullptr;
216 216
217 ASSERT(index < m_values.size()); 217 ASSERT(index < m_values.size());
218 ASSERT(m_values.at(index)->ownerList() == this); 218 ASSERT(m_values.at(index)->ownerList() == this);
219 return m_values.at(index); 219 return m_values.at(index);
220 } 220 }
221 221
222 template<typename Derived, typename ItemProperty> 222 template<typename Derived, typename ItemProperty>
223 PassRefPtr<ItemProperty> NewSVGListPropertyHelper<Derived, ItemProperty>::insert ItemBefore(PassRefPtr<ItemProperty> passNewItem, size_t index) 223 PassRefPtr<ItemProperty> NewSVGListPropertyHelper<Derived, ItemProperty>::insert ItemBefore(PassRefPtr<ItemProperty> passNewItem, size_t index)
224 { 224 {
225 // Spec: If the index is greater than or equal to numberOfItems, then the ne w item is appended to the end of the list. 225 // Spec: If the index is greater than or equal to length, then the new item is appended to the end of the list.
226 if (index > m_values.size()) 226 if (index > m_values.size())
227 index = m_values.size(); 227 index = m_values.size();
228 228
229 RefPtr<ItemPropertyType> newItem = passNewItem; 229 RefPtr<ItemPropertyType> newItem = passNewItem;
230 230
231 // Spec: If newItem is already in a list, it is removed from its previous li st before it is inserted into this list. 231 // Spec: If newItem is already in a list, it is removed from its previous li st before it is inserted into this list.
232 if (!removeFromOldOwnerListAndAdjustIndex(newItem, &index)) { 232 if (!removeFromOldOwnerListAndAdjustIndex(newItem, &index)) {
233 // Inserting the item before itself is a no-op. 233 // Inserting the item before itself is a no-op.
234 return newItem.release(); 234 return newItem.release();
235 } 235 }
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
362 typename Vector<RefPtr<ItemPropertyType> >::const_iterator it = from->m_valu es.begin(); 362 typename Vector<RefPtr<ItemPropertyType> >::const_iterator it = from->m_valu es.begin();
363 typename Vector<RefPtr<ItemPropertyType> >::const_iterator itEnd = from->m_v alues.end(); 363 typename Vector<RefPtr<ItemPropertyType> >::const_iterator itEnd = from->m_v alues.end();
364 for (; it != itEnd; ++it) { 364 for (; it != itEnd; ++it) {
365 append((*it)->clone()); 365 append((*it)->clone());
366 } 366 }
367 } 367 }
368 368
369 } 369 }
370 370
371 #endif // NewSVGListPropertyHelper_h 371 #endif // NewSVGListPropertyHelper_h
OLDNEW
« no previous file with comments | « Source/core/svg/SVGTransformList.idl ('k') | Source/core/svg/properties/NewSVGListPropertyTearOffHelper.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698