diff options
Diffstat (limited to 'chrome/browser/password_manager_delegate_impl.cc')
-rw-r--r-- | chrome/browser/password_manager_delegate_impl.cc | 135 |
1 files changed, 76 insertions, 59 deletions
diff --git a/chrome/browser/password_manager_delegate_impl.cc b/chrome/browser/password_manager_delegate_impl.cc index 1660709..39de4c5 100644 --- a/chrome/browser/password_manager_delegate_impl.cc +++ b/chrome/browser/password_manager_delegate_impl.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -27,77 +27,94 @@ class SavePasswordInfoBarDelegate : public ConfirmInfoBarDelegate { public: SavePasswordInfoBarDelegate(TabContents* tab_contents, - PasswordFormManager* form_to_save) - : ConfirmInfoBarDelegate(tab_contents), - form_to_save_(form_to_save), - infobar_response_(NO_RESPONSE) {} - - virtual ~SavePasswordInfoBarDelegate() {} - - // Begin ConfirmInfoBarDelegate implementation. - virtual void InfoBarClosed() { - UMA_HISTOGRAM_ENUMERATION("PasswordManager.InfoBarResponse", - infobar_response_, NUM_RESPONSE_TYPES); - delete this; - } - - virtual Type GetInfoBarType() { return PAGE_ACTION_TYPE; } - - virtual string16 GetMessageText() const { - return l10n_util::GetStringUTF16(IDS_PASSWORD_MANAGER_SAVE_PASSWORD_PROMPT); - } - - virtual SkBitmap* GetIcon() const { - return ResourceBundle::GetSharedInstance().GetBitmapNamed( - IDR_INFOBAR_SAVE_PASSWORD); - } - - virtual int GetButtons() const { - return BUTTON_OK | BUTTON_CANCEL; - } - - virtual string16 GetButtonLabel(InfoBarButton button) const { - if (button == BUTTON_OK) - return l10n_util::GetStringUTF16(IDS_PASSWORD_MANAGER_SAVE_BUTTON); - if (button == BUTTON_CANCEL) - return l10n_util::GetStringUTF16(IDS_PASSWORD_MANAGER_BLACKLIST_BUTTON); - NOTREACHED(); - return string16(); - } - - virtual bool Accept() { - DCHECK(form_to_save_.get()); - form_to_save_->Save(); - infobar_response_ = REMEMBER_PASSWORD; - return true; - } - - virtual bool Cancel() { - DCHECK(form_to_save_.get()); - form_to_save_->PermanentlyBlacklist(); - infobar_response_ = DONT_REMEMBER_PASSWORD; - return true; - } - // End ConfirmInfoBarDelegate implementation. + PasswordFormManager* form_to_save); private: - // The PasswordFormManager managing the form we're asking the user about, - // and should update as per her decision. - scoped_ptr<PasswordFormManager> form_to_save_; - - // Used to track the results we get from the info bar. enum ResponseType { NO_RESPONSE = 0, REMEMBER_PASSWORD, DONT_REMEMBER_PASSWORD, NUM_RESPONSE_TYPES, }; + + virtual ~SavePasswordInfoBarDelegate(); + + // ConfirmInfoBarDelegate + virtual void InfoBarClosed(); + virtual SkBitmap* GetIcon() const; + virtual Type GetInfoBarType() const; + virtual string16 GetMessageText() const; + virtual int GetButtons() const; + virtual string16 GetButtonLabel(InfoBarButton button) const; + virtual bool Accept(); + virtual bool Cancel(); + + // The PasswordFormManager managing the form we're asking the user about, + // and should update as per her decision. + scoped_ptr<PasswordFormManager> form_to_save_; + + // Used to track the results we get from the info bar. ResponseType infobar_response_; DISALLOW_COPY_AND_ASSIGN(SavePasswordInfoBarDelegate); }; -//---------------------------------------------------------------------------- +SavePasswordInfoBarDelegate::SavePasswordInfoBarDelegate( + TabContents* tab_contents, + PasswordFormManager* form_to_save) + : ConfirmInfoBarDelegate(tab_contents), + form_to_save_(form_to_save), + infobar_response_(NO_RESPONSE) { +} + +SavePasswordInfoBarDelegate::~SavePasswordInfoBarDelegate() { +} + +void SavePasswordInfoBarDelegate::InfoBarClosed() { + UMA_HISTOGRAM_ENUMERATION("PasswordManager.InfoBarResponse", + infobar_response_, NUM_RESPONSE_TYPES); + delete this; +} + +SkBitmap* SavePasswordInfoBarDelegate::GetIcon() const { + return ResourceBundle::GetSharedInstance().GetBitmapNamed( + IDR_INFOBAR_SAVE_PASSWORD); +} + +InfoBarDelegate::Type SavePasswordInfoBarDelegate::GetInfoBarType() const { + return PAGE_ACTION_TYPE; +} + +string16 SavePasswordInfoBarDelegate::GetMessageText() const { + return l10n_util::GetStringUTF16(IDS_PASSWORD_MANAGER_SAVE_PASSWORD_PROMPT); +} + +int SavePasswordInfoBarDelegate::GetButtons() const { + return BUTTON_OK | BUTTON_CANCEL; +} + +string16 SavePasswordInfoBarDelegate::GetButtonLabel( + InfoBarButton button) const { + return l10n_util::GetStringUTF16((button == BUTTON_OK) ? + IDS_PASSWORD_MANAGER_SAVE_BUTTON : IDS_PASSWORD_MANAGER_BLACKLIST_BUTTON); +} + +bool SavePasswordInfoBarDelegate::Accept() { + DCHECK(form_to_save_.get()); + form_to_save_->Save(); + infobar_response_ = REMEMBER_PASSWORD; + return true; +} + +bool SavePasswordInfoBarDelegate::Cancel() { + DCHECK(form_to_save_.get()); + form_to_save_->PermanentlyBlacklist(); + infobar_response_ = DONT_REMEMBER_PASSWORD; + return true; +} + + +// PasswordManagerDelegateImpl ------------------------------------------------ void PasswordManagerDelegateImpl::FillPasswordForm( const webkit_glue::PasswordFormFillData& form_data) { |