| Index: chrome/browser/password_manager/save_password_infobar_delegate.h
|
| diff --git a/chrome/browser/password_manager/save_password_infobar_delegate.h b/chrome/browser/password_manager/save_password_infobar_delegate.h
|
| index fdf3e35b68e7b70cf55a2e62aa871e80007315de..4dd0b4d0684bfc28cbef21d55f54bc27df12a138 100644
|
| --- a/chrome/browser/password_manager/save_password_infobar_delegate.h
|
| +++ b/chrome/browser/password_manager/save_password_infobar_delegate.h
|
| @@ -6,11 +6,9 @@
|
| #define CHROME_BROWSER_PASSWORD_MANAGER_SAVE_PASSWORD_INFOBAR_DELEGATE_H_
|
|
|
| #include "base/basictypes.h"
|
| -#include "base/compiler_specific.h"
|
| #include "base/memory/scoped_ptr.h"
|
| #include "base/timer/elapsed_timer.h"
|
| #include "components/infobars/core/confirm_infobar_delegate.h"
|
| -#include "components/infobars/core/infobar_delegate.h"
|
| #include "components/password_manager/core/browser/password_form_manager.h"
|
| #include "components/password_manager/core/browser/password_manager_metrics_util.h"
|
|
|
| @@ -18,6 +16,10 @@ namespace content {
|
| class WebContents;
|
| }
|
|
|
| +namespace password_manager {
|
| +enum class CredentialSourceType;
|
| +}
|
| +
|
| // After a successful *new* login attempt, we take the PasswordFormManager in
|
| // provisional_save_manager_ and move it to a SavePasswordInfoBarDelegate while
|
| // the user makes up their mind with the "save password" infobar. Note if the
|
| @@ -35,15 +37,15 @@ class SavePasswordInfoBarDelegate : public ConfirmInfoBarDelegate {
|
| static void Create(
|
| content::WebContents* web_contents,
|
| scoped_ptr<password_manager::PasswordFormManager> form_to_save,
|
| - const std::string& uma_histogram_suffix);
|
| -
|
| - private:
|
| - SavePasswordInfoBarDelegate(
|
| - scoped_ptr<password_manager::PasswordFormManager> form_to_save,
|
| - const std::string& uma_histogram_suffix);
|
| + const std::string& uma_histogram_suffix,
|
| + password_manager::CredentialSourceType source_type);
|
|
|
| ~SavePasswordInfoBarDelegate() override;
|
|
|
| + // If the infobar was triggered by the Credential management API, then on
|
| + // Android it should display the "More" button.
|
| + bool ShouldShowMoreButton();
|
| +
|
| // ConfirmInfoBarDelegate:
|
| Type GetInfoBarType() const override;
|
| InfoBarAutomationType GetInfoBarAutomationType() const override;
|
| @@ -55,6 +57,12 @@ class SavePasswordInfoBarDelegate : public ConfirmInfoBarDelegate {
|
| bool Accept() override;
|
| bool Cancel() override;
|
|
|
| + private:
|
| + SavePasswordInfoBarDelegate(
|
| + scoped_ptr<password_manager::PasswordFormManager> form_to_save,
|
| + const std::string& uma_histogram_suffix,
|
| + password_manager::CredentialSourceType source_type);
|
| +
|
| // The PasswordFormManager managing the form we're asking the user about,
|
| // and should update as per her decision.
|
| scoped_ptr<password_manager::PasswordFormManager> form_to_save_;
|
| @@ -70,6 +78,10 @@ class SavePasswordInfoBarDelegate : public ConfirmInfoBarDelegate {
|
| // form is on a monitored domain. Otherwise, an empty string.
|
| const std::string uma_histogram_suffix_;
|
|
|
| + // Records source from where infobar was triggered.
|
| + // Infobar appearance (title, buttons) depends on value of this parameter.
|
| + password_manager::CredentialSourceType source_type_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(SavePasswordInfoBarDelegate);
|
| };
|
|
|
|
|