| Index: mojo/public/cpp/bindings/lib/array_internal.h
|
| diff --git a/mojo/public/cpp/bindings/lib/array_internal.h b/mojo/public/cpp/bindings/lib/array_internal.h
|
| index c49409a3216e253646902887734194dba2025154..3681d8e6a4da50244f27c56f6a2d5ed5e284da65 100644
|
| --- a/mojo/public/cpp/bindings/lib/array_internal.h
|
| +++ b/mojo/public/cpp/bindings/lib/array_internal.h
|
| @@ -451,6 +451,10 @@ template <typename T> struct ArrayTraits<T, false> {
|
| static inline void PushBack(std::vector<T>* vec, ForwardType value) {
|
| vec->push_back(value);
|
| }
|
| + static inline void Clone(const std::vector<T>& src_vec,
|
| + std::vector<T>* dest_vec) {
|
| + dest_vec->assign(src_vec.begin(), src_vec.end());
|
| + }
|
| };
|
|
|
| template <typename T> struct ArrayTraits<T, true> {
|
| @@ -499,6 +503,12 @@ template <typename T> struct ArrayTraits<T, true> {
|
| vec->swap(new_storage);
|
| Finalize(&new_storage);
|
| }
|
| + static inline void Clone(const std::vector<StorageType>& src_vec,
|
| + std::vector<StorageType>* dest_vec) {
|
| + Resize(dest_vec, src_vec.size());
|
| + for (size_t i = 0; i < src_vec.size(); ++i)
|
| + at(dest_vec, i) = at(&src_vec, i).Clone();
|
| + }
|
| };
|
|
|
| template <> struct WrapperTraits<String, false> {
|
|
|