Commit 378bdf9d authored by Mohamed Amir Yosef's avatar Mohamed Amir Yosef Committed by Commit Bot

[Passwords] Rename PasswordGenerationState to Manager

The name PasswordGenerationState is kinda misleading. The class does
more than keeping the state of the generation. It also modifies the
underlying password store.

Change-Id: If21a78b11268fe7a4a2d2c8adea9c769bb4351f4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1882311Reviewed-by: default avatarVasilii Sukhanov <vasilii@chromium.org>
Commit-Queue: Vasilii Sukhanov <vasilii@chromium.org>
Commit-Queue: Mohamed Amir Yosef <mamir@chromium.org>
Auto-Submit: Mohamed Amir Yosef <mamir@chromium.org>
Cr-Commit-Position: refs/heads/master@{#709835}
parent 1cf04352
...@@ -139,8 +139,8 @@ jumbo_static_library("browser") { ...@@ -139,8 +139,8 @@ jumbo_static_library("browser") {
"password_form_user_action.h", "password_form_user_action.h",
"password_generation_frame_helper.cc", "password_generation_frame_helper.cc",
"password_generation_frame_helper.h", "password_generation_frame_helper.h",
"password_generation_state.cc", "password_generation_manager.cc",
"password_generation_state.h", "password_generation_manager.h",
"password_leak_history_consumer.cc", "password_leak_history_consumer.cc",
"password_leak_history_consumer.h", "password_leak_history_consumer.h",
"password_list_sorter.cc", "password_list_sorter.cc",
...@@ -532,7 +532,7 @@ source_set("unit_tests") { ...@@ -532,7 +532,7 @@ source_set("unit_tests") {
"password_form_manager_unittest.cc", "password_form_manager_unittest.cc",
"password_form_metrics_recorder_unittest.cc", "password_form_metrics_recorder_unittest.cc",
"password_generation_frame_helper_unittest.cc", "password_generation_frame_helper_unittest.cc",
"password_generation_state_unittest.cc", "password_generation_manager_unittest.cc",
"password_hash_data_unittest.cc", "password_hash_data_unittest.cc",
"password_list_sorter_unittest.cc", "password_list_sorter_unittest.cc",
"password_manager_metrics_recorder_unittest.cc", "password_manager_metrics_recorder_unittest.cc",
......
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
#include "components/password_manager/core/browser/form_fetcher_impl.h" #include "components/password_manager/core/browser/form_fetcher_impl.h"
#include "components/password_manager/core/browser/form_saver.h" #include "components/password_manager/core/browser/form_saver.h"
#include "components/password_manager/core/browser/password_form_filling.h" #include "components/password_manager/core/browser/password_form_filling.h"
#include "components/password_manager/core/browser/password_generation_state.h" #include "components/password_manager/core/browser/password_generation_manager.h"
#include "components/password_manager/core/browser/password_manager_client.h" #include "components/password_manager/core/browser/password_manager_client.h"
#include "components/password_manager/core/browser/password_manager_driver.h" #include "components/password_manager/core/browser/password_manager_driver.h"
#include "components/password_manager/core/browser/password_manager_util.h" #include "components/password_manager/core/browser/password_manager_util.h"
...@@ -487,8 +487,8 @@ void PasswordFormManager::PasswordNoLongerGenerated() { ...@@ -487,8 +487,8 @@ void PasswordFormManager::PasswordNoLongerGenerated() {
if (!HasGeneratedPassword()) if (!HasGeneratedPassword())
return; return;
generation_state_->PasswordNoLongerGenerated(); generation_manager_->PasswordNoLongerGenerated();
generation_state_.reset(); generation_manager_.reset();
votes_uploader_.set_has_generated_password(false); votes_uploader_.set_has_generated_password(false);
votes_uploader_.set_generated_password_changed(false); votes_uploader_.set_generated_password_changed(false);
metrics_recorder_->SetGeneratedPasswordStatus( metrics_recorder_->SetGeneratedPasswordStatus(
...@@ -496,7 +496,7 @@ void PasswordFormManager::PasswordNoLongerGenerated() { ...@@ -496,7 +496,7 @@ void PasswordFormManager::PasswordNoLongerGenerated() {
} }
bool PasswordFormManager::HasGeneratedPassword() const { bool PasswordFormManager::HasGeneratedPassword() const {
return generation_state_ && generation_state_->HasGeneratedPassword(); return generation_manager_ && generation_manager_->HasGeneratedPassword();
} }
void PasswordFormManager::SetGenerationPopupWasShown( void PasswordFormManager::SetGenerationPopupWasShown(
...@@ -558,7 +558,7 @@ bool PasswordFormManager::UpdateGeneratedPasswordOnUserInput( ...@@ -558,7 +558,7 @@ bool PasswordFormManager::UpdateGeneratedPasswordOnUserInput(
break; break;
} }
} }
base::string16 generated_password = generation_state_->generated_password(); base::string16 generated_password = generation_manager_->generated_password();
if (votes_uploader_.get_generation_element() == field_identifier) { if (votes_uploader_.get_generation_element() == field_identifier) {
generated_password = field_value; generated_password = field_value;
form_data_changed = true; form_data_changed = true;
...@@ -586,9 +586,9 @@ std::unique_ptr<PasswordFormManager> PasswordFormManager::Clone() { ...@@ -586,9 +586,9 @@ std::unique_ptr<PasswordFormManager> PasswordFormManager::Clone() {
// owning one needs to happen explicitly. // owning one needs to happen explicitly.
result->owned_form_fetcher_ = std::move(fetcher); result->owned_form_fetcher_ = std::move(fetcher);
if (generation_state_) { if (generation_manager_) {
result->generation_state_ = result->generation_manager_ =
generation_state_->Clone(result->form_saver_.get()); generation_manager_->Clone(result->form_saver_.get());
} }
// These data members all satisfy: // These data members all satisfy:
...@@ -834,9 +834,9 @@ void PasswordFormManager::OnGeneratedPasswordAccepted( ...@@ -834,9 +834,9 @@ void PasswordFormManager::OnGeneratedPasswordAccepted(
parsed_form->signon_realm = GetSignonRealm(form_data.url); parsed_form->signon_realm = GetSignonRealm(form_data.url);
} }
parsed_form->password_value = password; parsed_form->password_value = password;
generation_state_ = generation_manager_ =
std::make_unique<PasswordGenerationState>(form_saver_.get(), client_); std::make_unique<PasswordGenerationManager>(form_saver_.get(), client_);
generation_state_->GeneratedPasswordAccepted(*parsed_form, *form_fetcher_, generation_manager_->GeneratedPasswordAccepted(*parsed_form, *form_fetcher_,
driver_); driver_);
} }
...@@ -958,7 +958,7 @@ void PasswordFormManager::CreatePendingCredentials() { ...@@ -958,7 +958,7 @@ void PasswordFormManager::CreatePendingCredentials() {
} }
} }
pending_credentials_.password_value = pending_credentials_.password_value =
HasGeneratedPassword() ? generation_state_->generated_password() HasGeneratedPassword() ? generation_manager_->generated_password()
: password_to_save.first; : password_to_save.first;
pending_credentials_.preferred = true; pending_credentials_.preferred = true;
pending_credentials_.date_last_used = base::Time::Now(); pending_credentials_.date_last_used = base::Time::Now();
...@@ -1094,8 +1094,8 @@ void PasswordFormManager::PresaveGeneratedPasswordInternal( ...@@ -1094,8 +1094,8 @@ void PasswordFormManager::PresaveGeneratedPasswordInternal(
} }
if (!HasGeneratedPassword()) { if (!HasGeneratedPassword()) {
generation_state_ = generation_manager_ =
std::make_unique<PasswordGenerationState>(form_saver_.get(), client_); std::make_unique<PasswordGenerationManager>(form_saver_.get(), client_);
votes_uploader_.set_generated_password_changed(false); votes_uploader_.set_generated_password_changed(false);
metrics_recorder_->SetGeneratedPasswordStatus( metrics_recorder_->SetGeneratedPasswordStatus(
PasswordFormMetricsRecorder::GeneratedPasswordStatus:: PasswordFormMetricsRecorder::GeneratedPasswordStatus::
...@@ -1105,7 +1105,7 @@ void PasswordFormManager::PresaveGeneratedPasswordInternal( ...@@ -1105,7 +1105,7 @@ void PasswordFormManager::PresaveGeneratedPasswordInternal(
// from the presaved one, then mark that the generated password was changed. // from the presaved one, then mark that the generated password was changed.
// If a user recovers the original generated password, it will be recorded // If a user recovers the original generated password, it will be recorded
// as a password change. // as a password change.
if (generation_state_->generated_password() != generated_password) { if (generation_manager_->generated_password() != generated_password) {
votes_uploader_.set_generated_password_changed(true); votes_uploader_.set_generated_password_changed(true);
metrics_recorder_->SetGeneratedPasswordStatus( metrics_recorder_->SetGeneratedPasswordStatus(
PasswordFormMetricsRecorder::GeneratedPasswordStatus:: PasswordFormMetricsRecorder::GeneratedPasswordStatus::
...@@ -1118,7 +1118,7 @@ void PasswordFormManager::PresaveGeneratedPasswordInternal( ...@@ -1118,7 +1118,7 @@ void PasswordFormManager::PresaveGeneratedPasswordInternal(
// generated password is saved. // generated password is saved.
parsed_form->password_value = generated_password; parsed_form->password_value = generated_password;
generation_state_->PresaveGeneratedPassword( generation_manager_->PresaveGeneratedPassword(
std::move(*parsed_form), form_fetcher_->GetAllRelevantMatches()); std::move(*parsed_form), form_fetcher_->GetAllRelevantMatches());
} }
...@@ -1155,7 +1155,7 @@ void PasswordFormManager::SavePendingToStore(bool update) { ...@@ -1155,7 +1155,7 @@ void PasswordFormManager::SavePendingToStore(bool update) {
base::string16 old_password = base::string16 old_password =
saved_form ? saved_form->password_value : base::string16(); saved_form ? saved_form->password_value : base::string16();
if (HasGeneratedPassword()) { if (HasGeneratedPassword()) {
generation_state_->CommitGeneratedPassword( generation_manager_->CommitGeneratedPassword(
pending_credentials_, form_fetcher_->GetAllRelevantMatches(), pending_credentials_, form_fetcher_->GetAllRelevantMatches(),
old_password); old_password);
} else if (update) { } else if (update) {
......
...@@ -30,7 +30,7 @@ namespace password_manager { ...@@ -30,7 +30,7 @@ namespace password_manager {
class FormSaver; class FormSaver;
class PasswordFormMetricsRecorder; class PasswordFormMetricsRecorder;
class PasswordGenerationState; class PasswordGenerationManager;
class PasswordManagerClient; class PasswordManagerClient;
class PasswordManagerDriver; class PasswordManagerDriver;
struct PossibleUsernameData; struct PossibleUsernameData;
...@@ -337,7 +337,7 @@ class PasswordFormManager : public PasswordFormManagerForUI, ...@@ -337,7 +337,7 @@ class PasswordFormManager : public PasswordFormManagerForUI,
bool is_new_login_ = true; bool is_new_login_ = true;
// Handles the user flows related to the generation. // Handles the user flows related to the generation.
std::unique_ptr<PasswordGenerationState> generation_state_; std::unique_ptr<PasswordGenerationManager> generation_manager_;
// Whether a saved password was overridden. The flag is true when there is a // Whether a saved password was overridden. The flag is true when there is a
// credential in the store that will get a new password value. // credential in the store that will get a new password value.
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
#include "components/password_manager/core/browser/password_generation_state.h" #include "components/password_manager/core/browser/password_generation_manager.h"
#include <map> #include <map>
#include <utility> #include <utility>
...@@ -182,22 +182,23 @@ const PasswordForm* FindUsernameConflict( ...@@ -182,22 +182,23 @@ const PasswordForm* FindUsernameConflict(
} }
} // namespace } // namespace
PasswordGenerationState::PasswordGenerationState(FormSaver* form_saver, PasswordGenerationManager::PasswordGenerationManager(
FormSaver* form_saver,
PasswordManagerClient* client) PasswordManagerClient* client)
: form_saver_(form_saver), : form_saver_(form_saver),
client_(client), client_(client),
clock_(new base::DefaultClock) {} clock_(new base::DefaultClock) {}
PasswordGenerationState::~PasswordGenerationState() = default; PasswordGenerationManager::~PasswordGenerationManager() = default;
std::unique_ptr<PasswordGenerationState> PasswordGenerationState::Clone( std::unique_ptr<PasswordGenerationManager> PasswordGenerationManager::Clone(
FormSaver* form_saver) const { FormSaver* form_saver) const {
auto clone = std::make_unique<PasswordGenerationState>(form_saver, client_); auto clone = std::make_unique<PasswordGenerationManager>(form_saver, client_);
clone->presaved_ = presaved_; clone->presaved_ = presaved_;
return clone; return clone;
} }
void PasswordGenerationState::GeneratedPasswordAccepted( void PasswordGenerationManager::GeneratedPasswordAccepted(
PasswordForm generated, PasswordForm generated,
const FormFetcher& fetcher, const FormFetcher& fetcher,
base::WeakPtr<PasswordManagerDriver> driver) { base::WeakPtr<PasswordManagerDriver> driver) {
...@@ -217,7 +218,7 @@ void PasswordGenerationState::GeneratedPasswordAccepted( ...@@ -217,7 +218,7 @@ void PasswordGenerationState::GeneratedPasswordAccepted(
GenerationPresaveConflict::kConflictWithEmptyUsername); GenerationPresaveConflict::kConflictWithEmptyUsername);
auto bubble_launcher = std::make_unique<PasswordDataForUI>( auto bubble_launcher = std::make_unique<PasswordDataForUI>(
std::move(generated), matches, fetcher.GetFederatedMatches(), std::move(generated), matches, fetcher.GetFederatedMatches(),
base::BindRepeating(&PasswordGenerationState::OnPresaveBubbleResult, base::BindRepeating(&PasswordGenerationManager::OnPresaveBubbleResult,
weak_factory_.GetWeakPtr(), std::move(driver))); weak_factory_.GetWeakPtr(), std::move(driver)));
client_->PromptUserToSaveOrUpdatePassword(std::move(bubble_launcher), client_->PromptUserToSaveOrUpdatePassword(std::move(bubble_launcher),
true); true);
...@@ -233,7 +234,7 @@ void PasswordGenerationState::GeneratedPasswordAccepted( ...@@ -233,7 +234,7 @@ void PasswordGenerationState::GeneratedPasswordAccepted(
driver->GeneratedPasswordAccepted(generated.password_value); driver->GeneratedPasswordAccepted(generated.password_value);
} }
void PasswordGenerationState::PresaveGeneratedPassword( void PasswordGenerationManager::PresaveGeneratedPassword(
PasswordForm generated, PasswordForm generated,
const std::vector<const PasswordForm*>& matches) { const std::vector<const PasswordForm*>& matches) {
DCHECK(!generated.password_value.empty()); DCHECK(!generated.password_value.empty());
...@@ -253,13 +254,13 @@ void PasswordGenerationState::PresaveGeneratedPassword( ...@@ -253,13 +254,13 @@ void PasswordGenerationState::PresaveGeneratedPassword(
presaved_ = std::move(generated); presaved_ = std::move(generated);
} }
void PasswordGenerationState::PasswordNoLongerGenerated() { void PasswordGenerationManager::PasswordNoLongerGenerated() {
DCHECK(presaved_); DCHECK(presaved_);
form_saver_->Remove(*presaved_); form_saver_->Remove(*presaved_);
presaved_.reset(); presaved_.reset();
} }
void PasswordGenerationState::CommitGeneratedPassword( void PasswordGenerationManager::CommitGeneratedPassword(
PasswordForm generated, PasswordForm generated,
const std::vector<const PasswordForm*>& matches, const std::vector<const PasswordForm*>& matches,
const base::string16& old_password) { const base::string16& old_password) {
...@@ -271,7 +272,7 @@ void PasswordGenerationState::CommitGeneratedPassword( ...@@ -271,7 +272,7 @@ void PasswordGenerationState::CommitGeneratedPassword(
presaved_.value() /* old_primary_key */); presaved_.value() /* old_primary_key */);
} }
void PasswordGenerationState::OnPresaveBubbleResult( void PasswordGenerationManager::OnPresaveBubbleResult(
const base::WeakPtr<PasswordManagerDriver>& driver, const base::WeakPtr<PasswordManagerDriver>& driver,
bool accepted, bool accepted,
const PasswordForm& pending) { const PasswordForm& pending) {
......
...@@ -2,8 +2,8 @@ ...@@ -2,8 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
#ifndef COMPONENTS_PASSWORD_MANAGER_CORE_BROWSER_PASSWORD_GENERATION_STATE_H_ #ifndef COMPONENTS_PASSWORD_MANAGER_CORE_BROWSER_PASSWORD_GENERATION_MANAGER_H_
#define COMPONENTS_PASSWORD_MANAGER_CORE_BROWSER_PASSWORD_GENERATION_STATE_H_ #define COMPONENTS_PASSWORD_MANAGER_CORE_BROWSER_PASSWORD_GENERATION_MANAGER_H_
#include <map> #include <map>
#include <memory> #include <memory>
...@@ -20,14 +20,16 @@ class FormSaver; ...@@ -20,14 +20,16 @@ class FormSaver;
class PasswordManagerClient; class PasswordManagerClient;
class PasswordManagerDriver; class PasswordManagerDriver;
class PasswordGenerationState { class PasswordGenerationManager {
public: public:
PasswordGenerationState(FormSaver* form_saver, PasswordManagerClient* client); PasswordGenerationManager(FormSaver* form_saver,
~PasswordGenerationState(); PasswordManagerClient* client);
PasswordGenerationState(const PasswordGenerationState& rhs) = delete; ~PasswordGenerationManager();
PasswordGenerationState& operator=(const PasswordGenerationState&) = delete; PasswordGenerationManager(const PasswordGenerationManager& rhs) = delete;
PasswordGenerationManager& operator=(const PasswordGenerationManager&) =
delete;
std::unique_ptr<PasswordGenerationState> Clone(FormSaver* form_saver) const; std::unique_ptr<PasswordGenerationManager> Clone(FormSaver* form_saver) const;
// Returns true iff the generated password was presaved. // Returns true iff the generated password was presaved.
bool HasGeneratedPassword() const { return presaved_.has_value(); } bool HasGeneratedPassword() const { return presaved_.has_value(); }
...@@ -85,9 +87,9 @@ class PasswordGenerationState { ...@@ -85,9 +87,9 @@ class PasswordGenerationState {
// Interface to get current time. // Interface to get current time.
std::unique_ptr<base::Clock> clock_; std::unique_ptr<base::Clock> clock_;
// Used to produce callbacks. // Used to produce callbacks.
base::WeakPtrFactory<PasswordGenerationState> weak_factory_{this}; base::WeakPtrFactory<PasswordGenerationManager> weak_factory_{this};
}; };
} // namespace password_manager } // namespace password_manager
#endif // COMPONENTS_PASSWORD_MANAGER_CORE_BROWSER_PASSWORD_GENERATION_STATE_H_ #endif // COMPONENTS_PASSWORD_MANAGER_CORE_BROWSER_PASSWORD_GENERATION_MANAGER_H_
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