Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(111)

Unified Diff: content/browser/service_worker/service_worker_browsertest.cc

Issue 877623002: [ServiceWorker] Fills SSLInfo of the response from a SW with the SSLInfo of the SW script. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | content/browser/service_worker/service_worker_context_request_handler.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/browser/service_worker/service_worker_browsertest.cc
diff --git a/content/browser/service_worker/service_worker_browsertest.cc b/content/browser/service_worker/service_worker_browsertest.cc
index 4e3574436a07ee7c57560f3683c2d4d36684cf36..443c87d0bcd6448cf994357501e15194f8986065 100644
--- a/content/browser/service_worker/service_worker_browsertest.cc
+++ b/content/browser/service_worker/service_worker_browsertest.cc
@@ -21,11 +21,14 @@
#include "content/common/service_worker/service_worker_types.h"
#include "content/public/browser/browser_context.h"
#include "content/public/browser/browser_thread.h"
+#include "content/public/browser/navigation_entry.h"
#include "content/public/browser/render_process_host.h"
#include "content/public/browser/storage_partition.h"
#include "content/public/browser/web_contents.h"
#include "content/public/common/content_switches.h"
#include "content/public/common/referrer.h"
+#include "content/public/common/security_style.h"
+#include "content/public/common/ssl_status.h"
#include "content/public/test/browser_test_utils.h"
#include "content/public/test/content_browser_test.h"
#include "content/public/test/content_browser_test_utils.h"
@@ -766,45 +769,110 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, SyncEventHandled) {
}
IN_PROC_BROWSER_TEST_F(ServiceWorkerBrowserTest, Reload) {
- const std::string kPageUrl = "/service_worker/reload.html";
- const std::string kWorkerUrl = "/service_worker/fetch_event_reload.js";
- {
- scoped_refptr<WorkerActivatedObserver> observer =
- new WorkerActivatedObserver(wrapper());
- observer->Init();
- public_context()->RegisterServiceWorker(
- embedded_test_server()->GetURL(kPageUrl),
- embedded_test_server()->GetURL(kWorkerUrl),
- base::Bind(&ExpectResultAndRun, true, base::Bind(&base::DoNothing)));
- observer->Wait();
- }
- {
- const base::string16 title = base::ASCIIToUTF16("reload=false");
- TitleWatcher title_watcher(shell()->web_contents(), title);
- NavigateToURL(shell(), embedded_test_server()->GetURL(kPageUrl));
- EXPECT_EQ(title, title_watcher.WaitAndGetTitle());
- }
- {
- const base::string16 title = base::ASCIIToUTF16("reload=true");
- TitleWatcher title_watcher(shell()->web_contents(), title);
- ReloadBlockUntilNavigationsComplete(shell(), 1);
- EXPECT_EQ(title, title_watcher.WaitAndGetTitle());
- }
+ const char kPageUrl[] = "/service_worker/reload.html";
+ const char kWorkerUrl[] = "/service_worker/fetch_event_reload.js";
+ scoped_refptr<WorkerActivatedObserver> observer =
+ new WorkerActivatedObserver(wrapper());
+ observer->Init();
+ public_context()->RegisterServiceWorker(
+ embedded_test_server()->GetURL(kPageUrl),
+ embedded_test_server()->GetURL(kWorkerUrl),
+ base::Bind(&ExpectResultAndRun, true, base::Bind(&base::DoNothing)));
+ observer->Wait();
+
+ const base::string16 title1 = base::ASCIIToUTF16("reload=false");
+ TitleWatcher title_watcher1(shell()->web_contents(), title1);
+ NavigateToURL(shell(), embedded_test_server()->GetURL(kPageUrl));
+ EXPECT_EQ(title1, title_watcher1.WaitAndGetTitle());
+
+ const base::string16 title2 = base::ASCIIToUTF16("reload=true");
+ TitleWatcher title_watcher2(shell()->web_contents(), title2);
+ ReloadBlockUntilNavigationsComplete(shell(), 1);
+ EXPECT_EQ(title2, title_watcher2.WaitAndGetTitle());
+
shell()->Close();
- {
- base::RunLoop run_loop;
- public_context()->UnregisterServiceWorker(
- embedded_test_server()->GetURL(kPageUrl),
- base::Bind(&ExpectResultAndRun, true, run_loop.QuitClosure()));
- run_loop.Run();
- }
+
+ base::RunLoop run_loop;
+ public_context()->UnregisterServiceWorker(
+ embedded_test_server()->GetURL(kPageUrl),
+ base::Bind(&ExpectResultAndRun, true, run_loop.QuitClosure()));
+ run_loop.Run();
+}
+
+IN_PROC_BROWSER_TEST_F(ServiceWorkerBrowserTest,
+ ResponseFromHTTPSServiceWorkerIsMarkedAsSecure) {
+ const char kPageUrl[] = "files/service_worker/fetch_event_blob.html";
+ const char kWorkerUrl[] = "files/service_worker/fetch_event_blob.js";
+ net::SpawnedTestServer https_server(
+ net::SpawnedTestServer::TYPE_HTTPS,
+ net::BaseTestServer::SSLOptions(
+ net::BaseTestServer::SSLOptions::CERT_OK),
+ base::FilePath(FILE_PATH_LITERAL("content/test/data/")));
+ ASSERT_TRUE(https_server.Start());
+
+ scoped_refptr<WorkerActivatedObserver> observer =
+ new WorkerActivatedObserver(wrapper());
+ observer->Init();
+ public_context()->RegisterServiceWorker(
+ https_server.GetURL(kPageUrl),
+ https_server.GetURL(kWorkerUrl),
+ base::Bind(&ExpectResultAndRun, true, base::Bind(&base::DoNothing)));
+ observer->Wait();
+
+ const base::string16 title = base::ASCIIToUTF16("Title");
+ TitleWatcher title_watcher(shell()->web_contents(), title);
+ NavigateToURL(shell(), https_server.GetURL(kPageUrl));
+ EXPECT_EQ(title, title_watcher.WaitAndGetTitle());
+ EXPECT_FALSE(shell()->web_contents()->DisplayedInsecureContent());
+ NavigationEntry* entry =
+ shell()->web_contents()->GetController().GetVisibleEntry();
+ EXPECT_EQ(SECURITY_STYLE_AUTHENTICATED, entry->GetSSL().security_style);
+
+ shell()->Close();
+
+ base::RunLoop run_loop;
+ public_context()->UnregisterServiceWorker(
+ https_server.GetURL(kPageUrl),
+ base::Bind(&ExpectResultAndRun, true, run_loop.QuitClosure()));
+ run_loop.Run();
+}
+
+IN_PROC_BROWSER_TEST_F(ServiceWorkerBrowserTest,
+ ResponseFromHTTPServiceWorkerIsNotMarkedAsSecure) {
+ const char kPageUrl[] = "/service_worker/fetch_event_blob.html";
+ const char kWorkerUrl[] = "/service_worker/fetch_event_blob.js";
+ scoped_refptr<WorkerActivatedObserver> observer =
+ new WorkerActivatedObserver(wrapper());
+ observer->Init();
+ public_context()->RegisterServiceWorker(
+ embedded_test_server()->GetURL(kPageUrl),
+ embedded_test_server()->GetURL(kWorkerUrl),
+ base::Bind(&ExpectResultAndRun, true, base::Bind(&base::DoNothing)));
+ observer->Wait();
+
+ const base::string16 title = base::ASCIIToUTF16("Title");
+ TitleWatcher title_watcher(shell()->web_contents(), title);
+ NavigateToURL(shell(), embedded_test_server()->GetURL(kPageUrl));
+ EXPECT_EQ(title, title_watcher.WaitAndGetTitle());
+ EXPECT_FALSE(shell()->web_contents()->DisplayedInsecureContent());
+ NavigationEntry* entry =
+ shell()->web_contents()->GetController().GetVisibleEntry();
+ EXPECT_EQ(SECURITY_STYLE_UNAUTHENTICATED, entry->GetSSL().security_style);
+
+ shell()->Close();
+
+ base::RunLoop run_loop;
+ public_context()->UnregisterServiceWorker(
+ embedded_test_server()->GetURL(kPageUrl),
+ base::Bind(&ExpectResultAndRun, true, run_loop.QuitClosure()));
+ run_loop.Run();
}
IN_PROC_BROWSER_TEST_F(ServiceWorkerBrowserTest, ImportsBustMemcache) {
- const std::string kScopeUrl = "/service_worker/imports_bust_memcache_scope/";
- const std::string kPageUrl = "/service_worker/imports_bust_memcache.html";
- const std::string kScriptUrl = "/service_worker/worker_with_one_import.js";
- const std::string kImportUrl = "/service_worker/long_lived_import.js";
+ const char kScopeUrl[] = "/service_worker/imports_bust_memcache_scope/";
+ const char kPageUrl[] = "/service_worker/imports_bust_memcache.html";
+ const char kScriptUrl[] = "/service_worker/worker_with_one_import.js";
+ const char kImportUrl[] = "/service_worker/long_lived_import.js";
const base::string16 kOKTitle(base::ASCIIToUTF16("OK"));
const base::string16 kFailTitle(base::ASCIIToUTF16("FAIL"));
@@ -878,8 +946,8 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerBlackBoxBrowserTest, MAYBE_Registration) {
shell()->Close();
EXPECT_EQ(0, CountRenderProcessHosts());
- const std::string kWorkerUrl = "/service_worker/fetch_event.js";
- const std::string kScope = "/service_worker/";
+ const char kWorkerUrl[] = "/service_worker/fetch_event.js";
+ const char kScope[] = "/service_worker/";
// Unregistering nothing should return false.
{
@@ -953,7 +1021,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerBlackBoxBrowserTest, MAYBE_Registration) {
IN_PROC_BROWSER_TEST_F(ServiceWorkerBrowserTest, CrossSiteTransfer) {
// The first page registers a service worker.
- const std::string kRegisterPageUrl = "/service_worker/cross_site_xfer.html";
+ const char kRegisterPageUrl[] = "/service_worker/cross_site_xfer.html";
const base::string16 kOKTitle1(base::ASCIIToUTF16("OK_1"));
const base::string16 kFailTitle1(base::ASCIIToUTF16("FAIL_1"));
content::TitleWatcher title_watcher1(shell()->web_contents(), kOKTitle1);
@@ -966,7 +1034,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerBrowserTest, CrossSiteTransfer) {
ShellContentBrowserClient::SetSwapProcessesForRedirect(true);
// The second pages loads via the serviceworker including a subresource.
- const std::string kConfirmPageUrl =
+ const char kConfirmPageUrl[] =
"/service_worker/cross_site_xfer_scope/"
"cross_site_xfer_confirm_via_serviceworker.html";
const base::string16 kOKTitle2(base::ASCIIToUTF16("OK_2"));
« no previous file with comments | « no previous file | content/browser/service_worker/service_worker_context_request_handler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698