This source file includes following definitions.
- Update
- CanHandleClick
- OnClick
- GetController
#include "chrome/browser/ui/views/location_bar/generated_credit_card_view.h"
#include "chrome/browser/ui/autofill/generated_credit_card_bubble_controller.h"
#include "chrome/browser/ui/toolbar/toolbar_model.h"
#include "ui/gfx/image/image.h"
GeneratedCreditCardView::GeneratedCreditCardView(
LocationBarView::Delegate* delegate)
: delegate_(delegate) {
Update();
}
GeneratedCreditCardView::~GeneratedCreditCardView() {}
void GeneratedCreditCardView::Update() {
autofill::GeneratedCreditCardBubbleController* controller = GetController();
if (controller && !controller->AnchorIcon().IsEmpty()) {
SetVisible(true);
SetImage(controller->AnchorIcon().AsImageSkia());
} else {
SetVisible(false);
SetImage(NULL);
}
}
bool GeneratedCreditCardView::CanHandleClick() const {
autofill::GeneratedCreditCardBubbleController* controller = GetController();
return controller && !controller->IsHiding();
}
void GeneratedCreditCardView::OnClick() {
autofill::GeneratedCreditCardBubbleController* controller = GetController();
if (controller)
controller->OnAnchorClicked();
}
autofill::GeneratedCreditCardBubbleController* GeneratedCreditCardView::
GetController() const {
content::WebContents* wc = delegate_->GetWebContents();
if (!wc || delegate_->GetToolbarModel()->input_in_progress())
return NULL;
return autofill::GeneratedCreditCardBubbleController::FromWebContents(wc);
}