Index: chrome/browser/autofill/autofill_manager_unittest.cc |
diff --git a/chrome/browser/autofill/autofill_manager_unittest.cc b/chrome/browser/autofill/autofill_manager_unittest.cc |
index 8962b2d7a47baf5850d117feef2960496661b7f3..d91922f61cb844a9ab766ba4ab40e447baa7c6af 100644 |
--- a/chrome/browser/autofill/autofill_manager_unittest.cc |
+++ b/chrome/browser/autofill/autofill_manager_unittest.cc |
@@ -488,17 +488,30 @@ class TestAutofillManager : public AutofillManager { |
submitted_form_signature_ = submitted_form.FormSignature(); |
} |
+ virtual void SendPasswordSyncStateToRenderer( |
Garrett Casto
2012/04/26 23:23:59
Remove this.
|
+ content::RenderViewHost* host, bool enabled) OVERRIDE { |
+ sent_sync_states_.push_back(enabled); |
+ } |
+ |
virtual void SendPasswordGenerationStateToRenderer( |
content::RenderViewHost* host, bool enabled) OVERRIDE { |
- sent_states_.push_back(enabled); |
+ sent_enabled_states_.push_back(enabled); |
+ } |
+ |
+ const std::vector<bool>& GetSentSyncStates() { |
+ return sent_sync_states_; |
+ } |
+ |
+ const std::vector<bool>& GetSentEnabledStates() { |
+ return sent_enabled_states_; |
} |
- const std::vector<bool>& GetSentStates() { |
- return sent_states_; |
+ void ClearSentSyncStates() { |
+ sent_sync_states_.clear(); |
} |
- void ClearSentStates() { |
- sent_states_.clear(); |
+ void ClearSentEnabledStates() { |
+ sent_enabled_states_.clear(); |
} |
const std::string GetSubmittedFormSignature() { |
@@ -542,7 +555,8 @@ class TestAutofillManager : public AutofillManager { |
std::string submitted_form_signature_; |
std::vector<FieldTypeSet> expected_submitted_field_types_; |
- std::vector<bool> sent_states_; |
+ std::vector<bool> sent_sync_states_; |
+ std::vector<bool> sent_enabled_states_; |
DISALLOW_COPY_AND_ASSIGN(TestAutofillManager); |
}; |
@@ -583,6 +597,10 @@ class AutofillManagerTest : public TabContentsWrapperTestHarness { |
TabContentsWrapperTestHarness::TearDown(); |
} |
+ void UpdatePasswordSyncState(bool new_renderer) { |
+ autofill_manager_->UpdatePasswordSyncState(NULL, new_renderer); |
+ } |
+ |
void UpdatePasswordGenerationState(bool new_renderer) { |
autofill_manager_->UpdatePasswordGenerationState(NULL, new_renderer); |
} |
@@ -2891,7 +2909,7 @@ TEST_F(AutofillManagerTest, DeterminePossibleFieldTypesForUpload) { |
FormSubmitted(form); |
} |
-TEST_F(AutofillManagerTest, UpdatePasswordGenerationState) { |
+TEST_F(AutofillManagerTest, UpdatePasswordSyncState) { |
// Allow this test to control what should get synced. |
profile()->GetPrefs()->SetBoolean(prefs::kSyncKeepEverythingSynced, false); |
@@ -2904,45 +2922,77 @@ TEST_F(AutofillManagerTest, UpdatePasswordGenerationState) { |
preferred_set.Put(syncable::PREFERENCES); |
sync_service->ChangePreferredDataTypes(preferred_set); |
syncable::ModelTypeSet new_set = sync_service->GetPreferredDataTypes(); |
- UpdatePasswordGenerationState(false); |
- EXPECT_EQ(0u, autofill_manager_->GetSentStates().size()); |
+ UpdatePasswordSyncState(false); |
+ EXPECT_EQ(0u, autofill_manager_->GetSentSyncStates().size()); |
// Now sync passwords. |
preferred_set.Put(syncable::PASSWORDS); |
sync_service->ChangePreferredDataTypes(preferred_set); |
- UpdatePasswordGenerationState(false); |
- EXPECT_EQ(1u, autofill_manager_->GetSentStates().size()); |
- EXPECT_TRUE(autofill_manager_->GetSentStates()[0]); |
- autofill_manager_->ClearSentStates(); |
+ UpdatePasswordSyncState(false); |
+ EXPECT_EQ(1u, autofill_manager_->GetSentSyncStates().size()); |
+ EXPECT_TRUE(autofill_manager_->GetSentSyncStates()[0]); |
+ autofill_manager_->ClearSentSyncStates(); |
// Add some additional synced state. Nothing should be sent. |
preferred_set.Put(syncable::THEMES); |
sync_service->ChangePreferredDataTypes(preferred_set); |
- UpdatePasswordGenerationState(false); |
- EXPECT_EQ(0u, autofill_manager_->GetSentStates().size()); |
+ UpdatePasswordSyncState(false); |
+ EXPECT_EQ(0u, autofill_manager_->GetSentSyncStates().size()); |
// Disable syncing. This should disable the feature. |
sync_service->DisableForUser(); |
- UpdatePasswordGenerationState(false); |
- EXPECT_EQ(1u, autofill_manager_->GetSentStates().size()); |
- EXPECT_FALSE(autofill_manager_->GetSentStates()[0]); |
- autofill_manager_->ClearSentStates(); |
+ UpdatePasswordSyncState(false); |
+ EXPECT_EQ(1u, autofill_manager_->GetSentSyncStates().size()); |
+ EXPECT_FALSE(autofill_manager_->GetSentSyncStates()[0]); |
+ autofill_manager_->ClearSentSyncStates(); |
// Disable password manager by going incognito, and re-enable syncing. The |
// feature should still be disabled, and nothing will be sent. |
sync_service->SetSyncSetupCompleted(); |
profile()->set_incognito(true); |
+ UpdatePasswordSyncState(false); |
+ EXPECT_EQ(0u, autofill_manager_->GetSentSyncStates().size()); |
+ |
+ // When a new render_view is created, we send the state even if it's the |
+ // same. |
+ UpdatePasswordSyncState(true); |
+ EXPECT_EQ(1u, autofill_manager_->GetSentSyncStates().size()); |
+ EXPECT_FALSE(autofill_manager_->GetSentSyncStates()[0]); |
+ autofill_manager_->ClearSentSyncStates(); |
+} |
+ |
+TEST_F(AutofillManagerTest, UpdatePasswordGenerationState) { |
+ // Enabled state remains false, should not sent. |
+ profile()->GetPrefs()->SetBoolean(prefs::kPasswordGenerationEnabled, false); |
UpdatePasswordGenerationState(false); |
- EXPECT_EQ(0u, autofill_manager_->GetSentStates().size()); |
+ EXPECT_EQ(0u, autofill_manager_->GetSentEnabledStates().size()); |
+ |
+ // Enabled state from false to true, should sent true. |
+ profile()->GetPrefs()->SetBoolean(prefs::kPasswordGenerationEnabled, true); |
+ UpdatePasswordGenerationState(false); |
+ EXPECT_EQ(1u, autofill_manager_->GetSentEnabledStates().size()); |
+ EXPECT_TRUE(autofill_manager_->GetSentEnabledStates()[0]); |
+ autofill_manager_->ClearSentEnabledStates(); |
+ |
+ // Enabled states remains true, should not sent. |
+ profile()->GetPrefs()->SetBoolean(prefs::kPasswordGenerationEnabled, true); |
+ UpdatePasswordGenerationState(false); |
+ EXPECT_EQ(0u, autofill_manager_->GetSentEnabledStates().size()); |
+ |
+ // Enabled states from true to false, should sent false. |
+ profile()->GetPrefs()->SetBoolean(prefs::kPasswordGenerationEnabled, false); |
+ UpdatePasswordGenerationState(false); |
+ EXPECT_EQ(1u, autofill_manager_->GetSentEnabledStates().size()); |
+ EXPECT_FALSE(autofill_manager_->GetSentEnabledStates()[0]); |
+ autofill_manager_->ClearSentEnabledStates(); |
// When a new render_view is created, we send the state even if it's the |
// same. |
UpdatePasswordGenerationState(true); |
- EXPECT_EQ(1u, autofill_manager_->GetSentStates().size()); |
- EXPECT_FALSE(autofill_manager_->GetSentStates()[0]); |
- autofill_manager_->ClearSentStates(); |
+ EXPECT_EQ(1u, autofill_manager_->GetSentEnabledStates().size()); |
+ EXPECT_FALSE(autofill_manager_->GetSentEnabledStates()[0]); |
+ autofill_manager_->ClearSentEnabledStates(); |
} |
- |
namespace { |
class MockAutofillExternalDelegate : public TestAutofillExternalDelegate { |