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