Chromium Code Reviews| Index: Source/WebCore/bindings/dart/DartDOMWrapper.h |
| diff --git a/Source/WebCore/bindings/dart/DartDOMWrapper.h b/Source/WebCore/bindings/dart/DartDOMWrapper.h |
| index 9a7fc95d7e60ad669db23945a33eb67e64bcc42e..3ef436593b0d28a69822cef612c944e3a254f885 100644 |
| --- a/Source/WebCore/bindings/dart/DartDOMWrapper.h |
| +++ b/Source/WebCore/bindings/dart/DartDOMWrapper.h |
| @@ -204,36 +204,26 @@ Dart_Handle toDartValue(PassRefPtr< SVGAnimatedEnumerationPropertyTearOff<T> >) |
| return 0; |
| } |
| -template <class Element> |
| -inline Dart_Handle vectorToDartList(const Vector< RefPtr<Element> >& vector) |
| +template<typename T> |
| +Dart_Handle toDartValue(const Vector<T>& vector) |
| { |
| Dart_Handle list = Dart_NewList(vector.size()); |
| if (Dart_IsError(list)) |
| return list; |
| for (size_t i = 0; i < vector.size(); i++) { |
| - Dart_Handle result = Dart_ListSetAt(list, i, toDartValue(vector[i].get())); |
| + Dart_Handle result = Dart_ListSetAt(list, i, toDartValue(vector[i])); |
| if (Dart_IsError(result)) |
| return result; |
| } |
| return list; |
| } |
| -template <class Element> |
| -inline Dart_Handle vectorToDartList(const Vector<Element>& vector) |
| +// FIXME: provide specialization for PassRefPtr as well |
|
podivilov
2012/03/23 15:44:12
We are generating toDartValue(PassRefPtr<T>) to gu
Anton Muhin
2012/03/23 17:29:23
Thanks a lot for bringing this. I still hope that
podivilov
2012/03/26 09:45:07
DartArrayBuffer.h generated header looks like this
|
| +// and do not generate it. |
| +template<typename T> |
| +Dart_Handle toDartValue(RefPtr<T> value) |
| { |
| - // FIXME: create list from vector for primitive types |
| - // without element-by-element copying and conversion. |
| - // Need VM support. |
| - Dart_Handle list = Dart_NewList(vector.size()); |
| - if (Dart_IsError(list)) |
| - return list; |
| - |
| - for (size_t i = 0; i < vector.size(); i++) { |
| - Dart_Handle result = Dart_ListSetAt(list, i, toDartValue(vector[i])); |
| - if (Dart_IsError(result)) |
| - return result; |
| - } |
| - return list; |
| + return toDartValue(value.get()); |
| } |
| template <class Element> |