Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(11)

Side by Side Diff: ui/views/corewm/tooltip_controller.h

Issue 213833018: Aura tooltips do not move on mouse move in case of many neighboring views with the same label (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix Linux test TooltipControllerTest3 Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | ui/views/corewm/tooltip_controller.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef UI_VIEWS_COREWM_TOOLTIP_CONTROLLER_H_ 5 #ifndef UI_VIEWS_COREWM_TOOLTIP_CONTROLLER_H_
6 #define UI_VIEWS_COREWM_TOOLTIP_CONTROLLER_H_ 6 #define UI_VIEWS_COREWM_TOOLTIP_CONTROLLER_H_
7 7
8 #include <map> 8 #include <map>
9 9
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
54 54
55 const gfx::Point& mouse_location() const { return curr_mouse_loc_; } 55 const gfx::Point& mouse_location() const { return curr_mouse_loc_; }
56 56
57 private: 57 private:
58 friend class test::TooltipControllerTestHelper; 58 friend class test::TooltipControllerTestHelper;
59 59
60 void TooltipTimerFired(); 60 void TooltipTimerFired();
61 void TooltipShownTimerFired(); 61 void TooltipShownTimerFired();
62 62
63 // Updates the tooltip if required (if there is any change in the tooltip 63 // Updates the tooltip if required (if there is any change in the tooltip
64 // text or the aura::Window. 64 // text, tooltip id or the aura::Window).
65 void UpdateIfRequired(); 65 void UpdateIfRequired();
66 66
67 // Only used in tests. 67 // Only used in tests.
68 bool IsTooltipVisible(); 68 bool IsTooltipVisible();
69 69
70 bool IsDragDropInProgress(); 70 bool IsDragDropInProgress();
71 71
72 // Returns true if the cursor is visible. 72 // Returns true if the cursor is visible.
73 bool IsCursorVisible(); 73 bool IsCursorVisible();
74 74
75 int GetTooltipShownTimeout(); 75 int GetTooltipShownTimeout();
76 76
77 // Sets tooltip window to |target| if it is different from existing window. 77 // Sets tooltip window to |target| if it is different from existing window.
78 // Calls RemoveObserver on the existing window if it is not NULL. 78 // Calls RemoveObserver on the existing window if it is not NULL.
79 // Calls AddObserver on the new window if it is not NULL. 79 // Calls AddObserver on the new window if it is not NULL.
80 void SetTooltipWindow(aura::Window* target); 80 void SetTooltipWindow(aura::Window* target);
81 81
82 aura::Window* tooltip_window_; 82 aura::Window* tooltip_window_;
83 base::string16 tooltip_text_; 83 base::string16 tooltip_text_;
84 const void* tooltip_id_;
84 85
85 // These fields are for tracking state when the user presses a mouse button. 86 // These fields are for tracking state when the user presses a mouse button.
86 aura::Window* tooltip_window_at_mouse_press_; 87 aura::Window* tooltip_window_at_mouse_press_;
87 base::string16 tooltip_text_at_mouse_press_; 88 base::string16 tooltip_text_at_mouse_press_;
88 89
89 scoped_ptr<Tooltip> tooltip_; 90 scoped_ptr<Tooltip> tooltip_;
90 91
91 base::RepeatingTimer<TooltipController> tooltip_timer_; 92 base::RepeatingTimer<TooltipController> tooltip_timer_;
92 93
93 // Timer to timeout the life of an on-screen tooltip. We hide the tooltip when 94 // Timer to timeout the life of an on-screen tooltip. We hide the tooltip when
94 // this timer fires. 95 // this timer fires.
95 base::OneShotTimer<TooltipController> tooltip_shown_timer_; 96 base::OneShotTimer<TooltipController> tooltip_shown_timer_;
96 97
97 // Location of the last event in |tooltip_window_|'s coordinates. 98 // Location of the last event in |tooltip_window_|'s coordinates.
98 gfx::Point curr_mouse_loc_; 99 gfx::Point curr_mouse_loc_;
99 100
100 bool tooltips_enabled_; 101 bool tooltips_enabled_;
101 102
102 std::map<aura::Window*, int> tooltip_shown_timeout_map_; 103 std::map<aura::Window*, int> tooltip_shown_timeout_map_;
103 104
104 DISALLOW_COPY_AND_ASSIGN(TooltipController); 105 DISALLOW_COPY_AND_ASSIGN(TooltipController);
105 }; 106 };
106 107
107 } // namespace corewm 108 } // namespace corewm
108 } // namespace views 109 } // namespace views
109 110
110 #endif // UI_VIEWS_COREWM_TOOLTIP_CONTROLLER_H_ 111 #endif // UI_VIEWS_COREWM_TOOLTIP_CONTROLLER_H_
OLDNEW
« no previous file with comments | « no previous file | ui/views/corewm/tooltip_controller.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698