| 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 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 99 content::ExecuteScriptAndExtractString( | 99 content::ExecuteScriptAndExtractString( |
| 100 window->GetRenderViewHost(), | 100 window->GetRenderViewHost(), |
| 101 base::StringPrintf("uiTests.runTest('%s')", test_name), | 101 base::StringPrintf("uiTests.runTest('%s')", test_name), |
| 102 &result)); | 102 &result)); |
| 103 EXPECT_EQ("[OK]", result); | 103 EXPECT_EQ("[OK]", result); |
| 104 } else { | 104 } else { |
| 105 FAIL() << "DevTools front-end is broken."; | 105 FAIL() << "DevTools front-end is broken."; |
| 106 } | 106 } |
| 107 } | 107 } |
| 108 | 108 |
| 109 } // namespace |
| 110 |
| 109 class DevToolsSanityTest : public InProcessBrowserTest { | 111 class DevToolsSanityTest : public InProcessBrowserTest { |
| 110 public: | 112 public: |
| 111 DevToolsSanityTest() | 113 DevToolsSanityTest() |
| 112 : window_(NULL), | 114 : window_(NULL), |
| 113 inspected_rvh_(NULL) {} | 115 inspected_rvh_(NULL) {} |
| 114 | 116 |
| 115 protected: | 117 protected: |
| 116 void RunTest(const std::string& test_name, const std::string& test_page) { | 118 void RunTest(const std::string& test_name, const std::string& test_page) { |
| 117 OpenDevToolsWindow(test_page); | 119 OpenDevToolsWindow(test_page); |
| 118 RunTestFunction(window_, test_name.c_str()); | 120 RunTestFunction(window_, test_name.c_str()); |
| (...skipping 27 matching lines...) Expand all Loading... |
| 146 | 148 |
| 147 void ToggleDevToolsWindow() { | 149 void ToggleDevToolsWindow() { |
| 148 content::WindowedNotificationObserver close_observer( | 150 content::WindowedNotificationObserver close_observer( |
| 149 content::NOTIFICATION_WEB_CONTENTS_DESTROYED, | 151 content::NOTIFICATION_WEB_CONTENTS_DESTROYED, |
| 150 content::Source<content::WebContents>(window_->web_contents())); | 152 content::Source<content::WebContents>(window_->web_contents())); |
| 151 DevToolsWindow::ToggleDevToolsWindow(inspected_rvh_, false, | 153 DevToolsWindow::ToggleDevToolsWindow(inspected_rvh_, false, |
| 152 DevToolsToggleAction::Toggle()); | 154 DevToolsToggleAction::Toggle()); |
| 153 close_observer.Wait(); | 155 close_observer.Wait(); |
| 154 } | 156 } |
| 155 | 157 |
| 158 void ToggleDevToolsWindowDontWait() { |
| 159 DevToolsWindow::ToggleDevToolsWindow(inspected_rvh_, false, |
| 160 DevToolsToggleAction::Toggle()); |
| 161 } |
| 162 |
| 156 void CloseDevToolsWindow() { | 163 void CloseDevToolsWindow() { |
| 157 DevToolsManager* devtools_manager = DevToolsManager::GetInstance(); | 164 DevToolsManager* devtools_manager = DevToolsManager::GetInstance(); |
| 158 content::WindowedNotificationObserver close_observer( | 165 content::WindowedNotificationObserver close_observer( |
| 159 content::NOTIFICATION_WEB_CONTENTS_DESTROYED, | 166 content::NOTIFICATION_WEB_CONTENTS_DESTROYED, |
| 160 content::Source<content::WebContents>(window_->web_contents())); | 167 content::Source<content::WebContents>(window_->web_contents())); |
| 161 devtools_manager->CloseAllClientHosts(); | 168 devtools_manager->CloseAllClientHosts(); |
| 162 close_observer.Wait(); | 169 close_observer.Wait(); |
| 163 } | 170 } |
| 164 | 171 |
| 165 DevToolsWindow* window_; | 172 DevToolsWindow* window_; |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 207 command_line->AppendSwitch( | 214 command_line->AppendSwitch( |
| 208 switches::kDisableHangMonitor); | 215 switches::kDisableHangMonitor); |
| 209 } | 216 } |
| 210 | 217 |
| 211 void CloseInspectedTab() { | 218 void CloseInspectedTab() { |
| 212 browser()->tab_strip_model()->CloseWebContentsAt(0, | 219 browser()->tab_strip_model()->CloseWebContentsAt(0, |
| 213 TabStripModel::CLOSE_NONE); | 220 TabStripModel::CLOSE_NONE); |
| 214 } | 221 } |
| 215 | 222 |
| 216 void CloseDockedDevTools() { | 223 void CloseDockedDevTools() { |
| 217 DevToolsWindow::ToggleDevToolsWindow(inspected_rvh_, false, | 224 ToggleDevToolsWindowDontWait(); |
| 218 DevToolsToggleAction::Toggle()); | |
| 219 } | 225 } |
| 220 | 226 |
| 221 void CloseUndockedDevTools() { | 227 void CloseUndockedDevTools() { |
| 222 chrome::CloseWindow(window_->browser()); | 228 chrome::CloseWindow(window_->browser()); |
| 223 } | 229 } |
| 224 | 230 |
| 225 void CloseInspectedBrowser() { | 231 void CloseInspectedBrowser() { |
| 226 chrome::CloseWindow(browser()); | 232 chrome::CloseWindow(browser()); |
| 227 } | 233 } |
| 228 protected: | 234 protected: |
| 229 void InjectBeforeUnloadListener(content::WebContents* web_contents) { | 235 void InjectBeforeUnloadListener(content::WebContents* web_contents) { |
| 230 ASSERT_TRUE(content::ExecuteScript(web_contents->GetRenderViewHost(), | 236 ASSERT_TRUE(content::ExecuteScript(web_contents->GetRenderViewHost(), |
| 231 "window.addEventListener('beforeunload'," | 237 "window.addEventListener('beforeunload'," |
| 232 "function(event) { event.returnValue = 'Foo'; });")); | 238 "function(event) { event.returnValue = 'Foo'; });")); |
| 233 } | 239 } |
| 234 | 240 |
| 235 void RunBeforeUnloadSanityTest(DevToolsDockSide dock_side, | 241 void RunBeforeUnloadSanityTest(bool is_docked, |
| 236 base::Callback<void(void)> close_method, | 242 base::Callback<void(void)> close_method, |
| 237 bool wait_for_browser_close = true) { | 243 bool wait_for_browser_close = true) { |
| 238 OpenDevToolsWindow(kDebuggerTestPage); | 244 OpenDevToolsWindow(kDebuggerTestPage); |
| 239 window_->SetDockSideForTest(dock_side); | 245 window_->SetIsDockedForTest(is_docked); |
| 240 content::WindowedNotificationObserver devtools_close_observer( | 246 content::WindowedNotificationObserver devtools_close_observer( |
| 241 content::NOTIFICATION_WEB_CONTENTS_DESTROYED, | 247 content::NOTIFICATION_WEB_CONTENTS_DESTROYED, |
| 242 content::Source<content::WebContents>(window_->web_contents())); | 248 content::Source<content::WebContents>(window_->web_contents())); |
| 243 InjectBeforeUnloadListener(window_->web_contents()); | 249 InjectBeforeUnloadListener(window_->web_contents()); |
| 244 { | 250 { |
| 245 DevToolsWindowBeforeUnloadObserver before_unload_observer(window_); | 251 DevToolsWindowBeforeUnloadObserver before_unload_observer(window_); |
| 246 close_method.Run(); | 252 close_method.Run(); |
| 247 CancelModalDialog(); | 253 CancelModalDialog(); |
| 248 before_unload_observer.Wait(); | 254 before_unload_observer.Wait(); |
| 249 } | 255 } |
| (...skipping 286 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 536 scoped_refptr<WorkerData> worker_data(new WorkerData()); | 542 scoped_refptr<WorkerData> worker_data(new WorkerData()); |
| 537 BrowserThread::PostTask( | 543 BrowserThread::PostTask( |
| 538 BrowserThread::IO, FROM_HERE, | 544 BrowserThread::IO, FROM_HERE, |
| 539 base::Bind(&WaitForFirstSharedWorkerOnIOThread, worker_data)); | 545 base::Bind(&WaitForFirstSharedWorkerOnIOThread, worker_data)); |
| 540 content::RunMessageLoop(); | 546 content::RunMessageLoop(); |
| 541 return worker_data; | 547 return worker_data; |
| 542 } | 548 } |
| 543 | 549 |
| 544 void OpenDevToolsWindowForSharedWorker(WorkerData* worker_data) { | 550 void OpenDevToolsWindowForSharedWorker(WorkerData* worker_data) { |
| 545 Profile* profile = browser()->profile(); | 551 Profile* profile = browser()->profile(); |
| 546 window_ = DevToolsWindow::CreateDevToolsWindowForWorker(profile); | |
| 547 window_->Show(DevToolsToggleAction::Show()); | |
| 548 scoped_refptr<DevToolsAgentHost> agent_host( | 552 scoped_refptr<DevToolsAgentHost> agent_host( |
| 549 DevToolsAgentHost::GetForWorker( | 553 DevToolsAgentHost::GetForWorker( |
| 550 worker_data->worker_process_id, | 554 worker_data->worker_process_id, |
| 551 worker_data->worker_route_id)); | 555 worker_data->worker_route_id)); |
| 552 DevToolsManager::GetInstance()->RegisterDevToolsClientHostFor( | 556 window_ = DevToolsWindow::OpenDevToolsWindowForWorker(profile, agent_host); |
| 553 agent_host.get(), window_->GetDevToolsClientHostForTest()); | |
| 554 RenderViewHost* client_rvh = window_->GetRenderViewHost(); | 557 RenderViewHost* client_rvh = window_->GetRenderViewHost(); |
| 555 WebContents* client_contents = WebContents::FromRenderViewHost(client_rvh); | 558 WebContents* client_contents = WebContents::FromRenderViewHost(client_rvh); |
| 556 if (client_contents->IsLoading()) { | 559 if (client_contents->IsLoading()) { |
| 557 content::WindowedNotificationObserver observer( | 560 content::WindowedNotificationObserver observer( |
| 558 content::NOTIFICATION_LOAD_STOP, | 561 content::NOTIFICATION_LOAD_STOP, |
| 559 content::Source<NavigationController>( | 562 content::Source<NavigationController>( |
| 560 &client_contents->GetController())); | 563 &client_contents->GetController())); |
| 561 observer.Wait(); | 564 observer.Wait(); |
| 562 } | 565 } |
| 563 } | 566 } |
| 564 | 567 |
| 565 void CloseDevToolsWindow() { | 568 void CloseDevToolsWindow() { |
| 566 Browser* browser = window_->browser(); | 569 Browser* browser = window_->browser(); |
| 567 content::WindowedNotificationObserver close_observer( | 570 content::WindowedNotificationObserver close_observer( |
| 568 content::NOTIFICATION_WEB_CONTENTS_DESTROYED, | 571 content::NOTIFICATION_WEB_CONTENTS_DESTROYED, |
| 569 content::Source<content::WebContents>(window_->web_contents())); | 572 content::Source<content::WebContents>(window_->web_contents())); |
| 570 browser->tab_strip_model()->CloseAllTabs(); | 573 browser->tab_strip_model()->CloseAllTabs(); |
| 571 close_observer.Wait(); | 574 close_observer.Wait(); |
| 572 } | 575 } |
| 573 | 576 |
| 574 DevToolsWindow* window_; | 577 DevToolsWindow* window_; |
| 575 }; | 578 }; |
| 576 | 579 |
| 577 // Tests that BeforeUnload event gets called on docked devtools if | 580 // Tests that BeforeUnload event gets called on docked devtools if |
| 578 // we try to close them. | 581 // we try to close them. |
| 579 IN_PROC_BROWSER_TEST_F(DevToolsBeforeUnloadTest, TestDockedDevToolsClose) { | 582 IN_PROC_BROWSER_TEST_F(DevToolsBeforeUnloadTest, TestDockedDevToolsClose) { |
| 580 RunBeforeUnloadSanityTest(DEVTOOLS_DOCK_SIDE_BOTTOM, base::Bind( | 583 RunBeforeUnloadSanityTest(true, base::Bind( |
| 581 &DevToolsBeforeUnloadTest::CloseDockedDevTools, this), false); | 584 &DevToolsBeforeUnloadTest::CloseDockedDevTools, this), false); |
| 582 } | 585 } |
| 583 | 586 |
| 584 // Tests that BeforeUnload event gets called on docked devtools if | 587 // Tests that BeforeUnload event gets called on docked devtools if |
| 585 // we try to close the inspected page. | 588 // we try to close the inspected page. |
| 586 IN_PROC_BROWSER_TEST_F(DevToolsBeforeUnloadTest, | 589 IN_PROC_BROWSER_TEST_F(DevToolsBeforeUnloadTest, |
| 587 TestDockedDevToolsInspectedTabClose) { | 590 TestDockedDevToolsInspectedTabClose) { |
| 588 RunBeforeUnloadSanityTest(DEVTOOLS_DOCK_SIDE_BOTTOM, base::Bind( | 591 RunBeforeUnloadSanityTest(true, base::Bind( |
| 589 &DevToolsBeforeUnloadTest::CloseInspectedTab, this)); | 592 &DevToolsBeforeUnloadTest::CloseInspectedTab, this)); |
| 590 } | 593 } |
| 591 | 594 |
| 592 // Tests that BeforeUnload event gets called on docked devtools if | 595 // Tests that BeforeUnload event gets called on docked devtools if |
| 593 // we try to close the inspected browser. | 596 // we try to close the inspected browser. |
| 594 IN_PROC_BROWSER_TEST_F(DevToolsBeforeUnloadTest, | 597 IN_PROC_BROWSER_TEST_F(DevToolsBeforeUnloadTest, |
| 595 TestDockedDevToolsInspectedBrowserClose) { | 598 TestDockedDevToolsInspectedBrowserClose) { |
| 596 RunBeforeUnloadSanityTest(DEVTOOLS_DOCK_SIDE_BOTTOM, base::Bind( | 599 RunBeforeUnloadSanityTest(true, base::Bind( |
| 597 &DevToolsBeforeUnloadTest::CloseInspectedBrowser, this)); | 600 &DevToolsBeforeUnloadTest::CloseInspectedBrowser, this)); |
| 598 } | 601 } |
| 599 | 602 |
| 600 // Tests that BeforeUnload event gets called on undocked devtools if | 603 // Tests that BeforeUnload event gets called on undocked devtools if |
| 601 // we try to close them. | 604 // we try to close them. |
| 602 IN_PROC_BROWSER_TEST_F(DevToolsBeforeUnloadTest, TestUndockedDevToolsClose) { | 605 IN_PROC_BROWSER_TEST_F(DevToolsBeforeUnloadTest, TestUndockedDevToolsClose) { |
| 603 RunBeforeUnloadSanityTest(DEVTOOLS_DOCK_SIDE_UNDOCKED, base::Bind( | 606 RunBeforeUnloadSanityTest(false, base::Bind( |
| 604 &DevToolsBeforeUnloadTest::CloseUndockedDevTools, this), false); | 607 &DevToolsBeforeUnloadTest::CloseUndockedDevTools, this), false); |
| 605 } | 608 } |
| 606 | 609 |
| 607 // Tests that BeforeUnload event gets called on undocked devtools if | 610 // Tests that BeforeUnload event gets called on undocked devtools if |
| 608 // we try to close the inspected page. | 611 // we try to close the inspected page. |
| 609 IN_PROC_BROWSER_TEST_F(DevToolsBeforeUnloadTest, | 612 IN_PROC_BROWSER_TEST_F(DevToolsBeforeUnloadTest, |
| 610 TestUndockedDevToolsInspectedTabClose) { | 613 TestUndockedDevToolsInspectedTabClose) { |
| 611 RunBeforeUnloadSanityTest(DEVTOOLS_DOCK_SIDE_UNDOCKED, base::Bind( | 614 RunBeforeUnloadSanityTest(false, base::Bind( |
| 612 &DevToolsBeforeUnloadTest::CloseInspectedTab, this)); | 615 &DevToolsBeforeUnloadTest::CloseInspectedTab, this)); |
| 613 } | 616 } |
| 614 | 617 |
| 615 // Tests that BeforeUnload event gets called on undocked devtools if | 618 // Tests that BeforeUnload event gets called on undocked devtools if |
| 616 // we try to close the inspected browser. | 619 // we try to close the inspected browser. |
| 617 IN_PROC_BROWSER_TEST_F(DevToolsBeforeUnloadTest, | 620 IN_PROC_BROWSER_TEST_F(DevToolsBeforeUnloadTest, |
| 618 TestUndockedDevToolsInspectedBrowserClose) { | 621 TestUndockedDevToolsInspectedBrowserClose) { |
| 619 RunBeforeUnloadSanityTest(DEVTOOLS_DOCK_SIDE_UNDOCKED, base::Bind( | 622 RunBeforeUnloadSanityTest(false, base::Bind( |
| 620 &DevToolsBeforeUnloadTest::CloseInspectedBrowser, this)); | 623 &DevToolsBeforeUnloadTest::CloseInspectedBrowser, this)); |
| 621 } | 624 } |
| 622 | 625 |
| 623 // Tests that BeforeUnload event gets called on undocked devtools if | 626 // Tests that BeforeUnload event gets called on undocked devtools if |
| 624 // we try to exit application. | 627 // we try to exit application. |
| 625 IN_PROC_BROWSER_TEST_F(DevToolsBeforeUnloadTest, | 628 IN_PROC_BROWSER_TEST_F(DevToolsBeforeUnloadTest, |
| 626 TestUndockedDevToolsApplicationClose) { | 629 TestUndockedDevToolsApplicationClose) { |
| 627 RunBeforeUnloadSanityTest(DEVTOOLS_DOCK_SIDE_UNDOCKED, base::Bind( | 630 RunBeforeUnloadSanityTest(false, base::Bind( |
| 628 &chrome::CloseAllBrowsers)); | 631 &chrome::CloseAllBrowsers)); |
| 629 } | 632 } |
| 630 | 633 |
| 631 // Tests that inspected tab gets closed if devtools renderer | 634 // Tests that inspected tab gets closed if devtools renderer |
| 632 // becomes unresponsive during beforeunload event interception. | 635 // becomes unresponsive during beforeunload event interception. |
| 633 // @see http://crbug.com/322380 | 636 // @see http://crbug.com/322380 |
| 634 IN_PROC_BROWSER_TEST_F(DevToolsUnresponsiveBeforeUnloadTest, | 637 IN_PROC_BROWSER_TEST_F(DevToolsUnresponsiveBeforeUnloadTest, |
| 635 TestUndockedDevToolsUnresponsive) { | 638 TestUndockedDevToolsUnresponsive) { |
| 636 ASSERT_TRUE(test_server()->Start()); | 639 ASSERT_TRUE(test_server()->Start()); |
| 637 LoadTestPage(kDebuggerTestPage); | 640 LoadTestPage(kDebuggerTestPage); |
| 638 DevToolsWindow* devtools_window = OpenDevToolWindowOnWebContents( | 641 DevToolsWindow* devtools_window = OpenDevToolWindowOnWebContents( |
| 639 GetInspectedTab()); | 642 GetInspectedTab()); |
| 640 devtools_window->SetDockSideForTest(DEVTOOLS_DOCK_SIDE_UNDOCKED); | 643 devtools_window->SetIsDockedForTest(false); |
| 641 content::WindowedNotificationObserver devtools_close_observer( | 644 content::WindowedNotificationObserver devtools_close_observer( |
| 642 content::NOTIFICATION_WEB_CONTENTS_DESTROYED, | 645 content::NOTIFICATION_WEB_CONTENTS_DESTROYED, |
| 643 content::Source<content::WebContents>( | 646 content::Source<content::WebContents>( |
| 644 devtools_window->web_contents())); | 647 devtools_window->web_contents())); |
| 645 | 648 |
| 646 ASSERT_TRUE(content::ExecuteScript( | 649 ASSERT_TRUE(content::ExecuteScript( |
| 647 devtools_window->web_contents()->GetRenderViewHost(), | 650 devtools_window->web_contents()->GetRenderViewHost(), |
| 648 "window.addEventListener('beforeunload'," | 651 "window.addEventListener('beforeunload'," |
| 649 "function(event) { while (true); });")); | 652 "function(event) { while (true); });")); |
| 650 CloseInspectedTab(); | 653 CloseInspectedTab(); |
| 651 devtools_close_observer.Wait(); | 654 devtools_close_observer.Wait(); |
| 652 } | 655 } |
| 653 | 656 |
| 654 // Tests that closing worker inspector window does not cause browser crash | 657 // Tests that closing worker inspector window does not cause browser crash |
| 655 // @see http://crbug.com/323031 | 658 // @see http://crbug.com/323031 |
| 656 IN_PROC_BROWSER_TEST_F(DevToolsBeforeUnloadTest, | 659 IN_PROC_BROWSER_TEST_F(DevToolsBeforeUnloadTest, |
| 657 TestWorkerWindowClosing) { | 660 TestWorkerWindowClosing) { |
| 658 ASSERT_TRUE(test_server()->Start()); | 661 ASSERT_TRUE(test_server()->Start()); |
| 659 LoadTestPage(kDebuggerTestPage); | 662 LoadTestPage(kDebuggerTestPage); |
| 660 DevToolsWindow* devtools_window = OpenDevToolWindowOnWebContents( | 663 DevToolsWindow* devtools_window = OpenDevToolWindowOnWebContents( |
| 661 GetInspectedTab()); | 664 GetInspectedTab()); |
| 662 devtools_window->SetDockSideForTest(DEVTOOLS_DOCK_SIDE_UNDOCKED); | 665 devtools_window->SetIsDockedForTest(false); |
| 663 content::WindowedNotificationObserver devtools_close_observer( | 666 content::WindowedNotificationObserver devtools_close_observer( |
| 664 content::NOTIFICATION_WEB_CONTENTS_DESTROYED, | 667 content::NOTIFICATION_WEB_CONTENTS_DESTROYED, |
| 665 content::Source<content::WebContents>( | 668 content::Source<content::WebContents>( |
| 666 devtools_window->web_contents())); | 669 devtools_window->web_contents())); |
| 667 | 670 |
| 668 OpenDevToolsPopupWindow(devtools_window); | 671 OpenDevToolsPopupWindow(devtools_window); |
| 669 CloseDevToolsPopupWindow(devtools_window); | 672 CloseDevToolsPopupWindow(devtools_window); |
| 670 } | 673 } |
| 671 | 674 |
| 672 // Tests that BeforeUnload event gets called on devtools that are opened | 675 // Tests that BeforeUnload event gets called on devtools that are opened |
| (...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 852 // Tests that console messages are not duplicated on navigation back. | 855 // Tests that console messages are not duplicated on navigation back. |
| 853 IN_PROC_BROWSER_TEST_F(DevToolsSanityTest, TestConsoleOnNavigateBack) { | 856 IN_PROC_BROWSER_TEST_F(DevToolsSanityTest, TestConsoleOnNavigateBack) { |
| 854 RunTest("testConsoleOnNavigateBack", kNavigateBackTestPage); | 857 RunTest("testConsoleOnNavigateBack", kNavigateBackTestPage); |
| 855 } | 858 } |
| 856 | 859 |
| 857 | 860 |
| 858 // Tests that external navigation from inspector page is always handled by | 861 // Tests that external navigation from inspector page is always handled by |
| 859 // DevToolsWindow and results in inspected page navigation. | 862 // DevToolsWindow and results in inspected page navigation. |
| 860 IN_PROC_BROWSER_TEST_F(DevToolsSanityTest, TestDevToolsExternalNavigation) { | 863 IN_PROC_BROWSER_TEST_F(DevToolsSanityTest, TestDevToolsExternalNavigation) { |
| 861 OpenDevToolsWindow(kDebuggerTestPage); | 864 OpenDevToolsWindow(kDebuggerTestPage); |
| 865 window_->SetIsDockedForTest(true); |
| 862 GURL url = test_server()->GetURL(kNavigateBackTestPage); | 866 GURL url = test_server()->GetURL(kNavigateBackTestPage); |
| 863 content::WindowedNotificationObserver observer( | 867 content::WindowedNotificationObserver observer( |
| 864 content::NOTIFICATION_LOAD_STOP, | 868 content::NOTIFICATION_LOAD_STOP, |
| 865 content::NotificationService::AllSources()); | 869 content::NotificationService::AllSources()); |
| 866 ASSERT_TRUE(content::ExecuteScript( | 870 ASSERT_TRUE(content::ExecuteScript( |
| 867 window_->web_contents(), | 871 window_->web_contents(), |
| 868 std::string("window.location = \"") + url.spec() + "\"")); | 872 std::string("window.location = \"") + url.spec() + "\"")); |
| 869 observer.Wait(); | 873 observer.Wait(); |
| 870 | 874 |
| 871 ASSERT_TRUE(window_->web_contents()->GetURL(). | 875 ASSERT_TRUE(window_->web_contents()->GetURL(). |
| (...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 986 | 990 |
| 987 IN_PROC_BROWSER_TEST_F(RemoteDebuggingTest, RemoteDebugger) { | 991 IN_PROC_BROWSER_TEST_F(RemoteDebuggingTest, RemoteDebugger) { |
| 988 #if defined(OS_WIN) && defined(USE_ASH) | 992 #if defined(OS_WIN) && defined(USE_ASH) |
| 989 // Disable this test in Metro+Ash for now (http://crbug.com/262796). | 993 // Disable this test in Metro+Ash for now (http://crbug.com/262796). |
| 990 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kAshBrowserTests)) | 994 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kAshBrowserTests)) |
| 991 return; | 995 return; |
| 992 #endif | 996 #endif |
| 993 | 997 |
| 994 ASSERT_TRUE(RunExtensionTest("target_list")) << message_; | 998 ASSERT_TRUE(RunExtensionTest("target_list")) << message_; |
| 995 } | 999 } |
| 996 | |
| 997 } // namespace | |
| OLD | NEW |