generated_credit_card_view.cc revision 3551c9c881056c480085172ff9840cab31610854
16588c4e2dfa6d1995a69aadec386c4c1c467a666jvr// Copyright 2013 The Chromium Authors. All rights reserved. 20de2a0f1d5d461d47bb5e13476976d9c9ed0a3bdjvr// Use of this source code is governed by a BSD-style license that can be 36cc5887e46f0dca6c898136f677e0cdb47ebf593Just// found in the LICENSE file. 46cc5887e46f0dca6c898136f677e0cdb47ebf593Just 56cc5887e46f0dca6c898136f677e0cdb47ebf593Just#include "chrome/browser/ui/views/location_bar/generated_credit_card_view.h" 66cc5887e46f0dca6c898136f677e0cdb47ebf593Just 76cc5887e46f0dca6c898136f677e0cdb47ebf593Just#include "chrome/browser/ui/autofill/generated_credit_card_bubble_controller.h" 86cc5887e46f0dca6c898136f677e0cdb47ebf593Just#include "chrome/browser/ui/toolbar/toolbar_model.h" 96cc5887e46f0dca6c898136f677e0cdb47ebf593Just#include "ui/gfx/image/image.h" 106cc5887e46f0dca6c898136f677e0cdb47ebf593Just 116cc5887e46f0dca6c898136f677e0cdb47ebf593JustGeneratedCreditCardView::GeneratedCreditCardView( 126cc5887e46f0dca6c898136f677e0cdb47ebf593Just LocationBarView::Delegate* delegate) 136cc5887e46f0dca6c898136f677e0cdb47ebf593Just : delegate_(delegate) { 146cc5887e46f0dca6c898136f677e0cdb47ebf593Just Update(); 156cc5887e46f0dca6c898136f677e0cdb47ebf593Just} 166cc5887e46f0dca6c898136f677e0cdb47ebf593Just 176cc5887e46f0dca6c898136f677e0cdb47ebf593JustGeneratedCreditCardView::~GeneratedCreditCardView() {} 186cc5887e46f0dca6c898136f677e0cdb47ebf593Just 196cc5887e46f0dca6c898136f677e0cdb47ebf593Justvoid GeneratedCreditCardView::Update() { 206cc5887e46f0dca6c898136f677e0cdb47ebf593Just autofill::GeneratedCreditCardBubbleController* controller = GetController(); 216cc5887e46f0dca6c898136f677e0cdb47ebf593Just if (controller && !controller->AnchorIcon().IsEmpty()) { 226cc5887e46f0dca6c898136f677e0cdb47ebf593Just SetVisible(true); 236cc5887e46f0dca6c898136f677e0cdb47ebf593Just SetImage(controller->AnchorIcon().AsImageSkia()); 246cc5887e46f0dca6c898136f677e0cdb47ebf593Just } else { 256cc5887e46f0dca6c898136f677e0cdb47ebf593Just SetVisible(false); 26 SetImage(NULL); 27 } 28} 29 30// TODO(dbeam): figure out what to do for a tooltip and accessibility. 31 32bool GeneratedCreditCardView::CanHandleClick() const { 33 autofill::GeneratedCreditCardBubbleController* controller = GetController(); 34 return controller && !controller->IsHiding(); 35} 36 37void GeneratedCreditCardView::OnClick() { 38 autofill::GeneratedCreditCardBubbleController* controller = GetController(); 39 if (controller) 40 controller->OnAnchorClicked(); 41} 42 43autofill::GeneratedCreditCardBubbleController* GeneratedCreditCardView:: 44 GetController() const { 45 content::WebContents* wc = delegate_->GetWebContents(); 46 if (!wc || delegate_->GetToolbarModel()->input_in_progress()) 47 return NULL; 48 49 return autofill::GeneratedCreditCardBubbleController::FromWebContents(wc); 50} 51