1dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen// Copyright (c) 2011 The Chromium Authors. All rights reserved. 2dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen// Use of this source code is governed by a BSD-style license that can be 3dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen// found in the LICENSE file. 4dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen 5dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#ifndef CHROME_BROWSER_CUSTOM_HANDLERS_REGISTER_PROTOCOL_HANDLER_INFOBAR_DELEGATE_H_ 6dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#define CHROME_BROWSER_CUSTOM_HANDLERS_REGISTER_PROTOCOL_HANDLER_INFOBAR_DELEGATE_H_ 7dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#pragma once 8dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen 9dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#include "base/string16.h" 10dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#include "chrome/browser/tab_contents/confirm_infobar_delegate.h" 11dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen 12dc0f95d653279beabeb9817299e2902918ba123eKristian Monsenclass SkBitmap; 13dc0f95d653279beabeb9817299e2902918ba123eKristian Monsenclass ProtocolHandler; 14dc0f95d653279beabeb9817299e2902918ba123eKristian Monsenclass ProtocolHandlerRegistry; 15dc0f95d653279beabeb9817299e2902918ba123eKristian Monsenclass TabContents; 16dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen 17dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen// An InfoBar delegate that enables the user to allow or deny storing credit 18dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen// card information gathered from a form submission. 19dc0f95d653279beabeb9817299e2902918ba123eKristian Monsenclass RegisterProtocolHandlerInfoBarDelegate : public ConfirmInfoBarDelegate { 20dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen public: 21dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen RegisterProtocolHandlerInfoBarDelegate(TabContents* tab_contents, 22dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen ProtocolHandlerRegistry* registry, 23dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen ProtocolHandler* handler); 24dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen 25dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen // ConfirmInfoBarDelegate: 26dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen virtual bool ShouldExpire(const NavigationController::LoadCommittedDetails& 27dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen details) const OVERRIDE; 28dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen virtual void InfoBarClosed() OVERRIDE; 29dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen virtual Type GetInfoBarType() const OVERRIDE; 30dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen virtual string16 GetMessageText() const OVERRIDE; 31dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen virtual string16 GetButtonLabel(InfoBarButton button) const OVERRIDE; 32dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen virtual bool Accept() OVERRIDE; 33dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen virtual bool Cancel() OVERRIDE; 34dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen virtual string16 GetLinkText() OVERRIDE; 35dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen virtual bool LinkClicked(WindowOpenDisposition disposition) OVERRIDE; 36dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen 37dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen private: 38dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen TabContents* tab_contents_; 39dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen ProtocolHandlerRegistry* registry_; 40dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen ProtocolHandler* handler_; 41dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen 42dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen DISALLOW_COPY_AND_ASSIGN(RegisterProtocolHandlerInfoBarDelegate); 43dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen}; 44dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen 45dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#endif // CHROME_BROWSER_CUSTOM_HANDLERS_REGISTER_PROTOCOL_HANDLER_INFOBAR_DELEGATE_H_ 46