| 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/command_line.h" | 5 #include "base/command_line.h" |
| 6 #include "base/time.h" | 6 #include "base/time.h" |
| 7 #include "chrome/app/chrome_command_ids.h" | 7 #include "chrome/app/chrome_command_ids.h" |
| 8 #include "chrome/browser/tabs/tab_strip_model.h" | 8 #include "chrome/browser/tabs/tab_strip_model.h" |
| 9 #include "chrome/browser/ui/browser.h" | 9 #include "chrome/browser/ui/browser.h" |
| 10 #include "chrome/browser/ui/browser_navigator.h" | 10 #include "chrome/browser/ui/browser_navigator.h" |
| 11 #include "chrome/browser/ui/constrained_window_tab_helper.h" |
| 11 #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h" | 12 #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h" |
| 12 #include "chrome/common/chrome_notification_types.h" | 13 #include "chrome/common/chrome_notification_types.h" |
| 13 #include "chrome/common/chrome_switches.h" | 14 #include "chrome/common/chrome_switches.h" |
| 14 #include "chrome/test/base/in_process_browser_test.h" | 15 #include "chrome/test/base/in_process_browser_test.h" |
| 15 #include "chrome/test/base/ui_test_utils.h" | 16 #include "chrome/test/base/ui_test_utils.h" |
| 16 #include "content/browser/renderer_host/render_view_host.h" | 17 #include "content/browser/renderer_host/render_view_host.h" |
| 17 #include "content/browser/tab_contents/interstitial_page.h" | 18 #include "content/browser/tab_contents/interstitial_page.h" |
| 18 #include "content/browser/tab_contents/navigation_entry.h" | 19 #include "content/browser/tab_contents/navigation_entry.h" |
| 19 #include "content/browser/tab_contents/tab_contents.h" | 20 #include "content/browser/tab_contents/tab_contents.h" |
| 20 #include "content/common/notification_service.h" | 21 #include "content/common/notification_service.h" |
| (...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 118 void ProceedThroughInterstitial(TabContents* tab) { | 119 void ProceedThroughInterstitial(TabContents* tab) { |
| 119 InterstitialPage* interstitial_page = tab->interstitial_page(); | 120 InterstitialPage* interstitial_page = tab->interstitial_page(); |
| 120 ASSERT_TRUE(interstitial_page); | 121 ASSERT_TRUE(interstitial_page); |
| 121 ui_test_utils::WindowedNotificationObserver observer( | 122 ui_test_utils::WindowedNotificationObserver observer( |
| 122 content::NOTIFICATION_LOAD_STOP, | 123 content::NOTIFICATION_LOAD_STOP, |
| 123 Source<NavigationController>(&tab->controller())); | 124 Source<NavigationController>(&tab->controller())); |
| 124 interstitial_page->Proceed(); | 125 interstitial_page->Proceed(); |
| 125 observer.Wait(); | 126 observer.Wait(); |
| 126 } | 127 } |
| 127 | 128 |
| 129 int GetConstrainedWindowCount() const { |
| 130 return static_cast<int>( |
| 131 browser()->GetSelectedTabContentsWrapper()-> |
| 132 constrained_window_tab_helper()->constrained_window_count()); |
| 133 } |
| 134 |
| 128 static bool GetFilePathWithHostAndPortReplacement( | 135 static bool GetFilePathWithHostAndPortReplacement( |
| 129 const std::string& original_file_path, | 136 const std::string& original_file_path, |
| 130 const net::HostPortPair& host_port_pair, | 137 const net::HostPortPair& host_port_pair, |
| 131 std::string* replacement_path) { | 138 std::string* replacement_path) { |
| 132 std::vector<net::TestServer::StringPair> replacement_text; | 139 std::vector<net::TestServer::StringPair> replacement_text; |
| 133 replacement_text.push_back( | 140 replacement_text.push_back( |
| 134 make_pair("REPLACE_WITH_HOST_AND_PORT", host_port_pair.ToString())); | 141 make_pair("REPLACE_WITH_HOST_AND_PORT", host_port_pair.ToString())); |
| 135 return net::TestServer::GetFilePathWithReplacements( | 142 return net::TestServer::GetFilePathWithReplacements( |
| 136 original_file_path, replacement_text, replacement_path); | 143 original_file_path, replacement_text, replacement_path); |
| 137 } | 144 } |
| (...skipping 441 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 579 TabContents* tab = browser()->GetSelectedTabContents(); | 586 TabContents* tab = browser()->GetSelectedTabContents(); |
| 580 // When the bad content is filtered, the state is expected to be | 587 // When the bad content is filtered, the state is expected to be |
| 581 // authenticated. | 588 // authenticated. |
| 582 CheckAuthenticatedState(tab, false); | 589 CheckAuthenticatedState(tab, false); |
| 583 | 590 |
| 584 // Because of cross-frame scripting restrictions, we cannot access the iframe | 591 // Because of cross-frame scripting restrictions, we cannot access the iframe |
| 585 // content. So to know if the frame was loaded, we just check if a popup was | 592 // content. So to know if the frame was loaded, we just check if a popup was |
| 586 // opened (the iframe content opens one). | 593 // opened (the iframe content opens one). |
| 587 // Note: because of bug 1115868, no constrained window is opened right now. | 594 // Note: because of bug 1115868, no constrained window is opened right now. |
| 588 // Once the bug is fixed, this will do the real check. | 595 // Once the bug is fixed, this will do the real check. |
| 589 EXPECT_EQ(0, static_cast<int>(tab->constrained_window_count())); | 596 EXPECT_EQ(0, GetConstrainedWindowCount()); |
| 590 | 597 |
| 591 int img_width; | 598 int img_width; |
| 592 EXPECT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractInt( | 599 EXPECT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractInt( |
| 593 tab->render_view_host(), std::wstring(), | 600 tab->render_view_host(), std::wstring(), |
| 594 L"window.domAutomationController.send(ImageWidth());", &img_width)); | 601 L"window.domAutomationController.send(ImageWidth());", &img_width)); |
| 595 // In order to check that the image was not loaded, we check its width. | 602 // In order to check that the image was not loaded, we check its width. |
| 596 // The actual image (Google logo) is 114 pixels wide, we assume the broken | 603 // The actual image (Google logo) is 114 pixels wide, we assume the broken |
| 597 // image is less than 100. | 604 // image is less than 100. |
| 598 EXPECT_LT(img_width, 100); | 605 EXPECT_LT(img_width, 100); |
| 599 | 606 |
| (...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 854 https_server_expired_.host_port_pair(), | 861 https_server_expired_.host_port_pair(), |
| 855 &replacement_path)); | 862 &replacement_path)); |
| 856 | 863 |
| 857 ui_test_utils::NavigateToURL(browser(), | 864 ui_test_utils::NavigateToURL(browser(), |
| 858 test_server()->GetURL(replacement_path)); | 865 test_server()->GetURL(replacement_path)); |
| 859 | 866 |
| 860 TabContents* tab1 = browser()->GetSelectedTabContents(); | 867 TabContents* tab1 = browser()->GetSelectedTabContents(); |
| 861 // It is probably overkill to add a notification for a popup-opening, let's | 868 // It is probably overkill to add a notification for a popup-opening, let's |
| 862 // just poll. | 869 // just poll. |
| 863 for (int i = 0; i < 10; i++) { | 870 for (int i = 0; i < 10; i++) { |
| 864 if (static_cast<int>(tab1->constrained_window_count()) > 0) | 871 if (GetConstrainedWindowCount() > 0) |
| 865 break; | 872 break; |
| 866 MessageLoop::current()->PostDelayedTask(FROM_HERE, | 873 MessageLoop::current()->PostDelayedTask(FROM_HERE, |
| 867 new MessageLoop::QuitTask(), 1000); | 874 new MessageLoop::QuitTask(), 1000); |
| 868 ui_test_utils::RunMessageLoop(); | 875 ui_test_utils::RunMessageLoop(); |
| 869 } | 876 } |
| 870 ASSERT_EQ(1, static_cast<int>(tab1->constrained_window_count())); | 877 ASSERT_EQ(1, GetConstrainedWindowCount()); |
| 871 | 878 |
| 872 // Let's add another tab to make sure the browser does not exit when we close | 879 // Let's add another tab to make sure the browser does not exit when we close |
| 873 // the first tab. | 880 // the first tab. |
| 874 GURL url = test_server()->GetURL("files/ssl/google.html"); | 881 GURL url = test_server()->GetURL("files/ssl/google.html"); |
| 875 ui_test_utils::WindowedNotificationObserver observer( | 882 ui_test_utils::WindowedNotificationObserver observer( |
| 876 content::NOTIFICATION_LOAD_STOP, NotificationService::AllSources()); | 883 content::NOTIFICATION_LOAD_STOP, NotificationService::AllSources()); |
| 877 browser()->AddSelectedTabWithURL(url, PageTransition::TYPED); | 884 browser()->AddSelectedTabWithURL(url, PageTransition::TYPED); |
| 878 observer.Wait(); | 885 observer.Wait(); |
| 879 | 886 |
| 880 // Close the first tab. | 887 // Close the first tab. |
| (...skipping 407 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1288 | 1295 |
| 1289 // Visit a page over https that contains a frame with a redirect. | 1296 // Visit a page over https that contains a frame with a redirect. |
| 1290 | 1297 |
| 1291 // XMLHttpRequest insecure content in synchronous mode. | 1298 // XMLHttpRequest insecure content in synchronous mode. |
| 1292 | 1299 |
| 1293 // XMLHttpRequest insecure content in asynchronous mode. | 1300 // XMLHttpRequest insecure content in asynchronous mode. |
| 1294 | 1301 |
| 1295 // XMLHttpRequest over bad ssl in synchronous mode. | 1302 // XMLHttpRequest over bad ssl in synchronous mode. |
| 1296 | 1303 |
| 1297 // XMLHttpRequest over OK ssl in synchronous mode. | 1304 // XMLHttpRequest over OK ssl in synchronous mode. |
| OLD | NEW |