Index: ui/views/bubble/tooltip_icon.h |
diff --git a/chrome/browser/ui/views/autofill/tooltip_icon.h b/ui/views/bubble/tooltip_icon.h |
similarity index 66% |
rename from chrome/browser/ui/views/autofill/tooltip_icon.h |
rename to ui/views/bubble/tooltip_icon.h |
index 482ba0b963ad498f22c1fc40723cdb2593d1cef9..9fddcf97331802db6f5572a85a7b71310f12d0ac 100644 |
--- a/chrome/browser/ui/views/autofill/tooltip_icon.h |
+++ b/ui/views/bubble/tooltip_icon.h |
@@ -2,8 +2,8 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#ifndef CHROME_BROWSER_UI_VIEWS_AUTOFILL_TOOLTIP_ICON_H_ |
-#define CHROME_BROWSER_UI_VIEWS_AUTOFILL_TOOLTIP_ICON_H_ |
+#ifndef UI_VIEWS_BUBBLE_TOOLTIP_ICON_H_ |
+#define UI_VIEWS_BUBBLE_TOOLTIP_ICON_H_ |
#include <memory> |
@@ -17,35 +17,40 @@ |
#include "ui/views/mouse_watcher.h" |
#include "ui/views/widget/widget_observer.h" |
-namespace autofill { |
+namespace views { |
class InfoBubble; |
// A tooltip icon that shows a bubble on hover. Looks like (?). |
msw
2017/02/15 21:06:39
nit: "Looks like (i)."
vasilii
2017/02/16 14:28:07
Done.
|
-class TooltipIcon : public views::ImageView, |
- public views::MouseWatcherListener, |
- public views::WidgetObserver { |
+class VIEWS_EXPORT TooltipIcon : public ImageView, |
+ public MouseWatcherListener, |
+ public WidgetObserver { |
public: |
static const char kViewClassName[]; |
msw
2017/02/15 21:06:39
nit: inline in TooltipIcon::GetClassName()
vasilii
2017/02/16 14:28:07
Done.
|
explicit TooltipIcon(const base::string16& tooltip); |
~TooltipIcon() override; |
- // views::ImageView: |
+ // ImageView: |
const char* GetClassName() const override; |
void OnMouseEntered(const ui::MouseEvent& event) override; |
void OnMouseExited(const ui::MouseEvent& event) override; |
void OnGestureEvent(ui::GestureEvent* event) override; |
void GetAccessibleNodeData(ui::AXNodeData* node_data) override; |
- // views::MouseWatcherListener: |
+ // MouseWatcherListener: |
void MouseMovedOutOfHost() override; |
- // views::WidgetObserver: |
- void OnWidgetDestroyed(views::Widget* widget) override; |
+ // WidgetObserver: |
+ void OnWidgetDestroyed(Widget* widget) override; |
- void set_bubble_arrow(views::BubbleBorder::Arrow arrow) { |
- bubble_arrow_ = arrow; |
+ // View: |
msw
2017/02/15 21:06:39
nit: order after ImageView, reorder definition to
vasilii
2017/02/16 14:28:07
Done.
|
+ bool OnMousePressed(const ui::MouseEvent& event) override; |
+ |
+ void set_bubble_arrow(BubbleBorder::Arrow arrow) { bubble_arrow_ = arrow; } |
msw
2017/02/15 21:06:39
nit: remove setter and member (and bubble_border.h
vasilii
2017/02/16 14:28:07
Done.
|
+ |
+ void set_bubble_width(int preferred_width) { |
+ preferred_width_ = preferred_width; |
} |
private: |
@@ -68,20 +73,23 @@ class TooltipIcon : public views::ImageView, |
// A bubble shown on hover. Weak; owns itself. NULL while hiding. |
InfoBubble* bubble_; |
+ // The width the tooltip prefers to be. Default is 0 (no preference). |
+ int preferred_width_; |
+ |
// The position of the bubble's arrow. |
- views::BubbleBorder::Arrow bubble_arrow_; |
+ BubbleBorder::Arrow bubble_arrow_; |
// A timer to delay showing |bubble_|. |
base::OneShotTimer show_timer_; |
// A watcher that keeps |bubble_| open if the user's mouse enters it. |
- std::unique_ptr<views::MouseWatcher> mouse_watcher_; |
+ std::unique_ptr<MouseWatcher> mouse_watcher_; |
- ScopedObserver<views::Widget, TooltipIcon> observer_; |
+ ScopedObserver<Widget, TooltipIcon> observer_; |
DISALLOW_COPY_AND_ASSIGN(TooltipIcon); |
}; |
-} // namespace autofill |
+} // namespace views |
-#endif // CHROME_BROWSER_UI_VIEWS_AUTOFILL_TOOLTIP_ICON_H_ |
+#endif // UI_VIEWS_BUBBLE_TOOLTIP_ICON_H_ |