| Index: chrome/browser/ssl_uitest.cc
|
| ===================================================================
|
| --- chrome/browser/ssl_uitest.cc (revision 1864)
|
| +++ chrome/browser/ssl_uitest.cc (working copy)
|
| @@ -123,13 +123,13 @@
|
| // Visits a page over http which includes broken https resources (status should
|
| // be OK).
|
| TEST_F(SSLUITest, TestHTTPWithBrokenHTTPSResource) {
|
| - TestServer httpServer(kDocRoot);
|
| + TestServer http_server(kDocRoot);
|
| HTTPSTestServer httpsServer(kHostName, kBadHTTPSPort,
|
| kDocRoot, GetExpiredCertPath());
|
| scoped_ptr<TabProxy> tab(GetActiveTabProxy());
|
|
|
| NavigateTab(tab.get(),
|
| - httpServer.TestServerPageW(L"files/ssl/page_with_unsafe_contents.html"));
|
| + http_server.TestServerPageW(L"files/ssl/page_with_unsafe_contents.html"));
|
|
|
| SecurityStyle security_style;
|
| int cert_status;
|
| @@ -470,6 +470,33 @@
|
| EXPECT_EQ(NavigationEntry::SSLStatus::NORMAL_CONTENT, mixed_content_state);
|
| }
|
|
|
| +// Tests that closing a page that has a unsafe pop-up does not crash the browser
|
| +// (bug #1966).
|
| +TEST_F(SSLUITest, TestCloseTabWithUnsafePopup) {
|
| + TestServer http_server(kDocRoot);
|
| + HTTPSTestServer bad_https_server(kHostName, kBadHTTPSPort,
|
| + kDocRoot, GetExpiredCertPath());
|
| +
|
| + scoped_ptr<TabProxy> tab(GetActiveTabProxy());
|
| + NavigateTab(tab.get(),
|
| + http_server.TestServerPageW(
|
| + L"files/ssl/page_with_unsafe_popup.html"));
|
| +
|
| + int popup_count = 0;
|
| + EXPECT_TRUE(tab->GetConstrainedWindowCount(&popup_count));
|
| + EXPECT_EQ(1, popup_count);
|
| +
|
| + // Let's add another tab to make sure the browser does not exit when we close
|
| + // the first tab.
|
| + scoped_ptr<BrowserProxy> browser_proxy(automation()->GetBrowserWindow(0));
|
| + EXPECT_TRUE(browser_proxy.get());
|
| + browser_proxy->AppendTab(
|
| + http_server.TestServerPageW(L"files/ssl/google.html"));
|
| +
|
| + // Close the first tab.
|
| + tab->Close();
|
| +}
|
| +
|
| // TODO (jcampan): more tests to do below.
|
|
|
| // Visit a page over bad https that is a redirect to a page with good https.
|
|
|