diff options
author | jam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-11-25 23:57:04 +0000 |
---|---|---|
committer | jam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-11-25 23:57:04 +0000 |
commit | f1ce1150bfb920668006fe8836c9399c964f5568 (patch) | |
tree | 494885d16888dba3f540d209c23e62f49f06928d /chrome/browser/ssl | |
parent | 17d3f2af4646b696951b891e2811539e0f3bbda8 (diff) | |
download | chromium_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.cc | 25 |
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. |