Index: tools/dom/templates/html/impl/impl_Crypto.darttemplate |
diff --git a/tools/dom/templates/html/impl/impl_Crypto.darttemplate b/tools/dom/templates/html/impl/impl_Crypto.darttemplate |
new file mode 100644 |
index 0000000000000000000000000000000000000000..1da09bb0eafb1512c5924a1f1a23d1b137e40181 |
--- /dev/null |
+++ b/tools/dom/templates/html/impl/impl_Crypto.darttemplate |
@@ -0,0 +1,26 @@ |
+// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file |
+// for details. All rights reserved. Use of this source code is governed by a |
+// BSD-style license that can be found in the LICENSE file. |
+ |
+part of $LIBRARYNAME; |
+ |
+$(ANNOTATIONS)$(NATIVESPEC)$(CLASS_MODIFIERS)class $CLASSNAME$EXTENDS$IMPLEMENTS { |
+ |
+ TypedData getRandomValues(TypedData array) { |
+$if DART2JS |
+ return _getRandomValues(array); |
+$else |
+ var random = _getRandomValues(array); |
+ // The semantics of the operation are that it modifies the argument, but we |
+ // have no way of making a Dart typed data created initially in Dart reference |
+ // externalized storage. So we copy the values back from the returned copy. |
+ // TODO(alanknight): Make this less ridiculously slow. |
+ for (var i = 0; i < random.length; i++) { |
+ array[i] = random[i]; |
+ } |
+ return array; |
+$endif |
+ } |
+ |
+$!MEMBERS |
+} |