summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
Diffstat (limited to 'chrome')
-rw-r--r--chrome/browser/ssl/ssl_browser_tests.cc37
-rw-r--r--chrome/test/data/ssl/page_with_unsafe_worker.html2
-rw-r--r--chrome/test/data/ssl/unsafe_worker.js2
3 files changed, 37 insertions, 4 deletions
diff --git a/chrome/browser/ssl/ssl_browser_tests.cc b/chrome/browser/ssl/ssl_browser_tests.cc
index ad614d4..a2a8db2 100644
--- a/chrome/browser/ssl/ssl_browser_tests.cc
+++ b/chrome/browser/ssl/ssl_browser_tests.cc
@@ -164,6 +164,33 @@ class SSLUITest : public InProcessBrowserTest {
top_frame_path);
}
+ static bool GetPageWithUnsafeWorkerPath(
+ const net::TestServer& expired_https_server,
+ std::string* page_with_unsafe_worker_path) {
+ // Get the "imported.js" URL from the expired https server and
+ // substitute it into the unsafe_worker.js file.
+ GURL imported_js_url = expired_https_server.GetURL("files/ssl/imported.js");
+ std::vector<net::TestServer::StringPair> replacement_text_for_unsafe_worker;
+ replacement_text_for_unsafe_worker.push_back(
+ make_pair("REPLACE_WITH_IMPORTED_JS_URL", imported_js_url.spec()));
+ std::string unsafe_worker_path;
+ if (!net::TestServer::GetFilePathWithReplacements(
+ "unsafe_worker.js",
+ replacement_text_for_unsafe_worker,
+ &unsafe_worker_path))
+ return false;
+
+ // Now, substitute this into the page with unsafe worker.
+ std::vector<net::TestServer::StringPair>
+ replacement_text_for_page_with_unsafe_worker;
+ replacement_text_for_page_with_unsafe_worker.push_back(
+ make_pair("REPLACE_WITH_UNSAFE_WORKER_PATH", unsafe_worker_path));
+ return net::TestServer::GetFilePathWithReplacements(
+ "files/ssl/page_with_unsafe_worker.html",
+ replacement_text_for_page_with_unsafe_worker,
+ page_with_unsafe_worker_path);
+ }
+
net::TestServer https_server_;
net::TestServer https_server_expired_;
net::TestServer https_server_mismatched_;
@@ -1031,8 +1058,11 @@ IN_PROC_BROWSER_TEST_F(SSLUITest, FLAKY_TestUnsafeContentsInWorkerFiltered) {
// This page will spawn a Worker which will try to load content from
// BadCertServer.
+ std::string page_with_unsafe_worker_path;
+ ASSERT_TRUE(GetPageWithUnsafeWorkerPath(https_server_expired_,
+ &page_with_unsafe_worker_path));
ui_test_utils::NavigateToURL(browser(), https_server_.GetURL(
- "files/ssl/page_with_unsafe_worker.html"));
+ page_with_unsafe_worker_path));
TabContents* tab = browser()->GetSelectedTabContents();
// Expect Worker not to load insecure content.
CheckWorkerLoadResult(tab, false);
@@ -1059,8 +1089,11 @@ IN_PROC_BROWSER_TEST_F(SSLUITest, FLAKY_TestUnsafeContentsInWorker) {
// Navigate to safe page that has Worker loading unsafe content.
// Expect content to load but be marked as auth broken due to running insecure
// content.
+ std::string page_with_unsafe_worker_path;
+ ASSERT_TRUE(GetPageWithUnsafeWorkerPath(https_server_expired_,
+ &page_with_unsafe_worker_path));
ui_test_utils::NavigateToURL(browser(), https_server_.GetURL(
- "files/ssl/page_with_unsafe_worker.html"));
+ page_with_unsafe_worker_path));
CheckWorkerLoadResult(tab, true); // Worker loads insecure content
CheckAuthenticationBrokenState(tab, 0, true, false);
}
diff --git a/chrome/test/data/ssl/page_with_unsafe_worker.html b/chrome/test/data/ssl/page_with_unsafe_worker.html
index db8dbfb..1c6bb56 100644
--- a/chrome/test/data/ssl/page_with_unsafe_worker.html
+++ b/chrome/test/data/ssl/page_with_unsafe_worker.html
@@ -14,7 +14,7 @@ function IsContentLoaded() {
var worker;
function test() {
- worker = new Worker("unsafe_worker.js");
+ worker = new Worker("REPLACE_WITH_UNSAFE_WORKER_PATH");
worker.onmessage = function(e) {
isContentLoaded = (e.data == "loaded");
isWorkerFinished = true;
diff --git a/chrome/test/data/ssl/unsafe_worker.js b/chrome/test/data/ssl/unsafe_worker.js
index 984223d..1ad6792 100644
--- a/chrome/test/data/ssl/unsafe_worker.js
+++ b/chrome/test/data/ssl/unsafe_worker.js
@@ -1,6 +1,6 @@
var message = "failed";
try {
- importScripts("https://127.0.0.1:9666/files/ssl/imported.js");
+ importScripts("REPLACE_WITH_IMPORTED_JS_URL");
} catch(ex) {
}
postMessage(message);