| Index: chrome/browser/autofill/autofill_cc_infobar_delegate.cc
|
| ===================================================================
|
| --- chrome/browser/autofill/autofill_cc_infobar_delegate.cc (revision 0)
|
| +++ chrome/browser/autofill/autofill_cc_infobar_delegate.cc (revision 0)
|
| @@ -0,0 +1,106 @@
|
| +// Copyright (c) 2010 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.
|
| +
|
| +#include "chrome/browser/autofill/autofill_cc_infobar_delegate.h"
|
| +
|
| +#include "app/l10n_util.h"
|
| +#include "app/resource_bundle.h"
|
| +#include "chrome/browser/autofill/autofill_manager.h"
|
| +#include "chrome/browser/browser.h"
|
| +#include "chrome/browser/pref_service.h"
|
| +#include "chrome/browser/profile.h"
|
| +#include "chrome/browser/tab_contents/tab_contents.h"
|
| +#include "chrome/browser/tab_contents/tab_contents_delegate.h"
|
| +#include "chrome/common/pref_names.h"
|
| +#include "grit/chromium_strings.h"
|
| +#include "grit/generated_resources.h"
|
| +#include "grit/theme_resources.h"
|
| +#include "third_party/skia/include/core/SkBitmap.h"
|
| +
|
| +AutoFillCCInfoBarDelegate::AutoFillCCInfoBarDelegate(TabContents* tab_contents,
|
| + AutoFillManager* host)
|
| + : ConfirmInfoBarDelegate(tab_contents),
|
| + browser_(NULL),
|
| + host_(host) {
|
| + if (tab_contents) {
|
| + // This is NULL for TestTabContents.
|
| + if (tab_contents->delegate())
|
| + browser_ = tab_contents->delegate()->GetBrowser();
|
| +
|
| + tab_contents->AddInfoBar(this);
|
| + }
|
| +}
|
| +
|
| +AutoFillCCInfoBarDelegate::~AutoFillCCInfoBarDelegate() {
|
| +}
|
| +
|
| +bool AutoFillCCInfoBarDelegate::ShouldExpire(
|
| + const NavigationController::LoadCommittedDetails& details) const {
|
| + // The user has submitted a form, causing the page to navigate elsewhere. We
|
| + // don't want the infobar to be expired at this point, because the user won't
|
| + // get a chance to answer the question.
|
| + return false;
|
| +}
|
| +
|
| +void AutoFillCCInfoBarDelegate::InfoBarClosed() {
|
| + if (host_) {
|
| + host_->OnInfoBarClosed(false);
|
| + host_ = NULL;
|
| + }
|
| +
|
| + // This will delete us.
|
| + ConfirmInfoBarDelegate::InfoBarClosed();
|
| +}
|
| +
|
| +std::wstring AutoFillCCInfoBarDelegate::GetMessageText() const {
|
| + return l10n_util::GetString(IDS_AUTOFILL_CC_INFOBAR_TEXT);
|
| +}
|
| +
|
| +SkBitmap* AutoFillCCInfoBarDelegate::GetIcon() const {
|
| + return ResourceBundle::GetSharedInstance().GetBitmapNamed(
|
| + IDR_INFOBAR_AUTOFILL);
|
| +}
|
| +
|
| +int AutoFillCCInfoBarDelegate::GetButtons() const {
|
| + return BUTTON_OK | BUTTON_CANCEL;
|
| +}
|
| +
|
| +std::wstring AutoFillCCInfoBarDelegate::GetButtonLabel(
|
| + ConfirmInfoBarDelegate::InfoBarButton button) const {
|
| + if (button == BUTTON_OK)
|
| + return l10n_util::GetString(IDS_AUTOFILL_CC_INFOBAR_ACCEPT);
|
| + else if (button == BUTTON_CANCEL)
|
| + return l10n_util::GetString(IDS_AUTOFILL_CC_INFOBAR_DENY);
|
| + else
|
| + NOTREACHED();
|
| +
|
| + return std::wstring();
|
| +}
|
| +
|
| +bool AutoFillCCInfoBarDelegate::Accept() {
|
| + if (host_) {
|
| + host_->OnInfoBarClosed(true);
|
| + host_ = NULL;
|
| + }
|
| + return true;
|
| +}
|
| +
|
| +bool AutoFillCCInfoBarDelegate::Cancel() {
|
| + if (host_) {
|
| + host_->OnInfoBarClosed(false);
|
| + host_ = NULL;
|
| + }
|
| + return true;
|
| +}
|
| +
|
| +std::wstring AutoFillCCInfoBarDelegate::GetLinkText() {
|
| + return l10n_util::GetString(IDS_AUTOFILL_CC_LEARN_MORE);
|
| +}
|
| +
|
| +bool AutoFillCCInfoBarDelegate::LinkClicked(WindowOpenDisposition disposition) {
|
| + browser_->OpenURL(GURL(kAutoFillLearnMoreUrl), GURL(), NEW_FOREGROUND_TAB,
|
| + PageTransition::TYPED);
|
| + return false;
|
| +}
|
| +
|
|
|
| Property changes on: chrome/browser/autofill/autofill_cc_infobar_delegate.cc
|
| ___________________________________________________________________
|
| Added: svn:eol-style
|
| + LF
|
|
|
|
|