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

Side by Side Diff: chrome/browser/debugger/devtools_sanity_browsertest.cc

Issue 10822030: Move ui_test_utils::RunMessageLoop to test_utils so that it can be reused by content_browsertests. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 8 years, 5 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 "base/bind.h" 5 #include "base/bind.h"
6 #include "base/cancelable_callback.h" 6 #include "base/cancelable_callback.h"
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/compiler_specific.h" 8 #include "base/compiler_specific.h"
9 #include "base/memory/ref_counted.h" 9 #include "base/memory/ref_counted.h"
10 #include "base/path_service.h" 10 #include "base/path_service.h"
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 using content::WorkerServiceObserver; 49 using content::WorkerServiceObserver;
50 50
51 namespace { 51 namespace {
52 52
53 // Used to block until a dev tools client window's browser is closed. 53 // Used to block until a dev tools client window's browser is closed.
54 class BrowserClosedObserver : public content::NotificationObserver { 54 class BrowserClosedObserver : public content::NotificationObserver {
55 public: 55 public:
56 explicit BrowserClosedObserver(Browser* browser) { 56 explicit BrowserClosedObserver(Browser* browser) {
57 registrar_.Add(this, chrome::NOTIFICATION_BROWSER_CLOSED, 57 registrar_.Add(this, chrome::NOTIFICATION_BROWSER_CLOSED,
58 content::Source<Browser>(browser)); 58 content::Source<Browser>(browser));
59 ui_test_utils::RunMessageLoop(); 59 content::RunMessageLoop();
60 } 60 }
61 61
62 virtual void Observe(int type, 62 virtual void Observe(int type,
63 const content::NotificationSource& source, 63 const content::NotificationSource& source,
64 const content::NotificationDetails& details) { 64 const content::NotificationDetails& details) {
65 MessageLoopForUI::current()->Quit(); 65 MessageLoopForUI::current()->Quit();
66 } 66 }
67 67
68 private: 68 private:
69 content::NotificationRegistrar registrar_; 69 content::NotificationRegistrar registrar_;
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
197 size_t num_before = service->extensions()->size(); 197 size_t num_before = service->extensions()->size();
198 { 198 {
199 content::NotificationRegistrar registrar; 199 content::NotificationRegistrar registrar;
200 registrar.Add(this, chrome::NOTIFICATION_EXTENSION_LOADED, 200 registrar.Add(this, chrome::NOTIFICATION_EXTENSION_LOADED,
201 content::NotificationService::AllSources()); 201 content::NotificationService::AllSources());
202 base::CancelableClosure timeout( 202 base::CancelableClosure timeout(
203 base::Bind(&TimeoutCallback, "Extension load timed out.")); 203 base::Bind(&TimeoutCallback, "Extension load timed out."));
204 MessageLoop::current()->PostDelayedTask( 204 MessageLoop::current()->PostDelayedTask(
205 FROM_HERE, timeout.callback(), base::TimeDelta::FromSeconds(4)); 205 FROM_HERE, timeout.callback(), base::TimeDelta::FromSeconds(4));
206 extensions::UnpackedInstaller::Create(service)->Load(path); 206 extensions::UnpackedInstaller::Create(service)->Load(path);
207 ui_test_utils::RunMessageLoop(); 207 content::RunMessageLoop();
208 timeout.Cancel(); 208 timeout.Cancel();
209 } 209 }
210 size_t num_after = service->extensions()->size(); 210 size_t num_after = service->extensions()->size();
211 if (num_after != (num_before + 1)) 211 if (num_after != (num_before + 1))
212 return false; 212 return false;
213 213
214 return WaitForExtensionViewsToLoad(); 214 return WaitForExtensionViewsToLoad();
215 } 215 }
216 216
217 bool WaitForExtensionViewsToLoad() { 217 bool WaitForExtensionViewsToLoad() {
(...skipping 11 matching lines...) Expand all
229 229
230 ExtensionProcessManager* manager = 230 ExtensionProcessManager* manager =
231 browser()->profile()->GetExtensionProcessManager(); 231 browser()->profile()->GetExtensionProcessManager();
232 ExtensionProcessManager::ViewSet all_views = manager->GetAllViews(); 232 ExtensionProcessManager::ViewSet all_views = manager->GetAllViews();
233 for (ExtensionProcessManager::ViewSet::const_iterator iter = 233 for (ExtensionProcessManager::ViewSet::const_iterator iter =
234 all_views.begin(); 234 all_views.begin();
235 iter != all_views.end();) { 235 iter != all_views.end();) {
236 if (!(*iter)->IsLoading()) 236 if (!(*iter)->IsLoading())
237 ++iter; 237 ++iter;
238 else 238 else
239 ui_test_utils::RunMessageLoop(); 239 content::RunMessageLoop();
240 } 240 }
241 241
242 timeout.Cancel(); 242 timeout.Cancel();
243 return true; 243 return true;
244 } 244 }
245 245
246 void Observe(int type, 246 void Observe(int type,
247 const content::NotificationSource& source, 247 const content::NotificationSource& source,
248 const content::NotificationDetails& details) { 248 const content::NotificationDetails& details) {
249 switch (type) { 249 switch (type) {
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
345 new WorkerTerminationObserver(worker_data)); 345 new WorkerTerminationObserver(worker_data));
346 return; 346 return;
347 } 347 }
348 FAIL() << "Failed to terminate worker.\n"; 348 FAIL() << "Failed to terminate worker.\n";
349 } 349 }
350 350
351 static void TerminateWorker(scoped_refptr<WorkerData> worker_data) { 351 static void TerminateWorker(scoped_refptr<WorkerData> worker_data) {
352 BrowserThread::PostTask( 352 BrowserThread::PostTask(
353 BrowserThread::IO, FROM_HERE, 353 BrowserThread::IO, FROM_HERE,
354 base::Bind(&TerminateWorkerOnIOThread, worker_data)); 354 base::Bind(&TerminateWorkerOnIOThread, worker_data));
355 ui_test_utils::RunMessageLoop(); 355 content::RunMessageLoop();
356 } 356 }
357 357
358 static void WaitForFirstSharedWorkerOnIOThread( 358 static void WaitForFirstSharedWorkerOnIOThread(
359 scoped_refptr<WorkerData> worker_data) { 359 scoped_refptr<WorkerData> worker_data) {
360 std::vector<WorkerService::WorkerInfo> worker_info = 360 std::vector<WorkerService::WorkerInfo> worker_info =
361 WorkerService::GetInstance()->GetWorkers(); 361 WorkerService::GetInstance()->GetWorkers();
362 if (!worker_info.empty()) { 362 if (!worker_info.empty()) {
363 worker_data->worker_process_id = worker_info[0].process_id; 363 worker_data->worker_process_id = worker_info[0].process_id;
364 worker_data->worker_route_id = worker_info[0].route_id; 364 worker_data->worker_route_id = worker_info[0].route_id;
365 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, 365 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE,
366 MessageLoop::QuitClosure()); 366 MessageLoop::QuitClosure());
367 return; 367 return;
368 } 368 }
369 369
370 WorkerService::GetInstance()->AddObserver( 370 WorkerService::GetInstance()->AddObserver(
371 new WorkerCreationObserver(worker_data.get())); 371 new WorkerCreationObserver(worker_data.get()));
372 } 372 }
373 373
374 static scoped_refptr<WorkerData> WaitForFirstSharedWorker() { 374 static scoped_refptr<WorkerData> WaitForFirstSharedWorker() {
375 scoped_refptr<WorkerData> worker_data(new WorkerData()); 375 scoped_refptr<WorkerData> worker_data(new WorkerData());
376 BrowserThread::PostTask( 376 BrowserThread::PostTask(
377 BrowserThread::IO, FROM_HERE, 377 BrowserThread::IO, FROM_HERE,
378 base::Bind(&WaitForFirstSharedWorkerOnIOThread, worker_data)); 378 base::Bind(&WaitForFirstSharedWorkerOnIOThread, worker_data));
379 ui_test_utils::RunMessageLoop(); 379 content::RunMessageLoop();
380 return worker_data; 380 return worker_data;
381 } 381 }
382 382
383 void OpenDevToolsWindowForSharedWorker(WorkerData* worker_data) { 383 void OpenDevToolsWindowForSharedWorker(WorkerData* worker_data) {
384 Profile* profile = browser()->profile(); 384 Profile* profile = browser()->profile();
385 window_ = DevToolsWindow::CreateDevToolsWindowForWorker(profile); 385 window_ = DevToolsWindow::CreateDevToolsWindowForWorker(profile);
386 window_->Show(DEVTOOLS_TOGGLE_ACTION_NONE); 386 window_->Show(DEVTOOLS_TOGGLE_ACTION_NONE);
387 DevToolsAgentHost* agent_host = 387 DevToolsAgentHost* agent_host =
388 DevToolsAgentHostRegistry::GetDevToolsAgentHostForWorker( 388 DevToolsAgentHostRegistry::GetDevToolsAgentHostForWorker(
389 worker_data->worker_process_id, 389 worker_data->worker_process_id,
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after
603 content::CONSOLE_MESSAGE_LEVEL_LOG, 603 content::CONSOLE_MESSAGE_LEVEL_LOG,
604 "log"); 604 "log");
605 devtools_manager->AddMessageToConsole(agent_host, 605 devtools_manager->AddMessageToConsole(agent_host,
606 content::CONSOLE_MESSAGE_LEVEL_ERROR, 606 content::CONSOLE_MESSAGE_LEVEL_ERROR,
607 "error"); 607 "error");
608 RunTestFunction(window_, "checkLogAndErrorMessages"); 608 RunTestFunction(window_, "checkLogAndErrorMessages");
609 CloseDevToolsWindow(); 609 CloseDevToolsWindow();
610 } 610 }
611 611
612 } // namespace 612 } // namespace
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/process_proxy/process_proxy_browsertest.cc ('k') | chrome/browser/download/download_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698