location_icon_view.cc revision 2a99a7e74a7f215066514fe81d2bfa6639d9eddd
1// Copyright (c) 2012 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#include "chrome/browser/ui/views/location_bar/location_icon_view.h"
6
7#include "base/utf_string_conversions.h"
8#include "grit/generated_resources.h"
9#include "ui/base/l10n/l10n_util.h"
10
11LocationIconView::LocationIconView(LocationBarView* location_bar)
12    : ALLOW_THIS_IN_INITIALIZER_LIST(page_info_helper_(this, location_bar)) {
13  SetTooltipText(l10n_util::GetStringUTF16(IDS_TOOLTIP_LOCATION_ICON));
14  TouchableLocationBarView::Init(this);
15}
16
17LocationIconView::~LocationIconView() {
18}
19
20bool LocationIconView::OnMousePressed(const ui::MouseEvent& event) {
21  // We want to show the dialog on mouse release; that is the standard behavior
22  // for buttons.
23  return true;
24}
25
26void LocationIconView::OnMouseReleased(const ui::MouseEvent& event) {
27  page_info_helper_.ProcessEvent(event);
28}
29
30void LocationIconView::OnGestureEvent(ui::GestureEvent* event) {
31  if (event->type() == ui::ET_GESTURE_TAP) {
32    page_info_helper_.ProcessEvent(*event);
33    event->SetHandled();
34  }
35}
36
37int LocationIconView::GetBuiltInHorizontalPadding() const {
38  return GetBuiltInHorizontalPaddingImpl();
39}
40
41void LocationIconView::ShowTooltip(bool show) {
42  if (show) {
43    SetTooltipText(l10n_util::GetStringUTF16(IDS_TOOLTIP_LOCATION_ICON));
44  } else {
45    SetTooltipText(string16());
46  }
47}
48