Index: Source/bindings/dart/DartUtilities.cpp |
diff --git a/Source/bindings/dart/DartUtilities.cpp b/Source/bindings/dart/DartUtilities.cpp |
index 20b8dd792a6ba216b7fb3f181e7d5a09f277c1f2..5157081af994bf9494be6f37ce3880412123a5a3 100644 |
--- a/Source/bindings/dart/DartUtilities.cpp |
+++ b/Source/bindings/dart/DartUtilities.cpp |
@@ -250,13 +250,26 @@ void DartUtilities::extractListElements(Dart_Handle list, Dart_Handle& exception |
intptr_t length = 0; |
Dart_ListLength(list, &length); |
elements.reserveCapacity(length); |
- for (int i = 0; i < length; i++) { |
+ for (size_t i = 0; i < length; i++) { |
Dart_Handle element = Dart_ListGetAt(list, i); |
ASSERT(!Dart_IsError(element)); |
elements.append(element); |
} |
} |
+Dart_Handle DartUtilities::toList(const Vector<Dart_Handle>& elements, Dart_Handle& exception) |
+{ |
+ Dart_Handle ret = Dart_NewList(elements.size()); |
+ if (Dart_IsError(ret)) { |
+ exception = ret; |
+ return Dart_Null(); |
+ } |
+ for (size_t i = 0; i < elements.size(); i++) { |
+ Dart_ListSetAt(ret, i, elements[i]); |
+ } |
+ return ret; |
+} |
+ |
v8::Local<v8::Context> DartUtilities::currentV8Context() |
{ |
Frame* frame = DartUtilities::domWindowForCurrentIsolate()->frame(); |