| OLD | NEW |
| 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 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 74 class NewSVGListPropertyTearOffHelper : public NewSVGPropertyTearOff<ListPropert
y> { | 74 class NewSVGListPropertyTearOffHelper : public NewSVGPropertyTearOff<ListPropert
y> { |
| 75 public: | 75 public: |
| 76 typedef ListProperty ListPropertyType; | 76 typedef ListProperty ListPropertyType; |
| 77 typedef typename ListPropertyType::ItemPropertyType ItemPropertyType; | 77 typedef typename ListPropertyType::ItemPropertyType ItemPropertyType; |
| 78 typedef typename ItemPropertyType::TearOffType ItemTearOffType; | 78 typedef typename ItemPropertyType::TearOffType ItemTearOffType; |
| 79 typedef ListItemPropertyTraits<ItemPropertyType> ItemTraits; | 79 typedef ListItemPropertyTraits<ItemPropertyType> ItemTraits; |
| 80 | 80 |
| 81 // SVG*List DOM interface: | 81 // SVG*List DOM interface: |
| 82 | 82 |
| 83 // WebIDL requires "unsigned long" type instead of size_t. | 83 // WebIDL requires "unsigned long" type instead of size_t. |
| 84 unsigned long numberOfItems() | 84 unsigned long length() |
| 85 { | 85 { |
| 86 return toDerived()->target()->numberOfItems(); | 86 return toDerived()->target()->length(); |
| 87 } | 87 } |
| 88 | 88 |
| 89 void clear(ExceptionState& exceptionState) | 89 void clear(ExceptionState& exceptionState) |
| 90 { | 90 { |
| 91 if (toDerived()->isImmutable()) { | 91 if (toDerived()->isImmutable()) { |
| 92 exceptionState.throwDOMException(NoModificationAllowedError, "The ob
ject is read-only."); | 92 exceptionState.throwDOMException(NoModificationAllowedError, "The ob
ject is read-only."); |
| 93 return; | 93 return; |
| 94 } | 94 } |
| 95 | 95 |
| 96 toDerived()->target()->clear(); | 96 toDerived()->target()->clear(); |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 155 exceptionState.throwTypeError("An invalid item cannot be replaced wi
th an existing list item."); | 155 exceptionState.throwTypeError("An invalid item cannot be replaced wi
th an existing list item."); |
| 156 return nullptr; | 156 return nullptr; |
| 157 } | 157 } |
| 158 | 158 |
| 159 RefPtr<ItemPropertyType> value = toDerived()->target()->replaceItem(getV
alueForInsertionFromTearOff(item), index, exceptionState); | 159 RefPtr<ItemPropertyType> value = toDerived()->target()->replaceItem(getV
alueForInsertionFromTearOff(item), index, exceptionState); |
| 160 toDerived()->commitChange(); | 160 toDerived()->commitChange(); |
| 161 | 161 |
| 162 return createItemTearOff(value.release()); | 162 return createItemTearOff(value.release()); |
| 163 } | 163 } |
| 164 | 164 |
| 165 bool anonymousIndexedSetter(unsigned index, PassRefPtr<ItemTearOffType> pass
Item, ExceptionState& exceptionState) |
| 166 { |
| 167 replaceItem(passItem, index, exceptionState); |
| 168 return true; |
| 169 } |
| 170 |
| 165 PassRefPtr<ItemTearOffType> removeItem(unsigned long index, ExceptionState&
exceptionState) | 171 PassRefPtr<ItemTearOffType> removeItem(unsigned long index, ExceptionState&
exceptionState) |
| 166 { | 172 { |
| 167 RefPtr<ItemPropertyType> value = toDerived()->target()->removeItem(index
, exceptionState); | 173 RefPtr<ItemPropertyType> value = toDerived()->target()->removeItem(index
, exceptionState); |
| 168 toDerived()->commitChange(); | 174 toDerived()->commitChange(); |
| 169 | 175 |
| 170 return createItemTearOff(value.release()); | 176 return createItemTearOff(value.release()); |
| 171 } | 177 } |
| 172 | 178 |
| 173 PassRefPtr<ItemTearOffType> appendItem(PassRefPtr<ItemTearOffType> passItem,
ExceptionState& exceptionState) | 179 PassRefPtr<ItemTearOffType> appendItem(PassRefPtr<ItemTearOffType> passItem,
ExceptionState& exceptionState) |
| 174 { | 180 { |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 209 return ItemTraits::createTearOff(value, toDerived()->contextElement(), t
oDerived()->propertyIsAnimVal(), toDerived()->attributeName()); | 215 return ItemTraits::createTearOff(value, toDerived()->contextElement(), t
oDerived()->propertyIsAnimVal(), toDerived()->attributeName()); |
| 210 } | 216 } |
| 211 | 217 |
| 212 private: | 218 private: |
| 213 Derived* toDerived() { return static_cast<Derived*>(this); } | 219 Derived* toDerived() { return static_cast<Derived*>(this); } |
| 214 }; | 220 }; |
| 215 | 221 |
| 216 } | 222 } |
| 217 | 223 |
| 218 #endif // NewSVGListPropertyTearOffHelper_h | 224 #endif // NewSVGListPropertyTearOffHelper_h |
| OLD | NEW |