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

Side by Side Diff: ui/views/widget/tooltip_manager_aura.cc

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: Sanity fixups Created 6 years, 8 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
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 #include "ui/views/widget/tooltip_manager_aura.h" 5 #include "ui/views/widget/tooltip_manager_aura.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "ui/aura/client/screen_position_client.h" 8 #include "ui/aura/client/screen_position_client.h"
9 #include "ui/aura/window_event_dispatcher.h" 9 #include "ui/aura/window_event_dispatcher.h"
10 #include "ui/aura/window_tree_host.h" 10 #include "ui/aura/window_tree_host.h"
11 #include "ui/base/resource/resource_bundle.h" 11 #include "ui/base/resource/resource_bundle.h"
12 #include "ui/gfx/rect.h" 12 #include "ui/gfx/rect.h"
13 #include "ui/gfx/screen.h" 13 #include "ui/gfx/screen.h"
14 #include "ui/views/view.h"
sky 2014/04/23 20:08:46 not needed.
Mikus 2014/04/24 08:39:56 Done.
14 #include "ui/views/widget/widget.h" 15 #include "ui/views/widget/widget.h"
15 #include "ui/wm/public/tooltip_client.h" 16 #include "ui/wm/public/tooltip_client.h"
16 17
17 namespace views { 18 namespace views {
18 19
19 // static 20 // static
20 int TooltipManager::GetTooltipHeight() { 21 int TooltipManager::GetTooltipHeight() {
21 // Not used for linux and chromeos. 22 // Not used for linux and chromeos.
22 NOTIMPLEMENTED(); 23 NOTIMPLEMENTED();
23 return 0; 24 return 0;
24 } 25 }
25 26
26 //////////////////////////////////////////////////////////////////////////////// 27 ////////////////////////////////////////////////////////////////////////////////
27 // TooltipManagerAura public: 28 // TooltipManagerAura public:
28 29
29 TooltipManagerAura::TooltipManagerAura(Widget* widget) : widget_(widget) { 30 TooltipManagerAura::TooltipManagerAura(Widget* widget)
30 aura::client::SetTooltipText(GetWindow(), &tooltip_text_); 31 : widget_(widget), tooltip_unique_(NULL) {
32 aura::client::SetTooltipText(GetWindow(), &tooltip_text_, &tooltip_unique_);
31 } 33 }
32 34
33 TooltipManagerAura::~TooltipManagerAura() { 35 TooltipManagerAura::~TooltipManagerAura() {
34 aura::client::SetTooltipText(GetWindow(), NULL); 36 aura::client::SetTooltipText(GetWindow(), NULL, NULL);
35 } 37 }
36 38
37 // static 39 // static
38 const gfx::FontList& TooltipManagerAura::GetDefaultFontList() { 40 const gfx::FontList& TooltipManagerAura::GetDefaultFontList() {
39 return ui::ResourceBundle::GetSharedInstance().GetFontList( 41 return ui::ResourceBundle::GetSharedInstance().GetFontList(
40 ui::ResourceBundle::BaseFont); 42 ui::ResourceBundle::BaseFont);
41 } 43 }
42 44
43 // static 45 // static
44 void TooltipManagerAura::UpdateTooltipManagerForCapture(Widget* source) { 46 void TooltipManagerAura::UpdateTooltipManagerForCapture(Widget* source) {
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
115 View* TooltipManagerAura::GetViewUnderPoint(const gfx::Point& point) { 117 View* TooltipManagerAura::GetViewUnderPoint(const gfx::Point& point) {
116 View* root_view = widget_->GetRootView(); 118 View* root_view = widget_->GetRootView();
117 if (root_view) 119 if (root_view)
118 return root_view->GetTooltipHandlerForPoint(point); 120 return root_view->GetTooltipHandlerForPoint(point);
119 return NULL; 121 return NULL;
120 } 122 }
121 123
122 void TooltipManagerAura::UpdateTooltipForTarget(View* target, 124 void TooltipManagerAura::UpdateTooltipForTarget(View* target,
123 const gfx::Point& point, 125 const gfx::Point& point,
124 aura::Window* root_window) { 126 aura::Window* root_window) {
127 bool related = false;
sky 2014/04/23 20:08:46 not needed.
Mikus 2014/04/24 08:39:56 Done.
125 if (target) { 128 if (target) {
126 gfx::Point view_point = point; 129 gfx::Point view_point = point;
127 View::ConvertPointFromWidget(target, &view_point); 130 View::ConvertPointFromWidget(target, &view_point);
128 base::string16 new_tooltip_text; 131 base::string16 new_tooltip_text;
129 if (!target->GetTooltipText(view_point, &new_tooltip_text)) 132 if (!target->GetTooltipText(view_point, &new_tooltip_text))
130 tooltip_text_.clear(); 133 tooltip_text_.clear();
131 else 134 else
132 tooltip_text_ = new_tooltip_text; 135 tooltip_text_ = new_tooltip_text;
133 } else { 136 } else {
134 tooltip_text_.clear(); 137 tooltip_text_.clear();
135 } 138 }
139
140 tooltip_unique_ = target;
141
136 aura::client::GetTooltipClient(root_window)->UpdateTooltip(GetWindow()); 142 aura::client::GetTooltipClient(root_window)->UpdateTooltip(GetWindow());
137 } 143 }
138 144
139 aura::Window* TooltipManagerAura::GetWindow() { 145 aura::Window* TooltipManagerAura::GetWindow() {
140 return widget_->GetNativeView(); 146 return widget_->GetNativeView();
141 } 147 }
142 148
143 } // namespace views. 149 } // namespace views.
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698