| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 22 matching lines...) Expand all Loading... |
| 33 #include "content/public/browser/notification_registrar.h" | 33 #include "content/public/browser/notification_registrar.h" |
| 34 #include "content/public/browser/notification_service.h" | 34 #include "content/public/browser/notification_service.h" |
| 35 #include "content/public/browser/worker_service.h" | 35 #include "content/public/browser/worker_service.h" |
| 36 #include "content/public/browser/worker_service_observer.h" | 36 #include "content/public/browser/worker_service_observer.h" |
| 37 #include "net/test/test_server.h" | 37 #include "net/test/test_server.h" |
| 38 | 38 |
| 39 using content::BrowserThread; | 39 using content::BrowserThread; |
| 40 using content::DevToolsManager; | 40 using content::DevToolsManager; |
| 41 using content::DevToolsAgentHost; | 41 using content::DevToolsAgentHost; |
| 42 using content::DevToolsAgentHostRegistry; | 42 using content::DevToolsAgentHostRegistry; |
| 43 using content::NavigationController; |
| 43 using content::WorkerService; | 44 using content::WorkerService; |
| 44 using content::WorkerServiceObserver; | 45 using content::WorkerServiceObserver; |
| 45 | 46 |
| 46 namespace { | 47 namespace { |
| 47 | 48 |
| 48 // Used to block until a dev tools client window's browser is closed. | 49 // Used to block until a dev tools client window's browser is closed. |
| 49 class BrowserClosedObserver : public content::NotificationObserver { | 50 class BrowserClosedObserver : public content::NotificationObserver { |
| 50 public: | 51 public: |
| 51 explicit BrowserClosedObserver(Browser* browser) { | 52 explicit BrowserClosedObserver(Browser* browser) { |
| 52 registrar_.Add(this, chrome::NOTIFICATION_BROWSER_CLOSED, | 53 registrar_.Add(this, chrome::NOTIFICATION_BROWSER_CLOSED, |
| (...skipping 352 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 405 worker_data->worker_process_id, | 406 worker_data->worker_process_id, |
| 406 worker_data->worker_route_id); | 407 worker_data->worker_route_id); |
| 407 DevToolsManager::GetInstance()->RegisterDevToolsClientHostFor( | 408 DevToolsManager::GetInstance()->RegisterDevToolsClientHostFor( |
| 408 agent_host, | 409 agent_host, |
| 409 window_->devtools_client_host()); | 410 window_->devtools_client_host()); |
| 410 RenderViewHost* client_rvh = window_->GetRenderViewHost(); | 411 RenderViewHost* client_rvh = window_->GetRenderViewHost(); |
| 411 TabContents* client_contents = client_rvh->delegate()->GetAsTabContents(); | 412 TabContents* client_contents = client_rvh->delegate()->GetAsTabContents(); |
| 412 if (client_contents->IsLoading()) { | 413 if (client_contents->IsLoading()) { |
| 413 ui_test_utils::WindowedNotificationObserver observer( | 414 ui_test_utils::WindowedNotificationObserver observer( |
| 414 content::NOTIFICATION_LOAD_STOP, | 415 content::NOTIFICATION_LOAD_STOP, |
| 415 content::Source<content::NavigationController>( | 416 content::Source<NavigationController>( |
| 416 &client_contents->GetController())); | 417 &client_contents->GetController())); |
| 417 observer.Wait(); | 418 observer.Wait(); |
| 418 } | 419 } |
| 419 } | 420 } |
| 420 | 421 |
| 421 void CloseDevToolsWindow() { | 422 void CloseDevToolsWindow() { |
| 422 Browser* browser = window_->browser(); | 423 Browser* browser = window_->browser(); |
| 423 browser->CloseAllTabs(); | 424 browser->CloseAllTabs(); |
| 424 BrowserClosedObserver close_observer(browser); | 425 BrowserClosedObserver close_observer(browser); |
| 425 } | 426 } |
| (...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 518 #define TestReattachAfterCrash FLAKY_TestReattachAfterCrash | 519 #define TestReattachAfterCrash FLAKY_TestReattachAfterCrash |
| 519 #endif | 520 #endif |
| 520 // Tests that inspector will reattach to inspected page when it is reloaded | 521 // Tests that inspector will reattach to inspected page when it is reloaded |
| 521 // after a crash. See http://crbug.com/101952 | 522 // after a crash. See http://crbug.com/101952 |
| 522 IN_PROC_BROWSER_TEST_F(DevToolsSanityTest, TestReattachAfterCrash) { | 523 IN_PROC_BROWSER_TEST_F(DevToolsSanityTest, TestReattachAfterCrash) { |
| 523 OpenDevToolsWindow(kDebuggerTestPage); | 524 OpenDevToolsWindow(kDebuggerTestPage); |
| 524 | 525 |
| 525 ui_test_utils::CrashTab(GetInspectedTab()); | 526 ui_test_utils::CrashTab(GetInspectedTab()); |
| 526 ui_test_utils::WindowedNotificationObserver observer( | 527 ui_test_utils::WindowedNotificationObserver observer( |
| 527 content::NOTIFICATION_LOAD_STOP, | 528 content::NOTIFICATION_LOAD_STOP, |
| 528 content::Source<content::NavigationController>( | 529 content::Source<NavigationController>( |
| 529 &browser()->GetSelectedTabContentsWrapper()->web_contents()-> | 530 &browser()->GetSelectedTabContentsWrapper()->web_contents()-> |
| 530 GetController())); | 531 GetController())); |
| 531 browser()->Reload(CURRENT_TAB); | 532 browser()->Reload(CURRENT_TAB); |
| 532 observer.Wait(); | 533 observer.Wait(); |
| 533 | 534 |
| 534 RunTestFunction(window_, "testReattachAfterCrash"); | 535 RunTestFunction(window_, "testReattachAfterCrash"); |
| 535 CloseDevToolsWindow(); | 536 CloseDevToolsWindow(); |
| 536 } | 537 } |
| 537 | 538 |
| 538 IN_PROC_BROWSER_TEST_F(DevToolsSanityTest, TestPageWithNoJavaScript) { | 539 IN_PROC_BROWSER_TEST_F(DevToolsSanityTest, TestPageWithNoJavaScript) { |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 585 | 586 |
| 586 // Reload page to restart the worker. | 587 // Reload page to restart the worker. |
| 587 ui_test_utils::NavigateToURL(browser(), url); | 588 ui_test_utils::NavigateToURL(browser(), url); |
| 588 | 589 |
| 589 // Wait until worker script is paused on the debugger statement. | 590 // Wait until worker script is paused on the debugger statement. |
| 590 RunTestFunction(window_, "testPauseInSharedWorkerInitialization"); | 591 RunTestFunction(window_, "testPauseInSharedWorkerInitialization"); |
| 591 CloseDevToolsWindow(); | 592 CloseDevToolsWindow(); |
| 592 } | 593 } |
| 593 | 594 |
| 594 } // namespace | 595 } // namespace |
| OLD | NEW |