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

Side by Side Diff: chrome/browser/search_engines/template_url_service_test_util.cc

Issue 14113053: chrome: Use base::MessageLoop. (Part 3) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase again Created 7 years, 6 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/search_engines/template_url_service_test_util.h" 5 #include "chrome/browser/search_engines/template_url_service_test_util.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/message_loop.h" 8 #include "base/message_loop.h"
9 #include "base/path_service.h" 9 #include "base/path_service.h"
10 #include "base/synchronization/waitable_event.h" 10 #include "base/synchronization/waitable_event.h"
(...skipping 18 matching lines...) Expand all
29 #endif 29 #endif
30 30
31 using content::BrowserThread; 31 using content::BrowserThread;
32 32
33 namespace { 33 namespace {
34 34
35 // A callback used to coordinate when the database has finished processing 35 // A callback used to coordinate when the database has finished processing
36 // requests. See note in BlockTillServiceProcessesRequests for details. 36 // requests. See note in BlockTillServiceProcessesRequests for details.
37 // 37 //
38 // Schedules a QuitClosure on the message loop it was created with. 38 // Schedules a QuitClosure on the message loop it was created with.
39 void QuitCallback(MessageLoop* message_loop) { 39 void QuitCallback(base::MessageLoop* message_loop) {
40 message_loop->PostTask(FROM_HERE, MessageLoop::QuitClosure()); 40 message_loop->PostTask(FROM_HERE, base::MessageLoop::QuitClosure());
41 } 41 }
42 42
43 // Blocks the caller until thread has finished servicing all pending 43 // Blocks the caller until thread has finished servicing all pending
44 // requests. 44 // requests.
45 static void WaitForThreadToProcessRequests(BrowserThread::ID identifier) { 45 static void WaitForThreadToProcessRequests(BrowserThread::ID identifier) {
46 // Schedule a task on the thread that is processed after all 46 // Schedule a task on the thread that is processed after all
47 // pending requests on the thread. 47 // pending requests on the thread.
48 BrowserThread::PostTask(identifier, FROM_HERE, 48 BrowserThread::PostTask(
49 base::Bind(&QuitCallback, MessageLoop::current())); 49 identifier,
50 MessageLoop::current()->Run(); 50 FROM_HERE,
51 base::Bind(&QuitCallback, base::MessageLoop::current()));
52 base::MessageLoop::current()->Run();
51 } 53 }
52 54
53 } // namespace 55 } // namespace
54 56
55 // Trivial subclass of TemplateURLService that records the last invocation of 57 // Trivial subclass of TemplateURLService that records the last invocation of
56 // SetKeywordSearchTermsForURL. 58 // SetKeywordSearchTermsForURL.
57 class TestingTemplateURLService : public TemplateURLService { 59 class TestingTemplateURLService : public TemplateURLService {
58 public: 60 public:
59 static BrowserContextKeyedService* Build(content::BrowserContext* profile) { 61 static BrowserContextKeyedService* Build(content::BrowserContext* profile) {
60 return new TestingTemplateURLService(static_cast<Profile*>(profile)); 62 return new TestingTemplateURLService(static_cast<Profile*>(profile));
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
128 // Note that we must ensure the DB thread is stopped after WDS 130 // Note that we must ensure the DB thread is stopped after WDS
129 // shutdown (so it can commit pending transactions) but before 131 // shutdown (so it can commit pending transactions) but before
130 // deleting the test profile directory, otherwise we may not be 132 // deleting the test profile directory, otherwise we may not be
131 // able to delete it due to an open transaction. 133 // able to delete it due to an open transaction.
132 // Schedule another task on the DB thread to notify us that it's safe to 134 // Schedule another task on the DB thread to notify us that it's safe to
133 // carry on with the test. 135 // carry on with the test.
134 base::WaitableEvent done(false, false); 136 base::WaitableEvent done(false, false);
135 BrowserThread::PostTask(BrowserThread::DB, FROM_HERE, 137 BrowserThread::PostTask(BrowserThread::DB, FROM_HERE,
136 base::Bind(&base::WaitableEvent::Signal, base::Unretained(&done))); 138 base::Bind(&base::WaitableEvent::Signal, base::Unretained(&done)));
137 done.Wait(); 139 done.Wait();
138 MessageLoop::current()->PostTask(FROM_HERE, MessageLoop::QuitClosure()); 140 base::MessageLoop::current()->PostTask(FROM_HERE,
139 MessageLoop::current()->Run(); 141 base::MessageLoop::QuitClosure());
142 base::MessageLoop::current()->Run();
140 db_thread_.Stop(); 143 db_thread_.Stop();
141 144
142 UIThreadSearchTermsData::SetGoogleBaseURL(std::string()); 145 UIThreadSearchTermsData::SetGoogleBaseURL(std::string());
143 146
144 // Flush the message loop to make application verifiers happy. 147 // Flush the message loop to make application verifiers happy.
145 message_loop_.RunUntilIdle(); 148 message_loop_.RunUntilIdle();
146 } 149 }
147 150
148 void TemplateURLServiceTestUtil::OnTemplateURLServiceChanged() { 151 void TemplateURLServiceTestUtil::OnTemplateURLServiceChanged() {
149 changed_count_++; 152 changed_count_++;
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
276 return profile_.get(); 279 return profile_.get();
277 } 280 }
278 281
279 void TemplateURLServiceTestUtil::StartIOThread() { 282 void TemplateURLServiceTestUtil::StartIOThread() {
280 io_thread_.StartIOThread(); 283 io_thread_.StartIOThread();
281 } 284 }
282 285
283 void TemplateURLServiceTestUtil::PumpLoop() { 286 void TemplateURLServiceTestUtil::PumpLoop() {
284 message_loop_.RunUntilIdle(); 287 message_loop_.RunUntilIdle();
285 } 288 }
OLDNEW
« no previous file with comments | « chrome/browser/search_engines/template_url_service_test_util.h ('k') | chrome/browser/service/service_process_control.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698