generated_credit_card_view.h revision 3551c9c881056c480085172ff9840cab31610854
1// Copyright 2013 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#ifndef CHROME_BROWSER_UI_VIEWS_LOCATION_BAR_GENERATED_CREDIT_CARD_VIEW_H_ 6#define CHROME_BROWSER_UI_VIEWS_LOCATION_BAR_GENERATED_CREDIT_CARD_VIEW_H_ 7 8#include "base/basictypes.h" 9#include "base/compiler_specific.h" 10#include "chrome/browser/ui/autofill/generated_credit_card_bubble_controller.h" 11#include "chrome/browser/ui/views/location_bar/location_bar_decoration_view.h" 12#include "chrome/browser/ui/views/location_bar/location_bar_view.h" 13#include "ui/views/controls/image_view.h" 14 15namespace autofill { 16class GeneratedCreditCardBubbleController; 17} 18 19//////////////////////////////////////////////////////////////////////////////// 20// 21// GeneratedCreditCardView 22// 23// An icon that shows up in the omnibox after successfully generating a credit 24// card number. Used as an anchor and click target to show the associated 25// bubble with more details about the credit cards saved or used. 26// 27//////////////////////////////////////////////////////////////////////////////// 28class GeneratedCreditCardView : public LocationBarDecorationView { 29 public: 30 explicit GeneratedCreditCardView(LocationBarView::Delegate* delegate); 31 virtual ~GeneratedCreditCardView(); 32 33 void Update(); 34 35 protected: 36 // LocationBarDecorationView: 37 virtual bool CanHandleClick() const OVERRIDE; 38 virtual void OnClick() OVERRIDE; 39 40 private: 41 // Helper to get the GeneratedCreditCardBubbleController associated with the 42 // current web contents. 43 autofill::GeneratedCreditCardBubbleController* GetController() const; 44 45 LocationBarView::Delegate* delegate_; // weak; outlives us. 46 47 DISALLOW_COPY_AND_ASSIGN(GeneratedCreditCardView); 48}; 49 50#endif // CHROME_BROWSER_UI_VIEWS_LOCATION_BAR_GENERATED_CREDIT_CARD_VIEW_H_ 51