Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(46)

Side by Side Diff: chrome/browser/sync_file_system/drive_backend/sync_task_manager_unittest.cc

Issue 1545283002: Convert Pass()→std::move() in //chrome/browser/ui (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 12 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/sync_file_system/drive_backend/sync_task_manager.h"
6
5 #include <stdint.h> 7 #include <stdint.h>
6
7 #include <deque> 8 #include <deque>
8 #include <string> 9 #include <string>
10 #include <utility>
9 11
10 #include "base/bind.h" 12 #include "base/bind.h"
11 #include "base/location.h" 13 #include "base/location.h"
12 #include "base/macros.h" 14 #include "base/macros.h"
13 #include "base/memory/weak_ptr.h" 15 #include "base/memory/weak_ptr.h"
14 #include "base/message_loop/message_loop.h" 16 #include "base/message_loop/message_loop.h"
15 #include "base/run_loop.h" 17 #include "base/run_loop.h"
16 #include "base/single_thread_task_runner.h" 18 #include "base/single_thread_task_runner.h"
17 #include "base/thread_task_runner_handle.h" 19 #include "base/thread_task_runner_handle.h"
18 #include "chrome/browser/sync_file_system/drive_backend/sync_task.h" 20 #include "chrome/browser/sync_file_system/drive_backend/sync_task.h"
19 #include "chrome/browser/sync_file_system/drive_backend/sync_task_manager.h"
20 #include "chrome/browser/sync_file_system/drive_backend/sync_task_token.h" 21 #include "chrome/browser/sync_file_system/drive_backend/sync_task_token.h"
21 #include "chrome/browser/sync_file_system/sync_file_system_test_util.h" 22 #include "chrome/browser/sync_file_system/sync_file_system_test_util.h"
22 #include "storage/common/fileapi/file_system_util.h" 23 #include "storage/common/fileapi/file_system_util.h"
23 #include "testing/gtest/include/gtest/gtest.h" 24 #include "testing/gtest/include/gtest/gtest.h"
24 25
25 #define MAKE_PATH(path) \ 26 #define MAKE_PATH(path) \
26 base::FilePath(storage::VirtualPath::GetNormalizedFilePath( \ 27 base::FilePath(storage::VirtualPath::GetNormalizedFilePath( \
27 base::FilePath(FILE_PATH_LITERAL(path)))) 28 base::FilePath(FILE_PATH_LITERAL(path))))
28 29
29 namespace sync_file_system { 30 namespace sync_file_system {
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
191 } 192 }
192 193
193 ~BackgroundTask() override {} 194 ~BackgroundTask() override {}
194 195
195 void RunPreflight(scoped_ptr<SyncTaskToken> token) override { 196 void RunPreflight(scoped_ptr<SyncTaskToken> token) override {
196 scoped_ptr<TaskBlocker> task_blocker(new TaskBlocker); 197 scoped_ptr<TaskBlocker> task_blocker(new TaskBlocker);
197 task_blocker->app_id = app_id_; 198 task_blocker->app_id = app_id_;
198 task_blocker->paths.push_back(path_); 199 task_blocker->paths.push_back(path_);
199 200
200 SyncTaskManager::UpdateTaskBlocker( 201 SyncTaskManager::UpdateTaskBlocker(
201 token.Pass(), task_blocker.Pass(), 202 std::move(token), std::move(task_blocker),
202 base::Bind(&BackgroundTask::RunAsBackgroundTask, 203 base::Bind(&BackgroundTask::RunAsBackgroundTask,
203 weak_ptr_factory_.GetWeakPtr())); 204 weak_ptr_factory_.GetWeakPtr()));
204 } 205 }
205 206
206 private: 207 private:
207 void RunAsBackgroundTask(scoped_ptr<SyncTaskToken> token) { 208 void RunAsBackgroundTask(scoped_ptr<SyncTaskToken> token) {
208 ++(stats_->running_background_task); 209 ++(stats_->running_background_task);
209 if (stats_->max_parallel_task < stats_->running_background_task) 210 if (stats_->max_parallel_task < stats_->running_background_task)
210 stats_->max_parallel_task = stats_->running_background_task; 211 stats_->max_parallel_task = stats_->running_background_task;
211 212
212 base::ThreadTaskRunnerHandle::Get()->PostTask( 213 base::ThreadTaskRunnerHandle::Get()->PostTask(
213 FROM_HERE, 214 FROM_HERE,
214 base::Bind(&BackgroundTask::CompleteTask, 215 base::Bind(&BackgroundTask::CompleteTask,
215 weak_ptr_factory_.GetWeakPtr(), base::Passed(&token))); 216 weak_ptr_factory_.GetWeakPtr(), base::Passed(&token)));
216 } 217 }
217 218
218 void CompleteTask(scoped_ptr<SyncTaskToken> token) { 219 void CompleteTask(scoped_ptr<SyncTaskToken> token) {
219 ++(stats_->finished_task); 220 ++(stats_->finished_task);
220 --(stats_->running_background_task); 221 --(stats_->running_background_task);
221 SyncTaskManager::NotifyTaskDone(token.Pass(), SYNC_STATUS_OK); 222 SyncTaskManager::NotifyTaskDone(std::move(token), SYNC_STATUS_OK);
222 } 223 }
223 224
224 std::string app_id_; 225 std::string app_id_;
225 base::FilePath path_; 226 base::FilePath path_;
226 Stats* stats_; 227 Stats* stats_;
227 228
228 base::WeakPtrFactory<BackgroundTask> weak_ptr_factory_; 229 base::WeakPtrFactory<BackgroundTask> weak_ptr_factory_;
229 230
230 DISALLOW_COPY_AND_ASSIGN(BackgroundTask); 231 DISALLOW_COPY_AND_ASSIGN(BackgroundTask);
231 }; 232 };
232 233
233 class BlockerUpdateTestHelper : public SyncTask { 234 class BlockerUpdateTestHelper : public SyncTask {
234 public: 235 public:
235 typedef std::vector<std::string> Log; 236 typedef std::vector<std::string> Log;
236 237
237 BlockerUpdateTestHelper(const std::string& name, 238 BlockerUpdateTestHelper(const std::string& name,
238 const std::string& app_id, 239 const std::string& app_id,
239 const std::vector<std::string>& paths, 240 const std::vector<std::string>& paths,
240 Log* log) 241 Log* log)
241 : name_(name), 242 : name_(name),
242 app_id_(app_id), 243 app_id_(app_id),
243 paths_(paths.begin(), paths.end()), 244 paths_(paths.begin(), paths.end()),
244 log_(log), 245 log_(log),
245 weak_ptr_factory_(this) { 246 weak_ptr_factory_(this) {
246 } 247 }
247 248
248 ~BlockerUpdateTestHelper() override {} 249 ~BlockerUpdateTestHelper() override {}
249 250
250 void RunPreflight(scoped_ptr<SyncTaskToken> token) override { 251 void RunPreflight(scoped_ptr<SyncTaskToken> token) override {
251 UpdateBlocker(token.Pass()); 252 UpdateBlocker(std::move(token));
252 } 253 }
253 254
254 private: 255 private:
255 void UpdateBlocker(scoped_ptr<SyncTaskToken> token) { 256 void UpdateBlocker(scoped_ptr<SyncTaskToken> token) {
256 if (paths_.empty()) { 257 if (paths_.empty()) {
257 log_->push_back(name_ + ": finished"); 258 log_->push_back(name_ + ": finished");
258 SyncTaskManager::NotifyTaskDone(token.Pass(), SYNC_STATUS_OK); 259 SyncTaskManager::NotifyTaskDone(std::move(token), SYNC_STATUS_OK);
259 return; 260 return;
260 } 261 }
261 262
262 std::string updating_to = paths_.front(); 263 std::string updating_to = paths_.front();
263 paths_.pop_front(); 264 paths_.pop_front();
264 265
265 log_->push_back(name_ + ": updating to " + updating_to); 266 log_->push_back(name_ + ": updating to " + updating_to);
266 267
267 scoped_ptr<TaskBlocker> task_blocker(new TaskBlocker); 268 scoped_ptr<TaskBlocker> task_blocker(new TaskBlocker);
268 task_blocker->app_id = app_id_; 269 task_blocker->app_id = app_id_;
269 task_blocker->paths.push_back( 270 task_blocker->paths.push_back(
270 base::FilePath(storage::VirtualPath::GetNormalizedFilePath( 271 base::FilePath(storage::VirtualPath::GetNormalizedFilePath(
271 base::FilePath::FromUTF8Unsafe(updating_to)))); 272 base::FilePath::FromUTF8Unsafe(updating_to))));
272 273
273 SyncTaskManager::UpdateTaskBlocker( 274 SyncTaskManager::UpdateTaskBlocker(
274 token.Pass(), task_blocker.Pass(), 275 std::move(token), std::move(task_blocker),
275 base::Bind(&BlockerUpdateTestHelper::UpdateBlockerSoon, 276 base::Bind(&BlockerUpdateTestHelper::UpdateBlockerSoon,
276 weak_ptr_factory_.GetWeakPtr(), 277 weak_ptr_factory_.GetWeakPtr(), updating_to));
277 updating_to));
278 } 278 }
279 279
280 void UpdateBlockerSoon(const std::string& updated_to, 280 void UpdateBlockerSoon(const std::string& updated_to,
281 scoped_ptr<SyncTaskToken> token) { 281 scoped_ptr<SyncTaskToken> token) {
282 log_->push_back(name_ + ": updated to " + updated_to); 282 log_->push_back(name_ + ": updated to " + updated_to);
283 base::ThreadTaskRunnerHandle::Get()->PostTask( 283 base::ThreadTaskRunnerHandle::Get()->PostTask(
284 FROM_HERE, 284 FROM_HERE,
285 base::Bind(&BlockerUpdateTestHelper::UpdateBlocker, 285 base::Bind(&BlockerUpdateTestHelper::UpdateBlocker,
286 weak_ptr_factory_.GetWeakPtr(), base::Passed(&token))); 286 weak_ptr_factory_.GetWeakPtr(), base::Passed(&token)));
287 } 287 }
(...skipping 384 matching lines...) Expand 10 before | Expand all | Expand 10 after
672 672
673 EXPECT_EQ("task1: finished", log[i++]); 673 EXPECT_EQ("task1: finished", log[i++]);
674 674
675 EXPECT_EQ("task2: updating to /hoge/fuga/piyo", log[i++]); 675 EXPECT_EQ("task2: updating to /hoge/fuga/piyo", log[i++]);
676 EXPECT_EQ("task2: updated to /hoge/fuga/piyo", log[i++]); 676 EXPECT_EQ("task2: updated to /hoge/fuga/piyo", log[i++]);
677 EXPECT_EQ("task2: finished", log[i++]); 677 EXPECT_EQ("task2: finished", log[i++]);
678 } 678 }
679 679
680 } // namespace drive_backend 680 } // namespace drive_backend
681 } // namespace sync_file_system 681 } // namespace sync_file_system
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698