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/location.h" | 9 #include "base/location.h" |
10 #include "base/macros.h" | 10 #include "base/macros.h" |
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
138 DevToolsSanityTest() : window_(NULL) {} | 138 DevToolsSanityTest() : window_(NULL) {} |
139 | 139 |
140 protected: | 140 protected: |
141 void RunTest(const std::string& test_name, const std::string& test_page) { | 141 void RunTest(const std::string& test_name, const std::string& test_page) { |
142 OpenDevToolsWindow(test_page, false); | 142 OpenDevToolsWindow(test_page, false); |
143 RunTestFunction(window_, test_name.c_str()); | 143 RunTestFunction(window_, test_name.c_str()); |
144 CloseDevToolsWindow(); | 144 CloseDevToolsWindow(); |
145 } | 145 } |
146 | 146 |
147 void LoadTestPage(const std::string& test_page) { | 147 void LoadTestPage(const std::string& test_page) { |
148 GURL url = test_server()->GetURL(test_page); | 148 GURL url = spawned_test_server()->GetURL(test_page); |
149 ui_test_utils::NavigateToURL(browser(), url); | 149 ui_test_utils::NavigateToURL(browser(), url); |
150 } | 150 } |
151 | 151 |
152 void OpenDevToolsWindow(const std::string& test_page, bool is_docked) { | 152 void OpenDevToolsWindow(const std::string& test_page, bool is_docked) { |
153 ASSERT_TRUE(test_server()->Start()); | 153 ASSERT_TRUE(spawned_test_server()->Start()); |
154 LoadTestPage(test_page); | 154 LoadTestPage(test_page); |
155 | 155 |
156 window_ = DevToolsWindowTesting::OpenDevToolsWindowSync(GetInspectedTab(), | 156 window_ = DevToolsWindowTesting::OpenDevToolsWindowSync(GetInspectedTab(), |
157 is_docked); | 157 is_docked); |
158 } | 158 } |
159 | 159 |
160 WebContents* GetInspectedTab() { | 160 WebContents* GetInspectedTab() { |
161 return browser()->tab_strip_model()->GetWebContentsAt(0); | 161 return browser()->tab_strip_model()->GetWebContentsAt(0); |
162 } | 162 } |
163 | 163 |
(...skipping 313 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
477 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, | 477 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, |
478 base::MessageLoop::QuitWhenIdleClosure()); | 478 base::MessageLoop::QuitWhenIdleClosure()); |
479 delete this; | 479 delete this; |
480 } | 480 } |
481 scoped_refptr<WorkerData> worker_data_; | 481 scoped_refptr<WorkerData> worker_data_; |
482 }; | 482 }; |
483 | 483 |
484 void RunTest(const char* test_name, | 484 void RunTest(const char* test_name, |
485 const char* test_page, | 485 const char* test_page, |
486 const char* worker_path) { | 486 const char* worker_path) { |
487 ASSERT_TRUE(test_server()->Start()); | 487 ASSERT_TRUE(spawned_test_server()->Start()); |
488 GURL url = test_server()->GetURL(test_page); | 488 GURL url = spawned_test_server()->GetURL(test_page); |
489 ui_test_utils::NavigateToURL(browser(), url); | 489 ui_test_utils::NavigateToURL(browser(), url); |
490 | 490 |
491 scoped_refptr<WorkerData> worker_data = | 491 scoped_refptr<WorkerData> worker_data = |
492 WaitForFirstSharedWorker(worker_path); | 492 WaitForFirstSharedWorker(worker_path); |
493 OpenDevToolsWindowForSharedWorker(worker_data.get()); | 493 OpenDevToolsWindowForSharedWorker(worker_data.get()); |
494 RunTestFunction(window_, test_name); | 494 RunTestFunction(window_, test_name); |
495 CloseDevToolsWindow(); | 495 CloseDevToolsWindow(); |
496 } | 496 } |
497 | 497 |
498 static void TerminateWorkerOnIOThread(scoped_refptr<WorkerData> worker_data) { | 498 static void TerminateWorkerOnIOThread(scoped_refptr<WorkerData> worker_data) { |
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
609 RunBeforeUnloadSanityTest(false, base::Bind( | 609 RunBeforeUnloadSanityTest(false, base::Bind( |
610 &chrome::CloseAllBrowsers)); | 610 &chrome::CloseAllBrowsers)); |
611 } | 611 } |
612 | 612 |
613 // Tests that inspected tab gets closed if devtools renderer | 613 // Tests that inspected tab gets closed if devtools renderer |
614 // becomes unresponsive during beforeunload event interception. | 614 // becomes unresponsive during beforeunload event interception. |
615 // @see http://crbug.com/322380 | 615 // @see http://crbug.com/322380 |
616 // Disabled because of http://crbug.com/410327 | 616 // Disabled because of http://crbug.com/410327 |
617 IN_PROC_BROWSER_TEST_F(DevToolsUnresponsiveBeforeUnloadTest, | 617 IN_PROC_BROWSER_TEST_F(DevToolsUnresponsiveBeforeUnloadTest, |
618 DISABLED_TestUndockedDevToolsUnresponsive) { | 618 DISABLED_TestUndockedDevToolsUnresponsive) { |
619 ASSERT_TRUE(test_server()->Start()); | 619 ASSERT_TRUE(spawned_test_server()->Start()); |
620 LoadTestPage(kDebuggerTestPage); | 620 LoadTestPage(kDebuggerTestPage); |
621 DevToolsWindow* devtools_window = OpenDevToolWindowOnWebContents( | 621 DevToolsWindow* devtools_window = OpenDevToolWindowOnWebContents( |
622 GetInspectedTab(), false); | 622 GetInspectedTab(), false); |
623 | 623 |
624 scoped_refptr<content::MessageLoopRunner> runner = | 624 scoped_refptr<content::MessageLoopRunner> runner = |
625 new content::MessageLoopRunner; | 625 new content::MessageLoopRunner; |
626 DevToolsWindowTesting::Get(devtools_window)->SetCloseCallback( | 626 DevToolsWindowTesting::Get(devtools_window)->SetCloseCallback( |
627 runner->QuitClosure()); | 627 runner->QuitClosure()); |
628 | 628 |
629 ASSERT_TRUE(content::ExecuteScript( | 629 ASSERT_TRUE(content::ExecuteScript( |
630 DevToolsWindowTesting::Get(devtools_window)->main_web_contents()-> | 630 DevToolsWindowTesting::Get(devtools_window)->main_web_contents()-> |
631 GetRenderViewHost(), | 631 GetRenderViewHost(), |
632 "window.addEventListener('beforeunload'," | 632 "window.addEventListener('beforeunload'," |
633 "function(event) { while (true); });")); | 633 "function(event) { while (true); });")); |
634 CloseInspectedTab(); | 634 CloseInspectedTab(); |
635 runner->Run(); | 635 runner->Run(); |
636 } | 636 } |
637 | 637 |
638 // Tests that closing worker inspector window does not cause browser crash | 638 // Tests that closing worker inspector window does not cause browser crash |
639 // @see http://crbug.com/323031 | 639 // @see http://crbug.com/323031 |
640 IN_PROC_BROWSER_TEST_F(DevToolsBeforeUnloadTest, | 640 IN_PROC_BROWSER_TEST_F(DevToolsBeforeUnloadTest, |
641 TestWorkerWindowClosing) { | 641 TestWorkerWindowClosing) { |
642 ASSERT_TRUE(test_server()->Start()); | 642 ASSERT_TRUE(spawned_test_server()->Start()); |
643 LoadTestPage(kDebuggerTestPage); | 643 LoadTestPage(kDebuggerTestPage); |
644 DevToolsWindow* devtools_window = OpenDevToolWindowOnWebContents( | 644 DevToolsWindow* devtools_window = OpenDevToolWindowOnWebContents( |
645 GetInspectedTab(), false); | 645 GetInspectedTab(), false); |
646 | 646 |
647 OpenDevToolsPopupWindow(devtools_window); | 647 OpenDevToolsPopupWindow(devtools_window); |
648 CloseDevToolsPopupWindow(devtools_window); | 648 CloseDevToolsPopupWindow(devtools_window); |
649 } | 649 } |
650 | 650 |
651 // Tests that BeforeUnload event gets called on devtools that are opened | 651 // Tests that BeforeUnload event gets called on devtools that are opened |
652 // on another devtools. | 652 // on another devtools. |
653 // Disabled because of http://crbug.com/497857 | 653 // Disabled because of http://crbug.com/497857 |
654 IN_PROC_BROWSER_TEST_F(DevToolsBeforeUnloadTest, | 654 IN_PROC_BROWSER_TEST_F(DevToolsBeforeUnloadTest, |
655 DISABLED_TestDevToolsOnDevTools) { | 655 DISABLED_TestDevToolsOnDevTools) { |
656 ASSERT_TRUE(test_server()->Start()); | 656 ASSERT_TRUE(spawned_test_server()->Start()); |
657 LoadTestPage(kDebuggerTestPage); | 657 LoadTestPage(kDebuggerTestPage); |
658 | 658 |
659 std::vector<DevToolsWindow*> windows; | 659 std::vector<DevToolsWindow*> windows; |
660 std::vector<content::WindowedNotificationObserver*> close_observers; | 660 std::vector<content::WindowedNotificationObserver*> close_observers; |
661 content::WebContents* inspected_web_contents = GetInspectedTab(); | 661 content::WebContents* inspected_web_contents = GetInspectedTab(); |
662 for (int i = 0; i < 3; ++i) { | 662 for (int i = 0; i < 3; ++i) { |
663 DevToolsWindow* devtools_window = OpenDevToolWindowOnWebContents( | 663 DevToolsWindow* devtools_window = OpenDevToolWindowOnWebContents( |
664 inspected_web_contents, i == 0); | 664 inspected_web_contents, i == 0); |
665 windows.push_back(devtools_window); | 665 windows.push_back(devtools_window); |
666 content::WindowedNotificationObserver* close_observer = | 666 content::WindowedNotificationObserver* close_observer = |
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
831 IN_PROC_BROWSER_TEST_F(DevToolsSanityTest, TestSettings) { | 831 IN_PROC_BROWSER_TEST_F(DevToolsSanityTest, TestSettings) { |
832 OpenDevToolsWindow("about:blank", true); | 832 OpenDevToolsWindow("about:blank", true); |
833 RunTestFunction(window_, "testSettings"); | 833 RunTestFunction(window_, "testSettings"); |
834 CloseDevToolsWindow(); | 834 CloseDevToolsWindow(); |
835 } | 835 } |
836 | 836 |
837 // Tests that external navigation from inspector page is always handled by | 837 // Tests that external navigation from inspector page is always handled by |
838 // DevToolsWindow and results in inspected page navigation. | 838 // DevToolsWindow and results in inspected page navigation. |
839 IN_PROC_BROWSER_TEST_F(DevToolsSanityTest, TestDevToolsExternalNavigation) { | 839 IN_PROC_BROWSER_TEST_F(DevToolsSanityTest, TestDevToolsExternalNavigation) { |
840 OpenDevToolsWindow(kDebuggerTestPage, true); | 840 OpenDevToolsWindow(kDebuggerTestPage, true); |
841 GURL url = test_server()->GetURL(kNavigateBackTestPage); | 841 GURL url = spawned_test_server()->GetURL(kNavigateBackTestPage); |
842 ui_test_utils::UrlLoadObserver observer(url, | 842 ui_test_utils::UrlLoadObserver observer(url, |
843 content::NotificationService::AllSources()); | 843 content::NotificationService::AllSources()); |
844 ASSERT_TRUE(content::ExecuteScript( | 844 ASSERT_TRUE(content::ExecuteScript( |
845 main_web_contents(), | 845 main_web_contents(), |
846 std::string("window.location = \"") + url.spec() + "\"")); | 846 std::string("window.location = \"") + url.spec() + "\"")); |
847 observer.Wait(); | 847 observer.Wait(); |
848 | 848 |
849 ASSERT_TRUE(main_web_contents()->GetURL(). | 849 ASSERT_TRUE(main_web_contents()->GetURL(). |
850 SchemeIs(content::kChromeDevToolsScheme)); | 850 SchemeIs(content::kChromeDevToolsScheme)); |
851 ASSERT_EQ(url, GetInspectedTab()->GetURL()); | 851 ASSERT_EQ(url, GetInspectedTab()->GetURL()); |
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
929 switches::kAshBrowserTests)) | 929 switches::kAshBrowserTests)) |
930 return; | 930 return; |
931 #endif | 931 #endif |
932 | 932 |
933 RunTest("testSharedWorker", kSharedWorkerTestPage, kSharedWorkerTestWorker); | 933 RunTest("testSharedWorker", kSharedWorkerTestPage, kSharedWorkerTestWorker); |
934 } | 934 } |
935 | 935 |
936 // Disabled, crashes under Dr.Memory and ASan, http://crbug.com/432444. | 936 // Disabled, crashes under Dr.Memory and ASan, http://crbug.com/432444. |
937 IN_PROC_BROWSER_TEST_F(WorkerDevToolsSanityTest, | 937 IN_PROC_BROWSER_TEST_F(WorkerDevToolsSanityTest, |
938 DISABLED_PauseInSharedWorkerInitialization) { | 938 DISABLED_PauseInSharedWorkerInitialization) { |
939 ASSERT_TRUE(test_server()->Start()); | 939 ASSERT_TRUE(spawned_test_server()->Start()); |
940 GURL url = test_server()->GetURL(kReloadSharedWorkerTestPage); | 940 GURL url = spawned_test_server()->GetURL(kReloadSharedWorkerTestPage); |
941 ui_test_utils::NavigateToURL(browser(), url); | 941 ui_test_utils::NavigateToURL(browser(), url); |
942 | 942 |
943 scoped_refptr<WorkerData> worker_data = | 943 scoped_refptr<WorkerData> worker_data = |
944 WaitForFirstSharedWorker(kReloadSharedWorkerTestWorker); | 944 WaitForFirstSharedWorker(kReloadSharedWorkerTestWorker); |
945 OpenDevToolsWindowForSharedWorker(worker_data.get()); | 945 OpenDevToolsWindowForSharedWorker(worker_data.get()); |
946 | 946 |
947 // We should make sure that the worker inspector has loaded before | 947 // We should make sure that the worker inspector has loaded before |
948 // terminating worker. | 948 // terminating worker. |
949 RunTestFunction(window_, "testPauseInSharedWorkerInitialization1"); | 949 RunTestFunction(window_, "testPauseInSharedWorkerInitialization1"); |
950 | 950 |
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1030 (defined(OS_CHROMEOS) && defined(OFFICIAL_BUILD)) | 1030 (defined(OS_CHROMEOS) && defined(OFFICIAL_BUILD)) |
1031 #define MAYBE_TestScreenshotRecording DISABLED_TestScreenshotRecording | 1031 #define MAYBE_TestScreenshotRecording DISABLED_TestScreenshotRecording |
1032 #else | 1032 #else |
1033 #define MAYBE_TestScreenshotRecording TestScreenshotRecording | 1033 #define MAYBE_TestScreenshotRecording TestScreenshotRecording |
1034 #endif | 1034 #endif |
1035 // Tests raw headers text. | 1035 // Tests raw headers text. |
1036 IN_PROC_BROWSER_TEST_F(DevToolsPixelOutputTests, | 1036 IN_PROC_BROWSER_TEST_F(DevToolsPixelOutputTests, |
1037 MAYBE_TestScreenshotRecording) { | 1037 MAYBE_TestScreenshotRecording) { |
1038 RunTest("testScreenshotRecording", std::string()); | 1038 RunTest("testScreenshotRecording", std::string()); |
1039 } | 1039 } |
OLD | NEW |