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

Side by Side Diff: base/observer_list_unittest.cc

Issue 2791243002: Rewrite base::Bind into base::BindOnce on trivial cases in base (Closed)
Patch Set: Created 3 years, 8 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "base/observer_list.h" 5 #include "base/observer_list.h"
6 #include "base/observer_list_threadsafe.h" 6 #include "base/observer_list_threadsafe.h"
7 7
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/compiler_specific.h" 10 #include "base/compiler_specific.h"
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
117 do_notifies_(notify), 117 do_notifies_(notify),
118 weak_factory_(this) { 118 weak_factory_(this) {
119 } 119 }
120 120
121 ~AddRemoveThread() override {} 121 ~AddRemoveThread() override {}
122 122
123 void ThreadMain() override { 123 void ThreadMain() override {
124 loop_ = new MessageLoop(); // Fire up a message loop. 124 loop_ = new MessageLoop(); // Fire up a message loop.
125 loop_->task_runner()->PostTask( 125 loop_->task_runner()->PostTask(
126 FROM_HERE, 126 FROM_HERE,
127 base::Bind(&AddRemoveThread::AddTask, weak_factory_.GetWeakPtr())); 127 base::BindOnce(&AddRemoveThread::AddTask, weak_factory_.GetWeakPtr()));
128 RunLoop().Run(); 128 RunLoop().Run();
129 delete loop_; 129 delete loop_;
130 loop_ = reinterpret_cast<MessageLoop*>(0xdeadbeef); 130 loop_ = reinterpret_cast<MessageLoop*>(0xdeadbeef);
131 delete this; 131 delete this;
132 } 132 }
133 133
134 // This task just keeps posting to itself in an attempt 134 // This task just keeps posting to itself in an attempt
135 // to race with the notifier. 135 // to race with the notifier.
136 void AddTask() { 136 void AddTask() {
137 count_addtask_++; 137 count_addtask_++;
138 138
139 if ((Time::Now() - start_).InMilliseconds() > kThreadRunTime) { 139 if ((Time::Now() - start_).InMilliseconds() > kThreadRunTime) {
140 VLOG(1) << "DONE!"; 140 VLOG(1) << "DONE!";
141 return; 141 return;
142 } 142 }
143 143
144 if (!in_list_) { 144 if (!in_list_) {
145 list_->AddObserver(this); 145 list_->AddObserver(this);
146 in_list_ = true; 146 in_list_ = true;
147 } 147 }
148 148
149 if (do_notifies_) { 149 if (do_notifies_) {
150 list_->Notify(FROM_HERE, &Foo::Observe, 10); 150 list_->Notify(FROM_HERE, &Foo::Observe, 10);
151 } 151 }
152 152
153 loop_->task_runner()->PostTask( 153 loop_->task_runner()->PostTask(
154 FROM_HERE, 154 FROM_HERE,
155 base::Bind(&AddRemoveThread::AddTask, weak_factory_.GetWeakPtr())); 155 base::BindOnce(&AddRemoveThread::AddTask, weak_factory_.GetWeakPtr()));
156 } 156 }
157 157
158 void Quit() { 158 void Quit() {
159 loop_->task_runner()->PostTask(FROM_HERE, 159 loop_->task_runner()->PostTask(FROM_HERE,
160 MessageLoop::QuitWhenIdleClosure()); 160 MessageLoop::QuitWhenIdleClosure());
161 } 161 }
162 162
163 void Observe(int x) override { 163 void Observe(int x) override {
164 count_observes_++; 164 count_observes_++;
165 165
(...skipping 760 matching lines...) Expand 10 before | Expand all | Expand 10 after
926 // However, the first Observe() call will add a second observer: at this 926 // However, the first Observe() call will add a second observer: at this
927 // point, it != observer_list.end() should be true, and Observe() should be 927 // point, it != observer_list.end() should be true, and Observe() should be
928 // called on the newly added observer on the next iteration of the loop. 928 // called on the newly added observer on the next iteration of the loop.
929 observer.Observe(10); 929 observer.Observe(10);
930 } 930 }
931 931
932 EXPECT_EQ(-10, b.total); 932 EXPECT_EQ(-10, b.total);
933 } 933 }
934 934
935 } // namespace base 935 } // namespace base
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698