| 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);
 | 
|  };
 | 
|  
 | 
| 
 |