summaryrefslogtreecommitdiffstats
path: root/chrome/browser/ssl
diff options
context:
space:
mode:
authorjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-11-25 23:57:04 +0000
committerjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-11-25 23:57:04 +0000
commitf1ce1150bfb920668006fe8836c9399c964f5568 (patch)
tree494885d16888dba3f540d209c23e62f49f06928d /chrome/browser/ssl
parent17d3f2af4646b696951b891e2811539e0f3bbda8 (diff)
downloadchromium_src-f1ce1150bfb920668006fe8836c9399c964f5568.zip
chromium_src-f1ce1150bfb920668006fe8836c9399c964f5568.tar.gz
chromium_src-f1ce1150bfb920668006fe8836c9399c964f5568.tar.bz2
Fix interstitials being broken when JavaScript is disabled.
This was a regression from r229819. BUG=322948 R=felt@chromium.org, rsleevi@chromium.org, felt Review URL: https://codereview.chromium.org/85773003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@237184 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/ssl')
-rw-r--r--chrome/browser/ssl/ssl_browser_tests.cc25
1 files changed, 25 insertions, 0 deletions
diff --git a/chrome/browser/ssl/ssl_browser_tests.cc b/chrome/browser/ssl/ssl_browser_tests.cc
index cba27ee..78428ec 100644
--- a/chrome/browser/ssl/ssl_browser_tests.cc
+++ b/chrome/browser/ssl/ssl_browser_tests.cc
@@ -1640,6 +1640,31 @@ IN_PROC_BROWSER_TEST_F(SSLUITestIgnoreCertErrors, TestWSS) {
EXPECT_TRUE(LowerCaseEqualsASCII(result, "pass"));
}
+// Verifies that if JavaScript is disabled interstitials aren't affected.
+// http://crbug.com/322948
+IN_PROC_BROWSER_TEST_F(SSLUITest, InterstitialNotAffectedByContentSettings) {
+ browser()->profile()->GetHostContentSettingsMap()->SetDefaultContentSetting(
+ CONTENT_SETTINGS_TYPE_JAVASCRIPT, CONTENT_SETTING_BLOCK);
+
+ ASSERT_TRUE(https_server_expired_.Start());
+ WebContents* tab = browser()->tab_strip_model()->GetActiveWebContents();
+ ui_test_utils::NavigateToURL(browser(),
+ https_server_expired_.GetURL("files/ssl/google.html"));
+ CheckAuthenticationBrokenState(tab, net::CERT_STATUS_DATE_INVALID, false,
+ true); // Interstitial showing
+
+ InterstitialPage* interstitial_page = tab->GetInterstitialPage();
+ content::RenderViewHost* interstitial_rvh =
+ interstitial_page->GetRenderViewHostForTesting();
+ bool result = false;
+ ASSERT_TRUE(content::ExecuteScriptAndExtractBool(
+ interstitial_rvh,
+ "window.domAutomationController.send(true);",
+ &result));
+ // The above will hang without the fix.
+ ASSERT_TRUE(result);
+}
+
// TODO(jcampan): more tests to do below.
// Visit a page over https that contains a frame with a redirect.