| Index: components/password_manager/core/browser/password_form_manager.h
|
| diff --git a/components/password_manager/core/browser/password_form_manager.h b/components/password_manager/core/browser/password_form_manager.h
|
| index 153f791856ab56713bfcf0b00d045d2e31c6ba20..b300233d43a5cf1d5bfcfa5bce94aad2d9bd7f0b 100644
|
| --- a/components/password_manager/core/browser/password_form_manager.h
|
| +++ b/components/password_manager/core/browser/password_form_manager.h
|
| @@ -25,6 +25,8 @@
|
| #include "components/password_manager/core/browser/password_manager_driver.h"
|
| #include "components/password_manager/core/browser/password_store.h"
|
|
|
| +using autofill::FormStructure;
|
| +
|
| namespace password_manager {
|
|
|
| class FormSaver;
|
| @@ -215,8 +217,12 @@ class PasswordFormManager : public FormFetcher::Consumer {
|
| // Called when the user chose not to update password.
|
| void OnNopeUpdateClicked();
|
|
|
| - // Called when the user didn't interact with Update UI.
|
| - void OnNoInteractionOnUpdate();
|
| + // Called when the user clicked "Never" button in the "save password" prompt.
|
| + void OnNeverClicked();
|
| +
|
| + // Called when the user didn't interact with UI. |is_update| is true iff
|
| + // it was the update UI.
|
| + void OnNoInteraction(bool is_update);
|
|
|
| // Saves the outcome of HTML parsing based form classifier to upload proto.
|
| void SaveGenerationFieldDetectedByClassifier(
|
| @@ -356,36 +362,12 @@ class PasswordFormManager : public FormFetcher::Consumer {
|
| // UMA.
|
| int GetActionsTaken() const;
|
|
|
| - // Try to label password fields and upload |form_data|. This differs from
|
| - // AutofillManager::OnFormSubmitted() in a few ways.
|
| - // - This function will only label the first <input type="password"> field
|
| - // as |password_type|. Other fields will stay unlabeled, as they
|
| - // should have been labeled during the upload for OnFormSubmitted().
|
| - // - If the |username_field| attribute is nonempty, we will additionally
|
| - // label the field with that name as the username field.
|
| - // - This function does not assume that |form| is being uploaded during
|
| - // the same browsing session as it was originally submitted (as we may
|
| - // not have the necessary information to classify the form at that time)
|
| - // so it bypasses the cache and doesn't log the same quality UMA metrics.
|
| - // |login_form_signature| may be empty. It is non-empty when the user fills
|
| - // and submits a login form using a generated password. In this case,
|
| - // |login_form_signature| should be set to the submitted form's signature.
|
| - // Note that in this case, |form.FormSignature()| gives the signature for the
|
| - // registration form on which the password was generated, rather than the
|
| - // submitted form's signature.
|
| - bool UploadPasswordForm(const autofill::FormData& form_data,
|
| - const base::string16& username_field,
|
| + // Tries to set all votes (e.g. autofill field types, generation vote) to
|
| + // a |FormStructure| and upload it to the server. Returns true on success.
|
| + bool UploadPasswordVote(const base::string16& username_field,
|
| const autofill::ServerFieldType& password_type,
|
| const std::string& login_form_signature);
|
|
|
| - // Try to label username, password and new password fields of |observed_form_|
|
| - // which is considered to be change password forms. Returns true on success.
|
| - // |password_type| should be equal to NEW_PASSWORD, PROBABLY_NEW_PASSWORD or
|
| - // NOT_NEW_PASSWORD. These values correspond to cases when the user conrirmed
|
| - // password update, did nothing or declined to update password respectively.
|
| - bool UploadChangePasswordForm(const autofill::ServerFieldType& password_type,
|
| - const std::string& login_form_signature);
|
| -
|
| // Adds a vote on password generation usage to |form_structure|.
|
| void AddGeneratedVote(autofill::FormStructure* form_structure);
|
|
|
| @@ -435,6 +417,26 @@ class PasswordFormManager : public FormFetcher::Consumer {
|
| base::Optional<autofill::PasswordForm> UpdatePendingAndGetOldKey(
|
| std::vector<autofill::PasswordForm>* credentials_to_update);
|
|
|
| + // Sets autofill types of username, password and new password fields in
|
| + // |form_structure|. |password_type| (the autofill type of new password field)
|
| + // should be equal to NEW_PASSWORD, PROBABLY_NEW_PASSWORD or NOT_NEW_PASSWORD.
|
| + // These values correspond to cases when the user confirmed password update,
|
| + // did nothing or declined to update password respectively. The function also
|
| + // add the types to |available_field_types|.
|
| + void SetAutofillTypesOnUpdate(
|
| + const autofill::ServerFieldType password_type,
|
| + FormStructure* form_structure,
|
| + autofill::ServerFieldTypeSet* available_field_types);
|
| +
|
| + // Sets autofill types of username and password fields in |form_structure|.
|
| + // |username_field| determines the name of the username field. The function
|
| + // also add the types to |available_field_types|.
|
| + void SetAutofillTypesOnSave(
|
| + const base::string16& username_field,
|
| + const autofill::ServerFieldType password_type,
|
| + FormStructure* form_structure,
|
| + autofill::ServerFieldTypeSet* available_field_types);
|
| +
|
| // Set of nonblacklisted PasswordForms from the DB that best match the form
|
| // being managed by |this|, indexed by username. They are owned by
|
| // |form_fetcher_|.
|
|
|