OLD | NEW |
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 327 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
338 scoped_refptr<WorkerData> worker_data = WaitForFirstSharedWorker(); | 338 scoped_refptr<WorkerData> worker_data = WaitForFirstSharedWorker(); |
339 OpenDevToolsWindowForSharedWorker(worker_data.get()); | 339 OpenDevToolsWindowForSharedWorker(worker_data.get()); |
340 RunTestFunction(window_, test_name); | 340 RunTestFunction(window_, test_name); |
341 CloseDevToolsWindow(); | 341 CloseDevToolsWindow(); |
342 } | 342 } |
343 | 343 |
344 static void TerminateWorkerOnIOThread(scoped_refptr<WorkerData> worker_data) { | 344 static void TerminateWorkerOnIOThread(scoped_refptr<WorkerData> worker_data) { |
345 if (WorkerService::GetInstance()->TerminateWorker( | 345 if (WorkerService::GetInstance()->TerminateWorker( |
346 worker_data->worker_process_id, worker_data->worker_route_id)) { | 346 worker_data->worker_process_id, worker_data->worker_route_id)) { |
347 WorkerService::GetInstance()->AddObserver( | 347 WorkerService::GetInstance()->AddObserver( |
348 new WorkerTerminationObserver(worker_data)); | 348 new WorkerTerminationObserver(worker_data.get())); |
349 return; | 349 return; |
350 } | 350 } |
351 FAIL() << "Failed to terminate worker.\n"; | 351 FAIL() << "Failed to terminate worker.\n"; |
352 } | 352 } |
353 | 353 |
354 static void TerminateWorker(scoped_refptr<WorkerData> worker_data) { | 354 static void TerminateWorker(scoped_refptr<WorkerData> worker_data) { |
355 BrowserThread::PostTask( | 355 BrowserThread::PostTask( |
356 BrowserThread::IO, FROM_HERE, | 356 BrowserThread::IO, FROM_HERE, |
357 base::Bind(&TerminateWorkerOnIOThread, worker_data)); | 357 base::Bind(&TerminateWorkerOnIOThread, worker_data)); |
358 content::RunMessageLoop(); | 358 content::RunMessageLoop(); |
(...skipping 26 matching lines...) Expand all Loading... |
385 | 385 |
386 void OpenDevToolsWindowForSharedWorker(WorkerData* worker_data) { | 386 void OpenDevToolsWindowForSharedWorker(WorkerData* worker_data) { |
387 Profile* profile = browser()->profile(); | 387 Profile* profile = browser()->profile(); |
388 window_ = DevToolsWindow::CreateDevToolsWindowForWorker(profile); | 388 window_ = DevToolsWindow::CreateDevToolsWindowForWorker(profile); |
389 window_->Show(DEVTOOLS_TOGGLE_ACTION_SHOW); | 389 window_->Show(DEVTOOLS_TOGGLE_ACTION_SHOW); |
390 scoped_refptr<DevToolsAgentHost> agent_host( | 390 scoped_refptr<DevToolsAgentHost> agent_host( |
391 DevToolsAgentHost::GetForWorker( | 391 DevToolsAgentHost::GetForWorker( |
392 worker_data->worker_process_id, | 392 worker_data->worker_process_id, |
393 worker_data->worker_route_id)); | 393 worker_data->worker_route_id)); |
394 DevToolsManager::GetInstance()->RegisterDevToolsClientHostFor( | 394 DevToolsManager::GetInstance()->RegisterDevToolsClientHostFor( |
395 agent_host, | 395 agent_host.get(), window_->GetDevToolsClientHostForTest()); |
396 window_->GetDevToolsClientHostForTest()); | |
397 RenderViewHost* client_rvh = window_->GetRenderViewHost(); | 396 RenderViewHost* client_rvh = window_->GetRenderViewHost(); |
398 WebContents* client_contents = WebContents::FromRenderViewHost(client_rvh); | 397 WebContents* client_contents = WebContents::FromRenderViewHost(client_rvh); |
399 if (client_contents->IsLoading()) { | 398 if (client_contents->IsLoading()) { |
400 content::WindowedNotificationObserver observer( | 399 content::WindowedNotificationObserver observer( |
401 content::NOTIFICATION_LOAD_STOP, | 400 content::NOTIFICATION_LOAD_STOP, |
402 content::Source<NavigationController>( | 401 content::Source<NavigationController>( |
403 &client_contents->GetController())); | 402 &client_contents->GetController())); |
404 observer.Wait(); | 403 observer.Wait(); |
405 } | 404 } |
406 } | 405 } |
(...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
642 PathService::Get(chrome::DIR_TEST_DATA, &test_data_dir_); | 641 PathService::Get(chrome::DIR_TEST_DATA, &test_data_dir_); |
643 test_data_dir_ = test_data_dir_.AppendASCII("devtools"); | 642 test_data_dir_ = test_data_dir_.AppendASCII("devtools"); |
644 } | 643 } |
645 }; | 644 }; |
646 | 645 |
647 IN_PROC_BROWSER_TEST_F(RemoteDebuggingTest, RemoteDebugger) { | 646 IN_PROC_BROWSER_TEST_F(RemoteDebuggingTest, RemoteDebugger) { |
648 ASSERT_TRUE(RunExtensionTest("target_list")) << message_; | 647 ASSERT_TRUE(RunExtensionTest("target_list")) << message_; |
649 } | 648 } |
650 | 649 |
651 } // namespace | 650 } // namespace |
OLD | NEW |