| Index: chrome/browser/sync_file_system/drive_backend/sync_engine_initializer_unittest.cc
|
| diff --git a/chrome/browser/sync_file_system/drive_backend/sync_engine_initializer_unittest.cc b/chrome/browser/sync_file_system/drive_backend/sync_engine_initializer_unittest.cc
|
| index 7559a187a38573da8883de2ef1a29db9ca5d4224..ec2f2ece80e7b3496592c67c89bb329babebb594 100644
|
| --- a/chrome/browser/sync_file_system/drive_backend/sync_engine_initializer_unittest.cc
|
| +++ b/chrome/browser/sync_file_system/drive_backend/sync_engine_initializer_unittest.cc
|
| @@ -11,6 +11,7 @@
|
| #include "base/bind.h"
|
| #include "base/files/scoped_temp_dir.h"
|
| #include "base/macros.h"
|
| +#include "base/memory/ptr_util.h"
|
| #include "base/run_loop.h"
|
| #include "base/threading/thread_task_runner_handle.h"
|
| #include "chrome/browser/sync_file_system/drive_backend/drive_backend_constants.h"
|
| @@ -114,18 +115,24 @@ class SyncEngineInitializerTest : public testing::Test {
|
| if (status != SYNC_STATUS_OK)
|
| return status;
|
|
|
| - // |app_root_list| must not own the resources here. Be sure to call
|
| - // weak_clear later.
|
| - ScopedVector<google_apis::FileResource> app_root_list;
|
| + // |app_root_list| must not own the resources here. Be sure to release
|
| + // ownership of all elements later.
|
| + // TODO(leonhsl) Need follow up: having two owners for a pointer is a
|
| + // dangerous pattern that we don't want to keep around.
|
| + std::vector<std::unique_ptr<google_apis::FileResource>> app_root_list;
|
| for (size_t i = 0; i < app_roots_count; ++i) {
|
| - app_root_list.push_back(
|
| - const_cast<google_apis::FileResource*>(app_roots[i]));
|
| + app_root_list.push_back(base::WrapUnique(
|
| + const_cast<google_apis::FileResource*>(app_roots[i])));
|
| }
|
|
|
| status = database->PopulateInitialData(
|
| kInitialLargestChangeID, sync_root, app_root_list);
|
|
|
| - app_root_list.weak_clear();
|
| + for_each(app_root_list.begin(), app_root_list.end(),
|
| + [](std::unique_ptr<google_apis::FileResource>& entry) {
|
| + entry.release();
|
| + });
|
| + app_root_list.clear();
|
| return status;
|
| }
|
|
|
|
|