Add new certificateProvider extension API.
[chromium-blink-merge.git] / chrome / browser / ui / views / location_bar / location_icon_view.h
blob0936d11f415b61a257db2e90608b7258662808a2
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.
5 #ifndef CHROME_BROWSER_UI_VIEWS_LOCATION_BAR_LOCATION_ICON_VIEW_H_
6 #define CHROME_BROWSER_UI_VIEWS_LOCATION_BAR_LOCATION_ICON_VIEW_H_
8 #include "chrome/browser/ui/views/location_bar/page_info_helper.h"
9 #include "ui/views/controls/image_view.h"
11 class LocationBarView;
13 // LocationIconView is used to display an icon to the left of the edit field.
14 // This shows the user's current action while editing, the page security
15 // status on https pages, or a globe for other URLs.
16 class LocationIconView : public views::ImageView {
17 public:
18 explicit LocationIconView(LocationBarView* location_bar);
19 ~LocationIconView() override;
21 // views::ImageView:
22 bool OnMousePressed(const ui::MouseEvent& event) override;
23 void OnMouseReleased(const ui::MouseEvent& event) override;
24 bool OnMouseDragged(const ui::MouseEvent& event) override;
26 // ui::EventHandler:
27 void OnGestureEvent(ui::GestureEvent* event) override;
29 // Whether we should show the tooltip for this icon or not.
30 void ShowTooltip(bool show);
32 PageInfoHelper* page_info_helper() { return &page_info_helper_; }
34 private:
35 // Handles both click and gesture events by delegating to the page info
36 // helper in the appropriate circumstances.
37 void OnClickOrTap(const ui::LocatedEvent& event);
39 // Set to true when the bubble is already showing at the time the icon is
40 // clicked. This suppresses re-showing the bubble on mouse release, so that
41 // clicking the icon repeatedly will appear to toggle the bubble on and off.
42 bool suppress_mouse_released_action_;
44 PageInfoHelper page_info_helper_;
46 DISALLOW_COPY_AND_ASSIGN(LocationIconView);
49 #endif // CHROME_BROWSER_UI_VIEWS_LOCATION_BAR_LOCATION_ICON_VIEW_H_