Commit efb14135 authored by Mohamed Amir Yosef's avatar Mohamed Amir Yosef Committed by Commit Bot

[Passwords] PasswordFormManagerForUI::MoveCredentialsToAccountStore()

This CL introduce the method
PasswordFormManagerForUI::MoveCredentialsToAccountStore() which would
be called upon user invocation of the migration flow in the UI, and
wires the call to the PasswordSaveManager.

This CL doesn't introduce the invocation logic or the UI pieces.

Bug: 1032992
Change-Id: I6e887bb1a363d45fc15152a52e6cec5db0e00c59
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2012022
Commit-Queue: Mohamed Amir Yosef <mamir@chromium.org>
Reviewed-by: default avatarVadym Doroshenko <dvadym@chromium.org>
Cr-Commit-Position: refs/heads/master@{#733588}
parent 1fd867e5
...@@ -40,6 +40,7 @@ class MockPasswordFormManagerForUI : public PasswordFormManagerForUI { ...@@ -40,6 +40,7 @@ class MockPasswordFormManagerForUI : public PasswordFormManagerForUI {
MOCK_METHOD1(OnNoInteraction, void(bool)); MOCK_METHOD1(OnNoInteraction, void(bool));
MOCK_METHOD0(PermanentlyBlacklist, void()); MOCK_METHOD0(PermanentlyBlacklist, void());
MOCK_METHOD0(OnPasswordsRevealed, void()); MOCK_METHOD0(OnPasswordsRevealed, void());
MOCK_METHOD0(MoveCredentialsToAccountStore, void());
DISALLOW_COPY_AND_ASSIGN(MockPasswordFormManagerForUI); DISALLOW_COPY_AND_ASSIGN(MockPasswordFormManagerForUI);
}; };
......
...@@ -388,6 +388,10 @@ void PasswordFormManager::OnPasswordsRevealed() { ...@@ -388,6 +388,10 @@ void PasswordFormManager::OnPasswordsRevealed() {
votes_uploader_.set_has_passwords_revealed_vote(true); votes_uploader_.set_has_passwords_revealed_vote(true);
} }
void PasswordFormManager::MoveCredentialsToAccountStore() {
password_save_manager_->MoveCredentialsToAccountStore();
}
bool PasswordFormManager::IsNewLogin() const { bool PasswordFormManager::IsNewLogin() const {
return password_save_manager_->IsNewLogin(); return password_save_manager_->IsNewLogin();
} }
......
...@@ -154,6 +154,7 @@ class PasswordFormManager : public PasswordFormManagerForUI, ...@@ -154,6 +154,7 @@ class PasswordFormManager : public PasswordFormManagerForUI,
void OnNoInteraction(bool is_update) override; void OnNoInteraction(bool is_update) override;
void PermanentlyBlacklist() override; void PermanentlyBlacklist() override;
void OnPasswordsRevealed() override; void OnPasswordsRevealed() override;
void MoveCredentialsToAccountStore() override;
bool IsNewLogin() const; bool IsNewLogin() const;
FormFetcher* GetFormFetcher(); FormFetcher* GetFormFetcher();
......
...@@ -95,6 +95,10 @@ class PasswordFormManagerForUI { ...@@ -95,6 +95,10 @@ class PasswordFormManagerForUI {
// Called when the passwords were shown on on the bubble without obfuscation. // Called when the passwords were shown on on the bubble without obfuscation.
virtual void OnPasswordsRevealed() = 0; virtual void OnPasswordsRevealed() = 0;
// A user opted to move the credentials used for a successful login from the
// profile store to the account store.
virtual void MoveCredentialsToAccountStore() = 0;
}; };
} // namespace password_manager } // namespace password_manager
......
...@@ -2524,6 +2524,12 @@ TEST_F(PasswordFormManagerTestWithMockedSaver, PermanentlyBlacklist) { ...@@ -2524,6 +2524,12 @@ TEST_F(PasswordFormManagerTestWithMockedSaver, PermanentlyBlacklist) {
EXPECT_TRUE(form_manager_->IsBlacklisted()); EXPECT_TRUE(form_manager_->IsBlacklisted());
} }
TEST_F(PasswordFormManagerTestWithMockedSaver, MoveCredentialsToAccountStore) {
TestMockTimeTaskRunner::ScopedContext scoped_context(task_runner_.get());
EXPECT_CALL(*mock_password_save_manager(), MoveCredentialsToAccountStore());
form_manager_->MoveCredentialsToAccountStore();
}
TEST_F(PasswordFormManagerTestWithMockedSaver, IsNewLogin) { TEST_F(PasswordFormManagerTestWithMockedSaver, IsNewLogin) {
EXPECT_CALL(*mock_password_save_manager(), IsNewLogin()); EXPECT_CALL(*mock_password_save_manager(), IsNewLogin());
form_manager_->IsNewLogin(); form_manager_->IsNewLogin();
......
...@@ -63,6 +63,7 @@ class PasswordDataForUI : public PasswordFormManagerForUI { ...@@ -63,6 +63,7 @@ class PasswordDataForUI : public PasswordFormManagerForUI {
void OnNoInteraction(bool is_update) override; void OnNoInteraction(bool is_update) override;
void PermanentlyBlacklist() override; void PermanentlyBlacklist() override;
void OnPasswordsRevealed() override; void OnPasswordsRevealed() override;
void MoveCredentialsToAccountStore() override;
private: private:
PasswordForm pending_form_; PasswordForm pending_form_;
...@@ -170,6 +171,8 @@ void PasswordDataForUI::PermanentlyBlacklist() {} ...@@ -170,6 +171,8 @@ void PasswordDataForUI::PermanentlyBlacklist() {}
void PasswordDataForUI::OnPasswordsRevealed() {} void PasswordDataForUI::OnPasswordsRevealed() {}
void PasswordDataForUI::MoveCredentialsToAccountStore() {}
// Returns a form from |matches| that causes a name conflict with |generated|. // Returns a form from |matches| that causes a name conflict with |generated|.
const PasswordForm* FindUsernameConflict( const PasswordForm* FindUsernameConflict(
const PasswordForm& generated, const PasswordForm& generated,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment