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

Side by Side Diff: chrome/browser/ssl/security_state_model_browser_tests.cc

Issue 1473523002: Switch SecurityStateModel ownership to ChromeSecurityStateModelClient (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: delegate -> client Created 5 years 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "chrome/browser/ssl/security_state_model.h" 5 #include "chrome/browser/ssl/security_state_model.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/files/file_path.h" 8 #include "base/files/file_path.h"
9 #include "base/macros.h" 9 #include "base/macros.h"
10 #include "base/prefs/pref_service.h" 10 #include "base/prefs/pref_service.h"
11 #include "base/strings/string_split.h" 11 #include "base/strings/string_split.h"
12 #include "chrome/browser/ssl/cert_verifier_browser_test.h" 12 #include "chrome/browser/ssl/cert_verifier_browser_test.h"
13 #include "chrome/browser/ssl/chrome_security_state_model_client.h"
13 #include "chrome/browser/ssl/ssl_blocking_page.h" 14 #include "chrome/browser/ssl/ssl_blocking_page.h"
14 #include "chrome/browser/ui/browser.h" 15 #include "chrome/browser/ui/browser.h"
15 #include "chrome/browser/ui/tabs/tab_strip_model.h" 16 #include "chrome/browser/ui/tabs/tab_strip_model.h"
16 #include "chrome/common/chrome_paths.h" 17 #include "chrome/common/chrome_paths.h"
17 #include "chrome/common/chrome_switches.h" 18 #include "chrome/common/chrome_switches.h"
18 #include "chrome/common/pref_names.h" 19 #include "chrome/common/pref_names.h"
19 #include "chrome/test/base/in_process_browser_test.h" 20 #include "chrome/test/base/in_process_browser_test.h"
20 #include "chrome/test/base/ui_test_utils.h" 21 #include "chrome/test/base/ui_test_utils.h"
21 #include "content/public/browser/cert_store.h" 22 #include "content/public/browser/cert_store.h"
22 #include "content/public/browser/interstitial_page.h" 23 #include "content/public/browser/interstitial_page.h"
(...skipping 20 matching lines...) Expand all
43 FILE_PATH_LITERAL("chrome/test/data"); 44 FILE_PATH_LITERAL("chrome/test/data");
44 45
45 void CheckSecurityInfoForSecure( 46 void CheckSecurityInfoForSecure(
46 content::WebContents* contents, 47 content::WebContents* contents,
47 SecurityStateModel::SecurityLevel expect_security_level, 48 SecurityStateModel::SecurityLevel expect_security_level,
48 SecurityStateModel::SHA1DeprecationStatus expect_sha1_status, 49 SecurityStateModel::SHA1DeprecationStatus expect_sha1_status,
49 SecurityStateModel::MixedContentStatus expect_mixed_content_status, 50 SecurityStateModel::MixedContentStatus expect_mixed_content_status,
50 bool expect_cert_error) { 51 bool expect_cert_error) {
51 ASSERT_TRUE(contents); 52 ASSERT_TRUE(contents);
52 53
53 SecurityStateModel* model = SecurityStateModel::FromWebContents(contents); 54 ChromeSecurityStateModelClient* model_client =
54 ASSERT_TRUE(model); 55 ChromeSecurityStateModelClient::FromWebContents(contents);
56 ASSERT_TRUE(model_client);
55 const SecurityStateModel::SecurityInfo& security_info = 57 const SecurityStateModel::SecurityInfo& security_info =
56 model->GetSecurityInfo(); 58 model_client->GetSecurityInfo();
57 EXPECT_EQ(expect_security_level, security_info.security_level); 59 EXPECT_EQ(expect_security_level, security_info.security_level);
58 EXPECT_EQ(expect_sha1_status, security_info.sha1_deprecation_status); 60 EXPECT_EQ(expect_sha1_status, security_info.sha1_deprecation_status);
59 EXPECT_EQ(expect_mixed_content_status, security_info.mixed_content_status); 61 EXPECT_EQ(expect_mixed_content_status, security_info.mixed_content_status);
60 EXPECT_TRUE(security_info.sct_verify_statuses.empty()); 62 EXPECT_TRUE(security_info.sct_verify_statuses.empty());
61 EXPECT_TRUE(security_info.scheme_is_cryptographic); 63 EXPECT_TRUE(security_info.scheme_is_cryptographic);
62 EXPECT_EQ(expect_cert_error, 64 EXPECT_EQ(expect_cert_error,
63 net::IsCertStatusError(security_info.cert_status)); 65 net::IsCertStatusError(security_info.cert_status));
64 EXPECT_GT(security_info.security_bits, 0); 66 EXPECT_GT(security_info.security_bits, 0);
65 67
66 content::CertStore* cert_store = content::CertStore::GetInstance(); 68 content::CertStore* cert_store = content::CertStore::GetInstance();
67 scoped_refptr<net::X509Certificate> cert; 69 scoped_refptr<net::X509Certificate> cert;
68 EXPECT_TRUE(cert_store->RetrieveCert(security_info.cert_id, &cert)); 70 EXPECT_TRUE(cert_store->RetrieveCert(security_info.cert_id, &cert));
69 } 71 }
70 72
71 void CheckSecurityInfoForNonSecure(content::WebContents* contents) { 73 void CheckSecurityInfoForNonSecure(content::WebContents* contents) {
72 ASSERT_TRUE(contents); 74 ASSERT_TRUE(contents);
73 75
74 SecurityStateModel* model = SecurityStateModel::FromWebContents(contents); 76 ChromeSecurityStateModelClient* model_client =
75 ASSERT_TRUE(model); 77 ChromeSecurityStateModelClient::FromWebContents(contents);
78 ASSERT_TRUE(model_client);
76 const SecurityStateModel::SecurityInfo& security_info = 79 const SecurityStateModel::SecurityInfo& security_info =
77 model->GetSecurityInfo(); 80 model_client->GetSecurityInfo();
78 EXPECT_EQ(SecurityStateModel::NONE, security_info.security_level); 81 EXPECT_EQ(SecurityStateModel::NONE, security_info.security_level);
79 EXPECT_EQ(SecurityStateModel::NO_DEPRECATED_SHA1, 82 EXPECT_EQ(SecurityStateModel::NO_DEPRECATED_SHA1,
80 security_info.sha1_deprecation_status); 83 security_info.sha1_deprecation_status);
81 EXPECT_EQ(SecurityStateModel::NO_MIXED_CONTENT, 84 EXPECT_EQ(SecurityStateModel::NO_MIXED_CONTENT,
82 security_info.mixed_content_status); 85 security_info.mixed_content_status);
83 EXPECT_TRUE(security_info.sct_verify_statuses.empty()); 86 EXPECT_TRUE(security_info.sct_verify_statuses.empty());
84 EXPECT_FALSE(security_info.scheme_is_cryptographic); 87 EXPECT_FALSE(security_info.scheme_is_cryptographic);
85 EXPECT_FALSE(net::IsCertStatusError(security_info.cert_status)); 88 EXPECT_FALSE(net::IsCertStatusError(security_info.cert_status));
86 EXPECT_EQ(-1, security_info.security_bits); 89 EXPECT_EQ(-1, security_info.security_bits);
87 EXPECT_EQ(0, security_info.cert_id); 90 EXPECT_EQ(0, security_info.cert_id);
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
142 }; 145 };
143 146
144 IN_PROC_BROWSER_TEST_F(SecurityStateModelTest, HttpPage) { 147 IN_PROC_BROWSER_TEST_F(SecurityStateModelTest, HttpPage) {
145 ASSERT_TRUE(embedded_test_server()->Start()); 148 ASSERT_TRUE(embedded_test_server()->Start());
146 ui_test_utils::NavigateToURL( 149 ui_test_utils::NavigateToURL(
147 browser(), embedded_test_server()->GetURL("/ssl/google.html")); 150 browser(), embedded_test_server()->GetURL("/ssl/google.html"));
148 content::WebContents* contents = 151 content::WebContents* contents =
149 browser()->tab_strip_model()->GetActiveWebContents(); 152 browser()->tab_strip_model()->GetActiveWebContents();
150 ASSERT_TRUE(contents); 153 ASSERT_TRUE(contents);
151 154
152 SecurityStateModel* model = SecurityStateModel::FromWebContents(contents); 155 ChromeSecurityStateModelClient* model_client =
153 ASSERT_TRUE(model); 156 ChromeSecurityStateModelClient::FromWebContents(contents);
157 ASSERT_TRUE(model_client);
154 const SecurityStateModel::SecurityInfo& security_info = 158 const SecurityStateModel::SecurityInfo& security_info =
155 model->GetSecurityInfo(); 159 model_client->GetSecurityInfo();
156 EXPECT_EQ(SecurityStateModel::NONE, security_info.security_level); 160 EXPECT_EQ(SecurityStateModel::NONE, security_info.security_level);
157 EXPECT_EQ(SecurityStateModel::NO_DEPRECATED_SHA1, 161 EXPECT_EQ(SecurityStateModel::NO_DEPRECATED_SHA1,
158 security_info.sha1_deprecation_status); 162 security_info.sha1_deprecation_status);
159 EXPECT_EQ(SecurityStateModel::NO_MIXED_CONTENT, 163 EXPECT_EQ(SecurityStateModel::NO_MIXED_CONTENT,
160 security_info.mixed_content_status); 164 security_info.mixed_content_status);
161 EXPECT_TRUE(security_info.sct_verify_statuses.empty()); 165 EXPECT_TRUE(security_info.sct_verify_statuses.empty());
162 EXPECT_FALSE(security_info.scheme_is_cryptographic); 166 EXPECT_FALSE(security_info.scheme_is_cryptographic);
163 EXPECT_FALSE(net::IsCertStatusError(security_info.cert_status)); 167 EXPECT_FALSE(net::IsCertStatusError(security_info.cert_status));
164 EXPECT_EQ(0, security_info.cert_id); 168 EXPECT_EQ(0, security_info.cert_id);
165 EXPECT_EQ(-1, security_info.security_bits); 169 EXPECT_EQ(-1, security_info.security_bits);
(...skipping 309 matching lines...) Expand 10 before | Expand all | Expand 10 after
475 ASSERT_TRUE(https_server_.Start()); 479 ASSERT_TRUE(https_server_.Start());
476 SetUpMockCertVerifierForHttpsServer(0, net::OK); 480 SetUpMockCertVerifierForHttpsServer(0, net::OK);
477 481
478 content::WebContents* tab = 482 content::WebContents* tab =
479 browser()->tab_strip_model()->GetActiveWebContents(); 483 browser()->tab_strip_model()->GetActiveWebContents();
480 ASSERT_TRUE(tab); 484 ASSERT_TRUE(tab);
481 485
482 content::WebContents* new_contents = content::WebContents::Create( 486 content::WebContents* new_contents = content::WebContents::Create(
483 content::WebContents::CreateParams(tab->GetBrowserContext())); 487 content::WebContents::CreateParams(tab->GetBrowserContext()));
484 content::NavigationController& controller = new_contents->GetController(); 488 content::NavigationController& controller = new_contents->GetController();
485 SecurityStateModel::CreateForWebContents(new_contents); 489 ChromeSecurityStateModelClient::CreateForWebContents(new_contents);
486 CheckSecurityInfoForNonSecure(new_contents); 490 CheckSecurityInfoForNonSecure(new_contents);
487 controller.LoadURL(https_server_.GetURL("/"), content::Referrer(), 491 controller.LoadURL(https_server_.GetURL("/"), content::Referrer(),
488 ui::PAGE_TRANSITION_TYPED, std::string()); 492 ui::PAGE_TRANSITION_TYPED, std::string());
489 EXPECT_TRUE(content::WaitForLoadStop(new_contents)); 493 EXPECT_TRUE(content::WaitForLoadStop(new_contents));
490 CheckSecurityInfoForSecure(new_contents, SecurityStateModel::SECURE, 494 CheckSecurityInfoForSecure(new_contents, SecurityStateModel::SECURE,
491 SecurityStateModel::NO_DEPRECATED_SHA1, 495 SecurityStateModel::NO_DEPRECATED_SHA1,
492 SecurityStateModel::NO_MIXED_CONTENT, 496 SecurityStateModel::NO_MIXED_CONTENT,
493 false /* expect cert status error */); 497 false /* expect cert status error */);
494 498
495 browser()->tab_strip_model()->InsertWebContentsAt(0, new_contents, 499 browser()->tab_strip_model()->InsertWebContentsAt(0, new_contents,
496 TabStripModel::ADD_NONE); 500 TabStripModel::ADD_NONE);
497 CheckSecurityInfoForSecure(new_contents, SecurityStateModel::SECURE, 501 CheckSecurityInfoForSecure(new_contents, SecurityStateModel::SECURE,
498 SecurityStateModel::NO_DEPRECATED_SHA1, 502 SecurityStateModel::NO_DEPRECATED_SHA1,
499 SecurityStateModel::NO_MIXED_CONTENT, 503 SecurityStateModel::NO_MIXED_CONTENT,
500 false /* expect cert status error */); 504 false /* expect cert status error */);
501 } 505 }
502 506
503 } // namespace 507 } // namespace
OLDNEW
« no previous file with comments | « chrome/browser/ssl/security_state_model_android.cc ('k') | chrome/browser/ssl/ssl_browser_tests.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698