OLD | NEW |
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 "chrome/browser/password_manager/chrome_password_manager_client.h" | 5 #include "chrome/browser/password_manager/chrome_password_manager_client.h" |
6 | 6 |
7 #include <stdint.h> | 7 #include <stdint.h> |
8 | 8 |
9 #include <string> | 9 #include <string> |
10 | 10 |
(...skipping 21 matching lines...) Expand all Loading... |
32 #include "components/password_manager/core/common/password_manager_features.h" | 32 #include "components/password_manager/core/common/password_manager_features.h" |
33 #include "components/password_manager/core/common/password_manager_pref_names.h" | 33 #include "components/password_manager/core/common/password_manager_pref_names.h" |
34 #include "components/prefs/pref_registry_simple.h" | 34 #include "components/prefs/pref_registry_simple.h" |
35 #include "components/prefs/pref_service.h" | 35 #include "components/prefs/pref_service.h" |
36 #include "components/prefs/testing_pref_service.h" | 36 #include "components/prefs/testing_pref_service.h" |
37 #include "components/sessions/content/content_record_password_state.h" | 37 #include "components/sessions/content/content_record_password_state.h" |
38 #include "components/syncable_prefs/testing_pref_service_syncable.h" | 38 #include "components/syncable_prefs/testing_pref_service_syncable.h" |
39 #include "components/version_info/version_info.h" | 39 #include "components/version_info/version_info.h" |
40 #include "content/public/browser/browser_context.h" | 40 #include "content/public/browser/browser_context.h" |
41 #include "content/public/browser/web_contents.h" | 41 #include "content/public/browser/web_contents.h" |
| 42 #include "content/public/test/web_contents_tester.h" |
42 #include "mojo/public/cpp/bindings/binding.h" | 43 #include "mojo/public/cpp/bindings/binding.h" |
43 #include "services/shell/public/cpp/interface_provider.h" | 44 #include "services/shell/public/cpp/interface_provider.h" |
44 #include "testing/gmock/include/gmock/gmock.h" | 45 #include "testing/gmock/include/gmock/gmock.h" |
45 #include "testing/gtest/include/gtest/gtest.h" | 46 #include "testing/gtest/include/gtest/gtest.h" |
46 | 47 |
47 using content::BrowserContext; | 48 using content::BrowserContext; |
48 using content::WebContents; | 49 using content::WebContents; |
49 using sessions::GetPasswordStateFromNavigation; | 50 using sessions::GetPasswordStateFromNavigation; |
50 using sessions::SerializedNavigationEntry; | 51 using sessions::SerializedNavigationEntry; |
51 using testing::Return; | 52 using testing::Return; |
(...skipping 312 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
364 kPasswordManagerSettingsBehaviourChangeDisabledGroupName); | 365 kPasswordManagerSettingsBehaviourChangeDisabledGroupName); |
365 prefs()->SetUserPref(password_manager::prefs::kPasswordManagerSavingEnabled, | 366 prefs()->SetUserPref(password_manager::prefs::kPasswordManagerSavingEnabled, |
366 new base::FundamentalValue(true)); | 367 new base::FundamentalValue(true)); |
367 EXPECT_TRUE(client->IsFillingEnabledForCurrentPage()); | 368 EXPECT_TRUE(client->IsFillingEnabledForCurrentPage()); |
368 prefs()->SetUserPref(password_manager::prefs::kPasswordManagerSavingEnabled, | 369 prefs()->SetUserPref(password_manager::prefs::kPasswordManagerSavingEnabled, |
369 new base::FundamentalValue(false)); | 370 new base::FundamentalValue(false)); |
370 EXPECT_TRUE(client->IsFillingEnabledForCurrentPage()); | 371 EXPECT_TRUE(client->IsFillingEnabledForCurrentPage()); |
371 } | 372 } |
372 | 373 |
373 TEST_F(ChromePasswordManagerClientTest, SavingAndFillingEnabledConditionsTest) { | 374 TEST_F(ChromePasswordManagerClientTest, SavingAndFillingEnabledConditionsTest) { |
| 375 std::unique_ptr<WebContents> test_web_contents( |
| 376 content::WebContentsTester::CreateTestWebContents( |
| 377 web_contents()->GetBrowserContext(), nullptr)); |
374 std::unique_ptr<MockChromePasswordManagerClient> client( | 378 std::unique_ptr<MockChromePasswordManagerClient> client( |
375 new MockChromePasswordManagerClient(web_contents())); | 379 new MockChromePasswordManagerClient(test_web_contents.get())); |
376 // Functionality disabled if there is SSL errors. | 380 // Functionality disabled if there is SSL errors. |
377 EXPECT_CALL(*client, DidLastPageLoadEncounterSSLErrors()) | 381 EXPECT_CALL(*client, DidLastPageLoadEncounterSSLErrors()) |
378 .WillRepeatedly(Return(true)); | 382 .WillRepeatedly(Return(true)); |
379 EXPECT_FALSE(client->IsSavingAndFillingEnabledForCurrentPage()); | 383 EXPECT_FALSE(client->IsSavingAndFillingEnabledForCurrentPage()); |
380 EXPECT_FALSE(client->IsFillingEnabledForCurrentPage()); | 384 EXPECT_FALSE(client->IsFillingEnabledForCurrentPage()); |
381 | 385 |
382 // Functionality disabled if there are SSL errors and the manager itself is | 386 // Functionality disabled if there are SSL errors and the manager itself is |
383 // disabled. | 387 // disabled. |
384 prefs()->SetUserPref(password_manager::prefs::kPasswordManagerSavingEnabled, | 388 prefs()->SetUserPref(password_manager::prefs::kPasswordManagerSavingEnabled, |
385 new base::FundamentalValue(false)); | 389 new base::FundamentalValue(false)); |
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
541 // State transition: true->false (retains true) | 545 // State transition: true->false (retains true) |
542 TEST_F(ChromePasswordManagerClientTest, AnnotateNavigationEntryTrueToFalse) { | 546 TEST_F(ChromePasswordManagerClientTest, AnnotateNavigationEntryTrueToFalse) { |
543 SetupNavigationForAnnotation(); | 547 SetupNavigationForAnnotation(); |
544 | 548 |
545 GetClient()->AnnotateNavigationEntry(true); | 549 GetClient()->AnnotateNavigationEntry(true); |
546 GetClient()->AnnotateNavigationEntry(false); | 550 GetClient()->AnnotateNavigationEntry(false); |
547 EXPECT_EQ( | 551 EXPECT_EQ( |
548 SerializedNavigationEntry::HAS_PASSWORD_FIELD, | 552 SerializedNavigationEntry::HAS_PASSWORD_FIELD, |
549 GetPasswordStateFromNavigation(*controller().GetLastCommittedEntry())); | 553 GetPasswordStateFromNavigation(*controller().GetLastCommittedEntry())); |
550 } | 554 } |
OLD | NEW |