autofill_cc_infobar_delegate.h revision dc0f95d653279beabeb9817299e2902918ba123e
172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen// Copyright (c) 2011 The Chromium Authors. All rights reserved.
2c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Use of this source code is governed by a BSD-style license that can be
3c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// found in the LICENSE file.
4c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
5c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#ifndef CHROME_BROWSER_AUTOFILL_AUTOFILL_CC_INFOBAR_DELEGATE_H_
6c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#define CHROME_BROWSER_AUTOFILL_AUTOFILL_CC_INFOBAR_DELEGATE_H_
73345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick#pragma once
8c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
93345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick#include "base/string16.h"
10dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#include "chrome/browser/tab_contents/confirm_infobar_delegate.h"
11c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
12dc0f95d653279beabeb9817299e2902918ba123eKristian Monsenclass AutofillManager;
13c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
14c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// An InfoBar delegate that enables the user to allow or deny storing credit
15c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// card information gathered from a form submission.
16c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochclass AutoFillCCInfoBarDelegate : public ConfirmInfoBarDelegate {
17c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch public:
18dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  AutoFillCCInfoBarDelegate(TabContents* tab_contents, AutofillManager* host);
1972a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen
2072a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen private:
21c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  virtual ~AutoFillCCInfoBarDelegate();
22c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
2372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen  // ConfirmInfoBarDelegate:
24c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  virtual bool ShouldExpire(
2572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen      const NavigationController::LoadCommittedDetails& details) const;
26c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  virtual void InfoBarClosed();
27c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  virtual SkBitmap* GetIcon() const;
2872a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen  virtual Type GetInfoBarType() const;
2972a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen  virtual string16 GetMessageText() const;
3072a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen  virtual string16 GetButtonLabel(InfoBarButton button) const;
31c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  virtual bool Accept();
32c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  virtual bool Cancel();
333345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick  virtual string16 GetLinkText();
34c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  virtual bool LinkClicked(WindowOpenDisposition disposition);
35c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
36dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  // The AutofillManager that initiated this InfoBar.
37dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  AutofillManager* host_;
38c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
39c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  DISALLOW_COPY_AND_ASSIGN(AutoFillCCInfoBarDelegate);
40c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch};
41c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
42c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#endif  // CHROME_BROWSER_AUTOFILL_AUTOFILL_CC_INFOBAR_DELEGATE_H_
43