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

Side by Side Diff: storage/browser/fileapi/timed_task_helper.cc

Issue 1546243002: Convert Pass()→std::move() in //storage (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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "storage/browser/fileapi/timed_task_helper.h" 5 #include "storage/browser/fileapi/timed_task_helper.h"
6 6
7 #include <utility>
8
7 #include "base/bind.h" 9 #include "base/bind.h"
8 #include "base/logging.h" 10 #include "base/logging.h"
9 #include "base/sequenced_task_runner.h" 11 #include "base/sequenced_task_runner.h"
10 12
11 namespace storage { 13 namespace storage {
12 14
13 struct TimedTaskHelper::Tracker { 15 struct TimedTaskHelper::Tracker {
14 explicit Tracker(TimedTaskHelper* timer) : timer(timer) {} 16 explicit Tracker(TimedTaskHelper* timer) : timer(timer) {}
15 17
16 ~Tracker() { 18 ~Tracker() {
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
57 // Initialize the tracker for the first time. 59 // Initialize the tracker for the first time.
58 tracker_ = new Tracker(this); 60 tracker_ = new Tracker(this);
59 PostDelayedTask(make_scoped_ptr(tracker_), delay_); 61 PostDelayedTask(make_scoped_ptr(tracker_), delay_);
60 } 62 }
61 63
62 // static 64 // static
63 void TimedTaskHelper::Fired(scoped_ptr<Tracker> tracker) { 65 void TimedTaskHelper::Fired(scoped_ptr<Tracker> tracker) {
64 if (!tracker->timer) 66 if (!tracker->timer)
65 return; 67 return;
66 TimedTaskHelper* timer = tracker->timer; 68 TimedTaskHelper* timer = tracker->timer;
67 timer->OnFired(tracker.Pass()); 69 timer->OnFired(std::move(tracker));
68 } 70 }
69 71
70 void TimedTaskHelper::OnFired(scoped_ptr<Tracker> tracker) { 72 void TimedTaskHelper::OnFired(scoped_ptr<Tracker> tracker) {
71 DCHECK(task_runner_->RunsTasksOnCurrentThread()); 73 DCHECK(task_runner_->RunsTasksOnCurrentThread());
72 base::TimeTicks now = base::TimeTicks::Now(); 74 base::TimeTicks now = base::TimeTicks::Now();
73 if (desired_run_time_ > now) { 75 if (desired_run_time_ > now) {
74 PostDelayedTask(tracker.Pass(), desired_run_time_ - now); 76 PostDelayedTask(std::move(tracker), desired_run_time_ - now);
75 return; 77 return;
76 } 78 }
77 tracker.reset(); 79 tracker.reset();
78 base::Closure task = user_task_; 80 base::Closure task = user_task_;
79 user_task_.Reset(); 81 user_task_.Reset();
80 task.Run(); 82 task.Run();
81 } 83 }
82 84
83 void TimedTaskHelper::PostDelayedTask(scoped_ptr<Tracker> tracker, 85 void TimedTaskHelper::PostDelayedTask(scoped_ptr<Tracker> tracker,
84 base::TimeDelta delay) { 86 base::TimeDelta delay) {
85 task_runner_->PostDelayedTask( 87 task_runner_->PostDelayedTask(
86 posted_from_, 88 posted_from_,
87 base::Bind(&TimedTaskHelper::Fired, base::Passed(&tracker)), 89 base::Bind(&TimedTaskHelper::Fired, base::Passed(&tracker)),
88 delay); 90 delay);
89 } 91 }
90 92
91 } // namespace storage 93 } // namespace storage
OLDNEW
« no previous file with comments | « storage/browser/fileapi/sandbox_file_system_backend_delegate.cc ('k') | storage/browser/fileapi/transient_file_util.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698