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

Side by Side Diff: chrome/browser/importer/firefox_importer_unittest_utils_mac.cc

Issue 10071036: RefCounted types should not have public destructors, chrome/browser/ part 6 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Implementation fixes Created 8 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 | Annotate | Revision Log
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 "chrome/browser/importer/firefox_importer_unittest_utils.h" 5 #include "chrome/browser/importer/firefox_importer_unittest_utils.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/base_switches.h" 8 #include "base/base_switches.h"
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/file_path.h" 10 #include "base/file_path.h"
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
159 // A message_loop task that quits the message loop when invoked, setting cancel 159 // A message_loop task that quits the message loop when invoked, setting cancel
160 // causes the task to do nothing when invoked. 160 // causes the task to do nothing when invoked.
161 class CancellableQuitMsgLoop : public base::RefCounted<CancellableQuitMsgLoop> { 161 class CancellableQuitMsgLoop : public base::RefCounted<CancellableQuitMsgLoop> {
162 public: 162 public:
163 CancellableQuitMsgLoop() : cancelled_(false) {} 163 CancellableQuitMsgLoop() : cancelled_(false) {}
164 void QuitNow() { 164 void QuitNow() {
165 if (!cancelled_) 165 if (!cancelled_)
166 MessageLoop::current()->Quit(); 166 MessageLoop::current()->Quit();
167 } 167 }
168 bool cancelled_; 168 bool cancelled_;
169
170 private:
171 friend class base::RefCounted<CancellableQuitMsgLoop>;
172 ~CancellableQuitMsgLoop() {}
169 }; 173 };
170 174
171 // Spin until either a client response arrives or a timeout occurs. 175 // Spin until either a client response arrives or a timeout occurs.
172 bool FFUnitTestDecryptorProxy::WaitForClientResponse() { 176 bool FFUnitTestDecryptorProxy::WaitForClientResponse() {
173 // What we're trying to do here is to wait for an RPC message to go over the 177 // What we're trying to do here is to wait for an RPC message to go over the
174 // wire and the client to reply. If the client does not reply by a given 178 // wire and the client to reply. If the client does not reply by a given
175 // timeout we kill the message loop. 179 // timeout we kill the message loop.
176 // The way we do this is to post a CancellableQuitMsgLoop for 3 seconds in 180 // The way we do this is to post a CancellableQuitMsgLoop for 3 seconds in
177 // the future and cancel it if an RPC message comes back earlier. 181 // the future and cancel it if an RPC message comes back earlier.
178 // This relies on the IPC listener class to quit the message loop itself when 182 // This relies on the IPC listener class to quit the message loop itself when
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
265 269
266 IPC::Channel channel(kTestChannelID, IPC::Channel::MODE_CLIENT, &listener); 270 IPC::Channel channel(kTestChannelID, IPC::Channel::MODE_CLIENT, &listener);
267 CHECK(channel.Connect()); 271 CHECK(channel.Connect());
268 listener.SetSender(&channel); 272 listener.SetSender(&channel);
269 273
270 // run message loop 274 // run message loop
271 MessageLoop::current()->Run(); 275 MessageLoop::current()->Run();
272 276
273 return 0; 277 return 0;
274 } 278 }
OLDNEW
« no previous file with comments | « chrome/browser/importer/external_process_importer_host.cc ('k') | chrome/browser/intranet_redirect_detector.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698