| Index: chrome/browser/ssl/chrome_security_state_model_client_browser_tests.cc
|
| diff --git a/chrome/browser/ssl/chrome_security_state_model_client_browser_tests.cc b/chrome/browser/ssl/chrome_security_state_model_client_browser_tests.cc
|
| index c516ec5c3559ab6cb451c43554246a5efcd9208f..fb4655b99a2b3ec219e48403530ea043cb81986f 100644
|
| --- a/chrome/browser/ssl/chrome_security_state_model_client_browser_tests.cc
|
| +++ b/chrome/browser/ssl/chrome_security_state_model_client_browser_tests.cc
|
| @@ -867,6 +867,55 @@ IN_PROC_BROWSER_TEST_F(SecurityStateModelLoadingTest, NavigationStateChanges) {
|
| browser()->tab_strip_model()->GetActiveWebContents());
|
| }
|
|
|
| +// Tests that the NavigationEntry's flags for nonsecure password/credit
|
| +// card inputs are reflected in the VisibleSecurityState.
|
| +IN_PROC_BROWSER_TEST_F(ChromeSecurityStateModelClientTest,
|
| + VisibleSecurityStateNonsecureFormInputs) {
|
| + ASSERT_TRUE(https_server_.Start());
|
| + ui_test_utils::NavigateToURL(browser(),
|
| + https_server_.GetURL("/ssl/google.html"));
|
| +
|
| + content::WebContents* contents =
|
| + browser()->tab_strip_model()->GetActiveWebContents();
|
| + ASSERT_TRUE(contents);
|
| +
|
| + ChromeSecurityStateModelClient* model_client =
|
| + ChromeSecurityStateModelClient::FromWebContents(contents);
|
| + ASSERT_TRUE(model_client);
|
| +
|
| + // First, test that if the flags aren't set on the NavigationEntry,
|
| + // then they also aren't set on the VisibleSecurityState.
|
| + content::SSLStatus& ssl_status =
|
| + contents->GetController().GetVisibleEntry()->GetSSL();
|
| + ASSERT_FALSE(ssl_status.content_status &
|
| + content::SSLStatus::DISPLAYED_NONSECURE_PASSWORD_FIELD);
|
| + ASSERT_FALSE(ssl_status.content_status &
|
| + content::SSLStatus::DISPLAYED_NONSECURE_CREDIT_CARD_FIELD);
|
| + SecurityStateModel::VisibleSecurityState
|
| + visible_security_state_no_nonsecure_inputs;
|
| + model_client->GetVisibleSecurityState(
|
| + &visible_security_state_no_nonsecure_inputs);
|
| + EXPECT_FALSE(visible_security_state_no_nonsecure_inputs
|
| + .displayed_nonsecure_password_field);
|
| + EXPECT_FALSE(visible_security_state_no_nonsecure_inputs
|
| + .displayed_nonsecure_credit_card_field);
|
| +
|
| + // Now, set the flags on the NavigationEntry and test that they are
|
| + // reflected in the VisibleSecurityState.
|
| + ssl_status.content_status |=
|
| + content::SSLStatus::DISPLAYED_NONSECURE_PASSWORD_FIELD;
|
| + ssl_status.content_status |=
|
| + content::SSLStatus::DISPLAYED_NONSECURE_CREDIT_CARD_FIELD;
|
| + SecurityStateModel::VisibleSecurityState
|
| + visible_security_state_nonsecure_inputs;
|
| + model_client->GetVisibleSecurityState(
|
| + &visible_security_state_nonsecure_inputs);
|
| + EXPECT_TRUE(visible_security_state_nonsecure_inputs
|
| + .displayed_nonsecure_password_field);
|
| + EXPECT_TRUE(visible_security_state_nonsecure_inputs
|
| + .displayed_nonsecure_credit_card_field);
|
| +}
|
| +
|
| // Tests that the SecurityStateModel for a WebContents is up to date
|
| // when the WebContents is inserted into a Browser's TabStripModel.
|
| IN_PROC_BROWSER_TEST_F(ChromeSecurityStateModelClientTest, AddedTab) {
|
|
|