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

Side by Side 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: rebase Created 5 years, 10 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/bind.h" 5 #include "base/bind.h"
6 #include "base/callback.h" 6 #include "base/callback.h"
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/run_loop.h" 8 #include "base/run_loop.h"
9 #include "base/strings/utf_string_conversions.h" 9 #include "base/strings/utf_string_conversions.h"
10 #include "content/browser/fileapi/chrome_blob_storage_context.h" 10 #include "content/browser/fileapi/chrome_blob_storage_context.h"
11 #include "content/browser/service_worker/embedded_worker_instance.h" 11 #include "content/browser/service_worker/embedded_worker_instance.h"
12 #include "content/browser/service_worker/embedded_worker_registry.h" 12 #include "content/browser/service_worker/embedded_worker_registry.h"
13 #include "content/browser/service_worker/service_worker_context_core.h" 13 #include "content/browser/service_worker/service_worker_context_core.h"
14 #include "content/browser/service_worker/service_worker_context_observer.h" 14 #include "content/browser/service_worker/service_worker_context_observer.h"
15 #include "content/browser/service_worker/service_worker_context_wrapper.h" 15 #include "content/browser/service_worker/service_worker_context_wrapper.h"
16 #include "content/browser/service_worker/service_worker_registration.h" 16 #include "content/browser/service_worker/service_worker_registration.h"
17 #include "content/browser/service_worker/service_worker_test_utils.h" 17 #include "content/browser/service_worker/service_worker_test_utils.h"
18 #include "content/browser/service_worker/service_worker_version.h" 18 #include "content/browser/service_worker/service_worker_version.h"
19 #include "content/common/service_worker/service_worker_messages.h" 19 #include "content/common/service_worker/service_worker_messages.h"
20 #include "content/common/service_worker/service_worker_status_code.h" 20 #include "content/common/service_worker/service_worker_status_code.h"
21 #include "content/common/service_worker/service_worker_types.h" 21 #include "content/common/service_worker/service_worker_types.h"
22 #include "content/public/browser/browser_context.h" 22 #include "content/public/browser/browser_context.h"
23 #include "content/public/browser/browser_thread.h" 23 #include "content/public/browser/browser_thread.h"
24 #include "content/public/browser/navigation_entry.h"
24 #include "content/public/browser/render_process_host.h" 25 #include "content/public/browser/render_process_host.h"
25 #include "content/public/browser/storage_partition.h" 26 #include "content/public/browser/storage_partition.h"
26 #include "content/public/browser/web_contents.h" 27 #include "content/public/browser/web_contents.h"
27 #include "content/public/common/content_switches.h" 28 #include "content/public/common/content_switches.h"
28 #include "content/public/common/referrer.h" 29 #include "content/public/common/referrer.h"
30 #include "content/public/common/security_style.h"
31 #include "content/public/common/ssl_status.h"
29 #include "content/public/test/browser_test_utils.h" 32 #include "content/public/test/browser_test_utils.h"
30 #include "content/public/test/content_browser_test.h" 33 #include "content/public/test/content_browser_test.h"
31 #include "content/public/test/content_browser_test_utils.h" 34 #include "content/public/test/content_browser_test_utils.h"
32 #include "content/shell/browser/shell.h" 35 #include "content/shell/browser/shell.h"
33 #include "content/shell/browser/shell_content_browser_client.h" 36 #include "content/shell/browser/shell_content_browser_client.h"
34 #include "net/test/embedded_test_server/embedded_test_server.h" 37 #include "net/test/embedded_test_server/embedded_test_server.h"
35 #include "net/test/embedded_test_server/http_request.h" 38 #include "net/test/embedded_test_server/http_request.h"
36 #include "net/test/embedded_test_server/http_response.h" 39 #include "net/test/embedded_test_server/http_response.h"
37 #include "net/url_request/url_request_filter.h" 40 #include "net/url_request/url_request_filter.h"
38 #include "net/url_request/url_request_interceptor.h" 41 #include "net/url_request/url_request_interceptor.h"
(...skipping 754 matching lines...) Expand 10 before | Expand all | Expand 10 after
793 shell()->Close(); 796 shell()->Close();
794 { 797 {
795 base::RunLoop run_loop; 798 base::RunLoop run_loop;
796 public_context()->UnregisterServiceWorker( 799 public_context()->UnregisterServiceWorker(
797 embedded_test_server()->GetURL(kPageUrl), 800 embedded_test_server()->GetURL(kPageUrl),
798 base::Bind(&ExpectResultAndRun, true, run_loop.QuitClosure())); 801 base::Bind(&ExpectResultAndRun, true, run_loop.QuitClosure()));
799 run_loop.Run(); 802 run_loop.Run();
800 } 803 }
801 } 804 }
802 805
806 IN_PROC_BROWSER_TEST_F(ServiceWorkerBrowserTest,
807 ResponseFromHTTPSServiceWorkerIsMarkedAsSecure) {
808 net::SpawnedTestServer https_server(
809 net::SpawnedTestServer::TYPE_HTTPS,
810 net::BaseTestServer::SSLOptions(
811 net::BaseTestServer::SSLOptions::CERT_OK),
812 base::FilePath(FILE_PATH_LITERAL("content/test/data/")));
813 ASSERT_TRUE(https_server.Start());
814 const std::string kPageUrl = "files/service_worker/fetch_event_blob.html";
Ryan Sleevi 2015/01/30 23:20:43 nit: I find the "const std::string" here a little
horo 2015/01/31 08:34:07 Done.
815 const std::string kWorkerUrl = "files/service_worker/fetch_event_blob.js";
816 {
817 scoped_refptr<WorkerActivatedObserver> observer =
818 new WorkerActivatedObserver(wrapper());
819 observer->Init();
820 public_context()->RegisterServiceWorker(
821 https_server.GetURL(kPageUrl),
822 https_server.GetURL(kWorkerUrl),
823 base::Bind(&ExpectResultAndRun, true, base::Bind(&base::DoNothing)));
824 observer->Wait();
825 }
Ryan Sleevi 2015/01/30 23:20:43 Why is this in a block? Is the destruction of obse
horo 2015/01/31 08:34:07 Removed the bracket.
826 {
827 const base::string16 title = base::ASCIIToUTF16("Title");
828 TitleWatcher title_watcher(shell()->web_contents(), title);
829 NavigateToURL(shell(), https_server.GetURL(kPageUrl));
830 EXPECT_EQ(title, title_watcher.WaitAndGetTitle());
831 EXPECT_FALSE(shell()->web_contents()->DisplayedInsecureContent());
832 NavigationEntry* entry =
833 shell()->web_contents()->GetController().GetVisibleEntry();
834 EXPECT_EQ(SECURITY_STYLE_AUTHENTICATED, entry->GetSSL().security_style);
835 }
Ryan Sleevi 2015/01/30 23:20:43 Why is this in a block?
horo 2015/01/31 08:34:07 Removed the bracket.
836 shell()->Close();
837 {
838 base::RunLoop run_loop;
839 public_context()->UnregisterServiceWorker(
840 https_server.GetURL(kPageUrl),
841 base::Bind(&ExpectResultAndRun, true, run_loop.QuitClosure()));
842 run_loop.Run();
843 }
Ryan Sleevi 2015/01/30 23:20:43 Why is this in a block? Is the destruction of the
horo 2015/01/31 08:34:07 We don't need put them to the block. Removed the b
844 }
845
846 IN_PROC_BROWSER_TEST_F(ServiceWorkerBrowserTest,
847 ResponseFromHTTPServiceWorkerIsNotMarkedAsSecure) {
848 const std::string kPageUrl = "/service_worker/fetch_event_blob.html";
849 const std::string kWorkerUrl = "/service_worker/fetch_event_blob.js";
850 {
Ryan Sleevi 2015/01/30 23:20:43 ditto comments above with these tests.
horo 2015/01/31 08:34:07 Done.
851 scoped_refptr<WorkerActivatedObserver> observer =
852 new WorkerActivatedObserver(wrapper());
853 observer->Init();
854 public_context()->RegisterServiceWorker(
855 embedded_test_server()->GetURL(kPageUrl),
856 embedded_test_server()->GetURL(kWorkerUrl),
857 base::Bind(&ExpectResultAndRun, true, base::Bind(&base::DoNothing)));
858 observer->Wait();
859 }
860 {
861 const base::string16 title = base::ASCIIToUTF16("Title");
862 TitleWatcher title_watcher(shell()->web_contents(), title);
863 NavigateToURL(shell(), embedded_test_server()->GetURL(kPageUrl));
864 EXPECT_EQ(title, title_watcher.WaitAndGetTitle());
865 EXPECT_FALSE(shell()->web_contents()->DisplayedInsecureContent());
866 NavigationEntry* entry =
867 shell()->web_contents()->GetController().GetVisibleEntry();
868 EXPECT_EQ(SECURITY_STYLE_UNAUTHENTICATED, entry->GetSSL().security_style);
869 }
870 shell()->Close();
871 {
872 base::RunLoop run_loop;
873 public_context()->UnregisterServiceWorker(
874 embedded_test_server()->GetURL(kPageUrl),
875 base::Bind(&ExpectResultAndRun, true, run_loop.QuitClosure()));
876 run_loop.Run();
877 }
878 }
879
803 IN_PROC_BROWSER_TEST_F(ServiceWorkerBrowserTest, ImportsBustMemcache) { 880 IN_PROC_BROWSER_TEST_F(ServiceWorkerBrowserTest, ImportsBustMemcache) {
804 const std::string kScopeUrl = "/service_worker/imports_bust_memcache_scope/"; 881 const std::string kScopeUrl = "/service_worker/imports_bust_memcache_scope/";
805 const std::string kPageUrl = "/service_worker/imports_bust_memcache.html"; 882 const std::string kPageUrl = "/service_worker/imports_bust_memcache.html";
806 const std::string kScriptUrl = "/service_worker/worker_with_one_import.js"; 883 const std::string kScriptUrl = "/service_worker/worker_with_one_import.js";
807 const std::string kImportUrl = "/service_worker/long_lived_import.js"; 884 const std::string kImportUrl = "/service_worker/long_lived_import.js";
808 const base::string16 kOKTitle(base::ASCIIToUTF16("OK")); 885 const base::string16 kOKTitle(base::ASCIIToUTF16("OK"));
809 const base::string16 kFailTitle(base::ASCIIToUTF16("FAIL")); 886 const base::string16 kFailTitle(base::ASCIIToUTF16("FAIL"));
810 887
811 RunOnIOThread( 888 RunOnIOThread(
812 base::Bind(&CreateLongLivedResourceInterceptors, 889 base::Bind(&CreateLongLivedResourceInterceptors,
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after
972 const base::string16 kOKTitle2(base::ASCIIToUTF16("OK_2")); 1049 const base::string16 kOKTitle2(base::ASCIIToUTF16("OK_2"));
973 const base::string16 kFailTitle2(base::ASCIIToUTF16("FAIL_2")); 1050 const base::string16 kFailTitle2(base::ASCIIToUTF16("FAIL_2"));
974 content::TitleWatcher title_watcher2(shell()->web_contents(), kOKTitle2); 1051 content::TitleWatcher title_watcher2(shell()->web_contents(), kOKTitle2);
975 title_watcher2.AlsoWaitForTitle(kFailTitle2); 1052 title_watcher2.AlsoWaitForTitle(kFailTitle2);
976 1053
977 NavigateToURL(shell(), embedded_test_server()->GetURL(kConfirmPageUrl)); 1054 NavigateToURL(shell(), embedded_test_server()->GetURL(kConfirmPageUrl));
978 EXPECT_EQ(kOKTitle2, title_watcher2.WaitAndGetTitle()); 1055 EXPECT_EQ(kOKTitle2, title_watcher2.WaitAndGetTitle());
979 } 1056 }
980 1057
981 } // namespace content 1058 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698