OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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/corewm/tooltip_controller.h" | 5 #include "ui/views/corewm/tooltip_controller.h" |
6 | 6 |
7 #include "base/macros.h" | 7 #include "base/macros.h" |
8 #include "base/strings/utf_string_conversions.h" | 8 #include "base/strings/utf_string_conversions.h" |
9 #include "build/build_config.h" | 9 #include "build/build_config.h" |
10 #include "ui/aura/client/cursor_client.h" | 10 #include "ui/aura/client/cursor_client.h" |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
81 class TooltipControllerTest : public ViewsTestBase { | 81 class TooltipControllerTest : public ViewsTestBase { |
82 public: | 82 public: |
83 TooltipControllerTest() : view_(NULL) {} | 83 TooltipControllerTest() : view_(NULL) {} |
84 ~TooltipControllerTest() override {} | 84 ~TooltipControllerTest() override {} |
85 | 85 |
86 void SetUp() override { | 86 void SetUp() override { |
87 ViewsTestBase::SetUp(); | 87 ViewsTestBase::SetUp(); |
88 | 88 |
89 // TODO: these tests use GetContext(). That should go away for aura-mus | 89 // TODO: these tests use GetContext(). That should go away for aura-mus |
90 // client. http://crbug.com/663781. | 90 // client. http://crbug.com/663781. |
91 if (IsAuraMusClient()) | 91 if (IsMus()) |
92 return; | 92 return; |
93 | 93 |
94 aura::Window* root_window = GetContext(); | 94 aura::Window* root_window = GetContext(); |
95 | 95 |
96 new wm::DefaultActivationClient(root_window); | 96 new wm::DefaultActivationClient(root_window); |
97 #if defined(OS_CHROMEOS) | 97 #if defined(OS_CHROMEOS) |
98 tooltip_aura_ = new views::corewm::TooltipAura(); | 98 tooltip_aura_ = new views::corewm::TooltipAura(); |
99 controller_.reset(new TooltipController( | 99 controller_.reset(new TooltipController( |
100 std::unique_ptr<views::corewm::Tooltip>(tooltip_aura_))); | 100 std::unique_ptr<views::corewm::Tooltip>(tooltip_aura_))); |
101 root_window->AddPreTargetHandler(controller_.get()); | 101 root_window->AddPreTargetHandler(controller_.get()); |
102 SetTooltipClient(root_window, controller_.get()); | 102 SetTooltipClient(root_window, controller_.get()); |
103 #endif | 103 #endif |
104 widget_.reset(CreateWidget(root_window)); | 104 widget_.reset(CreateWidget(root_window)); |
105 widget_->SetContentsView(new View); | 105 widget_->SetContentsView(new View); |
106 view_ = new TooltipTestView; | 106 view_ = new TooltipTestView; |
107 widget_->GetContentsView()->AddChildView(view_); | 107 widget_->GetContentsView()->AddChildView(view_); |
108 view_->SetBoundsRect(widget_->GetContentsView()->GetLocalBounds()); | 108 view_->SetBoundsRect(widget_->GetContentsView()->GetLocalBounds()); |
109 helper_.reset(new TooltipControllerTestHelper( | 109 helper_.reset(new TooltipControllerTestHelper( |
110 GetController(widget_.get()))); | 110 GetController(widget_.get()))); |
111 generator_.reset(new ui::test::EventGenerator(GetRootWindow())); | 111 generator_.reset(new ui::test::EventGenerator(GetRootWindow())); |
112 } | 112 } |
113 | 113 |
114 void TearDown() override { | 114 void TearDown() override { |
115 if (!IsAuraMusClient()) { | 115 if (!IsMus()) { |
116 #if defined(OS_CHROMEOS) | 116 #if defined(OS_CHROMEOS) |
117 aura::Window* root_window = GetContext(); | 117 aura::Window* root_window = GetContext(); |
118 root_window->RemovePreTargetHandler(controller_.get()); | 118 root_window->RemovePreTargetHandler(controller_.get()); |
119 aura::client::SetTooltipClient(root_window, NULL); | 119 aura::client::SetTooltipClient(root_window, NULL); |
120 controller_.reset(); | 120 controller_.reset(); |
121 #endif | 121 #endif |
122 generator_.reset(); | 122 generator_.reset(); |
123 helper_.reset(); | 123 helper_.reset(); |
124 widget_.reset(); | 124 widget_.reset(); |
125 } | 125 } |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
174 #if defined(OS_WIN) | 174 #if defined(OS_WIN) |
175 ui::ScopedOleInitializer ole_initializer_; | 175 ui::ScopedOleInitializer ole_initializer_; |
176 #endif | 176 #endif |
177 | 177 |
178 DISALLOW_COPY_AND_ASSIGN(TooltipControllerTest); | 178 DISALLOW_COPY_AND_ASSIGN(TooltipControllerTest); |
179 }; | 179 }; |
180 | 180 |
181 TEST_F(TooltipControllerTest, ViewTooltip) { | 181 TEST_F(TooltipControllerTest, ViewTooltip) { |
182 // TODO: these tests use GetContext(). That should go away for aura-mus | 182 // TODO: these tests use GetContext(). That should go away for aura-mus |
183 // client. http://crbug.com/663781. | 183 // client. http://crbug.com/663781. |
184 if (IsAuraMusClient()) | 184 if (IsMus()) |
185 return; | 185 return; |
186 | 186 |
187 view_->set_tooltip_text(ASCIIToUTF16("Tooltip Text")); | 187 view_->set_tooltip_text(ASCIIToUTF16("Tooltip Text")); |
188 EXPECT_EQ(base::string16(), helper_->GetTooltipText()); | 188 EXPECT_EQ(base::string16(), helper_->GetTooltipText()); |
189 EXPECT_EQ(NULL, helper_->GetTooltipWindow()); | 189 EXPECT_EQ(NULL, helper_->GetTooltipWindow()); |
190 generator_->MoveMouseToCenterOf(GetWindow()); | 190 generator_->MoveMouseToCenterOf(GetWindow()); |
191 | 191 |
192 EXPECT_EQ(GetWindow(), GetRootWindow()->GetEventHandlerForPoint( | 192 EXPECT_EQ(GetWindow(), GetRootWindow()->GetEventHandlerForPoint( |
193 generator_->current_location())); | 193 generator_->current_location())); |
194 base::string16 expected_tooltip = ASCIIToUTF16("Tooltip Text"); | 194 base::string16 expected_tooltip = ASCIIToUTF16("Tooltip Text"); |
195 EXPECT_EQ(expected_tooltip, aura::client::GetTooltipText(GetWindow())); | 195 EXPECT_EQ(expected_tooltip, aura::client::GetTooltipText(GetWindow())); |
196 EXPECT_EQ(base::string16(), helper_->GetTooltipText()); | 196 EXPECT_EQ(base::string16(), helper_->GetTooltipText()); |
197 EXPECT_EQ(GetWindow(), helper_->GetTooltipWindow()); | 197 EXPECT_EQ(GetWindow(), helper_->GetTooltipWindow()); |
198 | 198 |
199 // Fire tooltip timer so tooltip becomes visible. | 199 // Fire tooltip timer so tooltip becomes visible. |
200 helper_->FireTooltipTimer(); | 200 helper_->FireTooltipTimer(); |
201 | 201 |
202 EXPECT_TRUE(helper_->IsTooltipVisible()); | 202 EXPECT_TRUE(helper_->IsTooltipVisible()); |
203 generator_->MoveMouseBy(1, 0); | 203 generator_->MoveMouseBy(1, 0); |
204 | 204 |
205 EXPECT_TRUE(helper_->IsTooltipVisible()); | 205 EXPECT_TRUE(helper_->IsTooltipVisible()); |
206 EXPECT_EQ(expected_tooltip, aura::client::GetTooltipText(GetWindow())); | 206 EXPECT_EQ(expected_tooltip, aura::client::GetTooltipText(GetWindow())); |
207 EXPECT_EQ(expected_tooltip, helper_->GetTooltipText()); | 207 EXPECT_EQ(expected_tooltip, helper_->GetTooltipText()); |
208 EXPECT_EQ(GetWindow(), helper_->GetTooltipWindow()); | 208 EXPECT_EQ(GetWindow(), helper_->GetTooltipWindow()); |
209 } | 209 } |
210 | 210 |
211 #if defined(OS_CHROMEOS) | 211 #if defined(OS_CHROMEOS) |
212 // crbug.com/664370. | 212 // crbug.com/664370. |
213 TEST_F(TooltipControllerTest, MaxWidth) { | 213 TEST_F(TooltipControllerTest, MaxWidth) { |
214 // TODO: these tests use GetContext(). That should go away for aura-mus | 214 // TODO: these tests use GetContext(). That should go away for mus client. |
215 // client. http://crbug.com/663781. | 215 // http://crbug.com/663781. |
216 if (IsAuraMusClient() || IsMus()) | 216 if (IsMus()) |
217 return; | 217 return; |
218 | 218 |
219 base::string16 text = base::ASCIIToUTF16( | 219 base::string16 text = base::ASCIIToUTF16( |
220 "Really really realy long long long long long tooltips that exceeds max " | 220 "Really really realy long long long long long tooltips that exceeds max " |
221 "width"); | 221 "width"); |
222 view_->set_tooltip_text(text); | 222 view_->set_tooltip_text(text); |
223 gfx::Point center = GetWindow()->bounds().CenterPoint(); | 223 gfx::Point center = GetWindow()->bounds().CenterPoint(); |
224 generator_->MoveMouseTo(center); | 224 generator_->MoveMouseTo(center); |
225 | 225 |
226 // Fire tooltip timer so tooltip becomes visible. | 226 // Fire tooltip timer so tooltip becomes visible. |
227 helper_->FireTooltipTimer(); | 227 helper_->FireTooltipTimer(); |
228 | 228 |
229 EXPECT_TRUE(helper_->IsTooltipVisible()); | 229 EXPECT_TRUE(helper_->IsTooltipVisible()); |
230 gfx::RenderText* render_text = | 230 gfx::RenderText* render_text = |
231 test::TooltipAuraTestApi(tooltip_aura_).GetRenderText(); | 231 test::TooltipAuraTestApi(tooltip_aura_).GetRenderText(); |
232 | 232 |
233 int max = helper_->controller()->GetMaxWidth(center); | 233 int max = helper_->controller()->GetMaxWidth(center); |
234 EXPECT_EQ(max, render_text->display_rect().width()); | 234 EXPECT_EQ(max, render_text->display_rect().width()); |
235 } | 235 } |
236 #endif | 236 #endif |
237 | 237 |
238 TEST_F(TooltipControllerTest, TooltipsInMultipleViews) { | 238 TEST_F(TooltipControllerTest, TooltipsInMultipleViews) { |
239 // TODO: these tests use GetContext(). That should go away for aura-mus | 239 // TODO: these tests use GetContext(). That should go away for aura-mus |
240 // client. http://crbug.com/663781. | 240 // client. http://crbug.com/663781. |
241 if (IsAuraMusClient()) | 241 if (IsMus()) |
242 return; | 242 return; |
243 | 243 |
244 view_->set_tooltip_text(ASCIIToUTF16("Tooltip Text")); | 244 view_->set_tooltip_text(ASCIIToUTF16("Tooltip Text")); |
245 EXPECT_EQ(base::string16(), helper_->GetTooltipText()); | 245 EXPECT_EQ(base::string16(), helper_->GetTooltipText()); |
246 EXPECT_EQ(NULL, helper_->GetTooltipWindow()); | 246 EXPECT_EQ(NULL, helper_->GetTooltipWindow()); |
247 | 247 |
248 PrepareSecondView(); | 248 PrepareSecondView(); |
249 aura::Window* window = GetWindow(); | 249 aura::Window* window = GetWindow(); |
250 aura::Window* root_window = GetRootWindow(); | 250 aura::Window* root_window = GetRootWindow(); |
251 | 251 |
(...skipping 19 matching lines...) Expand all Loading... |
271 base::string16 expected_tooltip; // = "" | 271 base::string16 expected_tooltip; // = "" |
272 EXPECT_EQ(expected_tooltip, aura::client::GetTooltipText(window)); | 272 EXPECT_EQ(expected_tooltip, aura::client::GetTooltipText(window)); |
273 EXPECT_EQ(expected_tooltip, helper_->GetTooltipText()); | 273 EXPECT_EQ(expected_tooltip, helper_->GetTooltipText()); |
274 EXPECT_EQ(window, helper_->GetTooltipWindow()); | 274 EXPECT_EQ(window, helper_->GetTooltipWindow()); |
275 } | 275 } |
276 } | 276 } |
277 | 277 |
278 TEST_F(TooltipControllerTest, EnableOrDisableTooltips) { | 278 TEST_F(TooltipControllerTest, EnableOrDisableTooltips) { |
279 // TODO: these tests use GetContext(). That should go away for aura-mus | 279 // TODO: these tests use GetContext(). That should go away for aura-mus |
280 // client. http://crbug.com/663781. | 280 // client. http://crbug.com/663781. |
281 if (IsAuraMusClient()) | 281 if (IsMus()) |
282 return; | 282 return; |
283 | 283 |
284 view_->set_tooltip_text(ASCIIToUTF16("Tooltip Text")); | 284 view_->set_tooltip_text(ASCIIToUTF16("Tooltip Text")); |
285 EXPECT_EQ(base::string16(), helper_->GetTooltipText()); | 285 EXPECT_EQ(base::string16(), helper_->GetTooltipText()); |
286 EXPECT_EQ(NULL, helper_->GetTooltipWindow()); | 286 EXPECT_EQ(NULL, helper_->GetTooltipWindow()); |
287 | 287 |
288 generator_->MoveMouseRelativeTo(GetWindow(), view_->bounds().CenterPoint()); | 288 generator_->MoveMouseRelativeTo(GetWindow(), view_->bounds().CenterPoint()); |
289 base::string16 expected_tooltip = ASCIIToUTF16("Tooltip Text"); | 289 base::string16 expected_tooltip = ASCIIToUTF16("Tooltip Text"); |
290 | 290 |
291 // Fire tooltip timer so tooltip becomes visible. | 291 // Fire tooltip timer so tooltip becomes visible. |
(...skipping 10 matching lines...) Expand all Loading... |
302 helper_->controller()->SetTooltipsEnabled(true); | 302 helper_->controller()->SetTooltipsEnabled(true); |
303 EXPECT_FALSE(helper_->IsTooltipVisible()); | 303 EXPECT_FALSE(helper_->IsTooltipVisible()); |
304 helper_->FireTooltipTimer(); | 304 helper_->FireTooltipTimer(); |
305 EXPECT_TRUE(helper_->IsTooltipVisible()); | 305 EXPECT_TRUE(helper_->IsTooltipVisible()); |
306 } | 306 } |
307 | 307 |
308 // Verifies tooltip isn't shown if tooltip text consists entirely of whitespace. | 308 // Verifies tooltip isn't shown if tooltip text consists entirely of whitespace. |
309 TEST_F(TooltipControllerTest, DontShowEmptyTooltips) { | 309 TEST_F(TooltipControllerTest, DontShowEmptyTooltips) { |
310 // TODO: these tests use GetContext(). That should go away for aura-mus | 310 // TODO: these tests use GetContext(). That should go away for aura-mus |
311 // client. http://crbug.com/663781. | 311 // client. http://crbug.com/663781. |
312 if (IsAuraMusClient()) | 312 if (IsMus()) |
313 return; | 313 return; |
314 | 314 |
315 view_->set_tooltip_text(ASCIIToUTF16(" ")); | 315 view_->set_tooltip_text(ASCIIToUTF16(" ")); |
316 EXPECT_EQ(base::string16(), helper_->GetTooltipText()); | 316 EXPECT_EQ(base::string16(), helper_->GetTooltipText()); |
317 EXPECT_EQ(NULL, helper_->GetTooltipWindow()); | 317 EXPECT_EQ(NULL, helper_->GetTooltipWindow()); |
318 | 318 |
319 generator_->MoveMouseRelativeTo(GetWindow(), view_->bounds().CenterPoint()); | 319 generator_->MoveMouseRelativeTo(GetWindow(), view_->bounds().CenterPoint()); |
320 | 320 |
321 helper_->FireTooltipTimer(); | 321 helper_->FireTooltipTimer(); |
322 EXPECT_FALSE(helper_->IsTooltipVisible()); | 322 EXPECT_FALSE(helper_->IsTooltipVisible()); |
323 } | 323 } |
324 | 324 |
325 TEST_F(TooltipControllerTest, TooltipHidesOnKeyPressAndStaysHiddenUntilChange) { | 325 TEST_F(TooltipControllerTest, TooltipHidesOnKeyPressAndStaysHiddenUntilChange) { |
326 // TODO: these tests use GetContext(). That should go away for aura-mus | 326 // TODO: these tests use GetContext(). That should go away for aura-mus |
327 // client. http://crbug.com/663781. | 327 // client. http://crbug.com/663781. |
328 if (IsAuraMusClient()) | 328 if (IsMus()) |
329 return; | 329 return; |
330 | 330 |
331 view_->set_tooltip_text(ASCIIToUTF16("Tooltip Text for view 1")); | 331 view_->set_tooltip_text(ASCIIToUTF16("Tooltip Text for view 1")); |
332 EXPECT_EQ(base::string16(), helper_->GetTooltipText()); | 332 EXPECT_EQ(base::string16(), helper_->GetTooltipText()); |
333 EXPECT_EQ(NULL, helper_->GetTooltipWindow()); | 333 EXPECT_EQ(NULL, helper_->GetTooltipWindow()); |
334 | 334 |
335 TooltipTestView* view2 = PrepareSecondView(); | 335 TooltipTestView* view2 = PrepareSecondView(); |
336 view2->set_tooltip_text(ASCIIToUTF16("Tooltip Text for view 2")); | 336 view2->set_tooltip_text(ASCIIToUTF16("Tooltip Text for view 2")); |
337 | 337 |
338 aura::Window* window = GetWindow(); | 338 aura::Window* window = GetWindow(); |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
372 EXPECT_TRUE(helper_->IsTooltipShownTimerRunning()); | 372 EXPECT_TRUE(helper_->IsTooltipShownTimerRunning()); |
373 base::string16 expected_tooltip = ASCIIToUTF16("Tooltip Text for view 2"); | 373 base::string16 expected_tooltip = ASCIIToUTF16("Tooltip Text for view 2"); |
374 EXPECT_EQ(expected_tooltip, aura::client::GetTooltipText(window)); | 374 EXPECT_EQ(expected_tooltip, aura::client::GetTooltipText(window)); |
375 EXPECT_EQ(expected_tooltip, helper_->GetTooltipText()); | 375 EXPECT_EQ(expected_tooltip, helper_->GetTooltipText()); |
376 EXPECT_EQ(window, helper_->GetTooltipWindow()); | 376 EXPECT_EQ(window, helper_->GetTooltipWindow()); |
377 } | 377 } |
378 | 378 |
379 TEST_F(TooltipControllerTest, TooltipHidesOnTimeoutAndStaysHiddenUntilChange) { | 379 TEST_F(TooltipControllerTest, TooltipHidesOnTimeoutAndStaysHiddenUntilChange) { |
380 // TODO: these tests use GetContext(). That should go away for aura-mus | 380 // TODO: these tests use GetContext(). That should go away for aura-mus |
381 // client. http://crbug.com/663781. | 381 // client. http://crbug.com/663781. |
382 if (IsAuraMusClient()) | 382 if (IsMus()) |
383 return; | 383 return; |
384 | 384 |
385 view_->set_tooltip_text(ASCIIToUTF16("Tooltip Text for view 1")); | 385 view_->set_tooltip_text(ASCIIToUTF16("Tooltip Text for view 1")); |
386 EXPECT_EQ(base::string16(), helper_->GetTooltipText()); | 386 EXPECT_EQ(base::string16(), helper_->GetTooltipText()); |
387 EXPECT_EQ(NULL, helper_->GetTooltipWindow()); | 387 EXPECT_EQ(NULL, helper_->GetTooltipWindow()); |
388 | 388 |
389 TooltipTestView* view2 = PrepareSecondView(); | 389 TooltipTestView* view2 = PrepareSecondView(); |
390 view2->set_tooltip_text(ASCIIToUTF16("Tooltip Text for view 2")); | 390 view2->set_tooltip_text(ASCIIToUTF16("Tooltip Text for view 2")); |
391 | 391 |
392 aura::Window* window = GetWindow(); | 392 aura::Window* window = GetWindow(); |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
426 base::string16 expected_tooltip = ASCIIToUTF16("Tooltip Text for view 2"); | 426 base::string16 expected_tooltip = ASCIIToUTF16("Tooltip Text for view 2"); |
427 EXPECT_EQ(expected_tooltip, aura::client::GetTooltipText(window)); | 427 EXPECT_EQ(expected_tooltip, aura::client::GetTooltipText(window)); |
428 EXPECT_EQ(expected_tooltip, helper_->GetTooltipText()); | 428 EXPECT_EQ(expected_tooltip, helper_->GetTooltipText()); |
429 EXPECT_EQ(window, helper_->GetTooltipWindow()); | 429 EXPECT_EQ(window, helper_->GetTooltipWindow()); |
430 } | 430 } |
431 | 431 |
432 // Verifies a mouse exit event hides the tooltips. | 432 // Verifies a mouse exit event hides the tooltips. |
433 TEST_F(TooltipControllerTest, HideOnExit) { | 433 TEST_F(TooltipControllerTest, HideOnExit) { |
434 // TODO: these tests use GetContext(). That should go away for aura-mus | 434 // TODO: these tests use GetContext(). That should go away for aura-mus |
435 // client. http://crbug.com/663781. | 435 // client. http://crbug.com/663781. |
436 if (IsAuraMusClient()) | 436 if (IsMus()) |
437 return; | 437 return; |
438 | 438 |
439 view_->set_tooltip_text(ASCIIToUTF16("Tooltip Text")); | 439 view_->set_tooltip_text(ASCIIToUTF16("Tooltip Text")); |
440 generator_->MoveMouseToCenterOf(GetWindow()); | 440 generator_->MoveMouseToCenterOf(GetWindow()); |
441 base::string16 expected_tooltip = ASCIIToUTF16("Tooltip Text"); | 441 base::string16 expected_tooltip = ASCIIToUTF16("Tooltip Text"); |
442 EXPECT_EQ(expected_tooltip, aura::client::GetTooltipText(GetWindow())); | 442 EXPECT_EQ(expected_tooltip, aura::client::GetTooltipText(GetWindow())); |
443 EXPECT_EQ(base::string16(), helper_->GetTooltipText()); | 443 EXPECT_EQ(base::string16(), helper_->GetTooltipText()); |
444 EXPECT_EQ(GetWindow(), helper_->GetTooltipWindow()); | 444 EXPECT_EQ(GetWindow(), helper_->GetTooltipWindow()); |
445 | 445 |
446 // Fire tooltip timer so tooltip becomes visible. | 446 // Fire tooltip timer so tooltip becomes visible. |
447 helper_->FireTooltipTimer(); | 447 helper_->FireTooltipTimer(); |
448 | 448 |
449 EXPECT_TRUE(helper_->IsTooltipVisible()); | 449 EXPECT_TRUE(helper_->IsTooltipVisible()); |
450 generator_->SendMouseExit(); | 450 generator_->SendMouseExit(); |
451 EXPECT_FALSE(helper_->IsTooltipVisible()); | 451 EXPECT_FALSE(helper_->IsTooltipVisible()); |
452 } | 452 } |
453 | 453 |
454 TEST_F(TooltipControllerTest, ReshowOnClickAfterEnterExit) { | 454 TEST_F(TooltipControllerTest, ReshowOnClickAfterEnterExit) { |
455 // TODO: these tests use GetContext(). That should go away for aura-mus | 455 // TODO: these tests use GetContext(). That should go away for aura-mus |
456 // client. http://crbug.com/663781. | 456 // client. http://crbug.com/663781. |
457 if (IsAuraMusClient()) | 457 if (IsMus()) |
458 return; | 458 return; |
459 | 459 |
460 // Owned by |view_|. | 460 // Owned by |view_|. |
461 TooltipTestView* v1 = new TooltipTestView; | 461 TooltipTestView* v1 = new TooltipTestView; |
462 TooltipTestView* v2 = new TooltipTestView; | 462 TooltipTestView* v2 = new TooltipTestView; |
463 view_->AddChildView(v1); | 463 view_->AddChildView(v1); |
464 view_->AddChildView(v2); | 464 view_->AddChildView(v2); |
465 gfx::Rect view_bounds(view_->GetLocalBounds()); | 465 gfx::Rect view_bounds(view_->GetLocalBounds()); |
466 view_bounds.set_height(view_bounds.height() / 2); | 466 view_bounds.set_height(view_bounds.height() / 2); |
467 v1->SetBoundsRect(view_bounds); | 467 v1->SetBoundsRect(view_bounds); |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
510 | 510 |
511 class TooltipControllerCaptureTest : public TooltipControllerTest { | 511 class TooltipControllerCaptureTest : public TooltipControllerTest { |
512 public: | 512 public: |
513 TooltipControllerCaptureTest() {} | 513 TooltipControllerCaptureTest() {} |
514 ~TooltipControllerCaptureTest() override {} | 514 ~TooltipControllerCaptureTest() override {} |
515 | 515 |
516 void SetUp() override { | 516 void SetUp() override { |
517 TooltipControllerTest::SetUp(); | 517 TooltipControllerTest::SetUp(); |
518 // TODO: these tests use GetContext(). That should go away for aura-mus | 518 // TODO: these tests use GetContext(). That should go away for aura-mus |
519 // client. http://crbug.com/663781. | 519 // client. http://crbug.com/663781. |
520 if (IsAuraMusClient()) | 520 if (IsMus()) |
521 return; | 521 return; |
522 | 522 |
523 aura::client::SetScreenPositionClient(GetRootWindow(), | 523 aura::client::SetScreenPositionClient(GetRootWindow(), |
524 &screen_position_client_); | 524 &screen_position_client_); |
525 } | 525 } |
526 | 526 |
527 void TearDown() override { | 527 void TearDown() override { |
528 if (!IsAuraMusClient()) | 528 if (!IsMus()) |
529 aura::client::SetScreenPositionClient(GetRootWindow(), NULL); | 529 aura::client::SetScreenPositionClient(GetRootWindow(), NULL); |
530 TooltipControllerTest::TearDown(); | 530 TooltipControllerTest::TearDown(); |
531 } | 531 } |
532 | 532 |
533 private: | 533 private: |
534 wm::DefaultScreenPositionClient screen_position_client_; | 534 wm::DefaultScreenPositionClient screen_position_client_; |
535 std::unique_ptr<display::Screen> desktop_screen_; | 535 std::unique_ptr<display::Screen> desktop_screen_; |
536 | 536 |
537 DISALLOW_COPY_AND_ASSIGN(TooltipControllerCaptureTest); | 537 DISALLOW_COPY_AND_ASSIGN(TooltipControllerCaptureTest); |
538 }; | 538 }; |
539 | 539 |
540 // Verifies when capture is released the TooltipController resets state. | 540 // Verifies when capture is released the TooltipController resets state. |
541 // Flaky on all builders. http://crbug.com/388268 | 541 // Flaky on all builders. http://crbug.com/388268 |
542 TEST_F(TooltipControllerCaptureTest, DISABLED_CloseOnCaptureLost) { | 542 TEST_F(TooltipControllerCaptureTest, DISABLED_CloseOnCaptureLost) { |
543 // TODO: these tests use GetContext(). That should go away for aura-mus | 543 // TODO: these tests use GetContext(). That should go away for aura-mus |
544 // client. http://crbug.com/663781. | 544 // client. http://crbug.com/663781. |
545 if (IsAuraMusClient()) | 545 if (IsMus()) |
546 return; | 546 return; |
547 | 547 |
548 view_->GetWidget()->SetCapture(view_); | 548 view_->GetWidget()->SetCapture(view_); |
549 RunPendingMessages(); | 549 RunPendingMessages(); |
550 view_->set_tooltip_text(ASCIIToUTF16("Tooltip Text")); | 550 view_->set_tooltip_text(ASCIIToUTF16("Tooltip Text")); |
551 generator_->MoveMouseToCenterOf(GetWindow()); | 551 generator_->MoveMouseToCenterOf(GetWindow()); |
552 base::string16 expected_tooltip = ASCIIToUTF16("Tooltip Text"); | 552 base::string16 expected_tooltip = ASCIIToUTF16("Tooltip Text"); |
553 EXPECT_EQ(expected_tooltip, aura::client::GetTooltipText(GetWindow())); | 553 EXPECT_EQ(expected_tooltip, aura::client::GetTooltipText(GetWindow())); |
554 EXPECT_EQ(base::string16(), helper_->GetTooltipText()); | 554 EXPECT_EQ(base::string16(), helper_->GetTooltipText()); |
555 EXPECT_EQ(GetWindow(), helper_->GetTooltipWindow()); | 555 EXPECT_EQ(GetWindow(), helper_->GetTooltipWindow()); |
(...skipping 11 matching lines...) Expand all Loading... |
567 // consider z-order. | 567 // consider z-order. |
568 // Disabled on Windows due to failing bots. http://crbug.com/604479 | 568 // Disabled on Windows due to failing bots. http://crbug.com/604479 |
569 #if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_WIN) | 569 #if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_WIN) |
570 #define MAYBE_Capture DISABLED_Capture | 570 #define MAYBE_Capture DISABLED_Capture |
571 #else | 571 #else |
572 #define MAYBE_Capture Capture | 572 #define MAYBE_Capture Capture |
573 #endif | 573 #endif |
574 // Verifies the correct window is found for tooltips when there is a capture. | 574 // Verifies the correct window is found for tooltips when there is a capture. |
575 TEST_F(TooltipControllerCaptureTest, MAYBE_Capture) { | 575 TEST_F(TooltipControllerCaptureTest, MAYBE_Capture) { |
576 // Currently, capture in one test affects capture in other tests. | 576 // Currently, capture in one test affects capture in other tests. |
577 // TODO: these tests use GetContext(). That should go away for aura-mus | 577 // TODO: these tests use GetContext(). That should go away for mus client. |
578 // client. http://crbug.com/663781. | 578 // http://crbug.com/663781. |
579 if (IsMus() || IsAuraMusClient()) | 579 if (IsMus()) |
580 return; | 580 return; |
581 | 581 |
582 const base::string16 tooltip_text(ASCIIToUTF16("1")); | 582 const base::string16 tooltip_text(ASCIIToUTF16("1")); |
583 const base::string16 tooltip_text2(ASCIIToUTF16("2")); | 583 const base::string16 tooltip_text2(ASCIIToUTF16("2")); |
584 | 584 |
585 widget_->SetBounds(gfx::Rect(0, 0, 200, 200)); | 585 widget_->SetBounds(gfx::Rect(0, 0, 200, 200)); |
586 view_->set_tooltip_text(tooltip_text); | 586 view_->set_tooltip_text(tooltip_text); |
587 | 587 |
588 std::unique_ptr<views::Widget> widget2(CreateWidget(GetContext())); | 588 std::unique_ptr<views::Widget> widget2(CreateWidget(GetContext())); |
589 widget2->SetContentsView(new View); | 589 widget2->SetContentsView(new View); |
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
735 class TooltipControllerTest3 : public ViewsTestBase { | 735 class TooltipControllerTest3 : public ViewsTestBase { |
736 public: | 736 public: |
737 TooltipControllerTest3() : test_tooltip_(new TestTooltip) {} | 737 TooltipControllerTest3() : test_tooltip_(new TestTooltip) {} |
738 ~TooltipControllerTest3() override {} | 738 ~TooltipControllerTest3() override {} |
739 | 739 |
740 void SetUp() override { | 740 void SetUp() override { |
741 ViewsTestBase::SetUp(); | 741 ViewsTestBase::SetUp(); |
742 | 742 |
743 // TODO: these tests use GetContext(). That should go away for aura-mus | 743 // TODO: these tests use GetContext(). That should go away for aura-mus |
744 // client. http://crbug.com/663781. | 744 // client. http://crbug.com/663781. |
745 if (IsAuraMusClient()) | 745 if (IsMus()) |
746 return; | 746 return; |
747 | 747 |
748 aura::Window* root_window = GetContext(); | 748 aura::Window* root_window = GetContext(); |
749 new wm::DefaultActivationClient(root_window); | 749 new wm::DefaultActivationClient(root_window); |
750 | 750 |
751 widget_.reset(CreateWidget(root_window)); | 751 widget_.reset(CreateWidget(root_window)); |
752 widget_->SetContentsView(new View); | 752 widget_->SetContentsView(new View); |
753 view_ = new TooltipTestView; | 753 view_ = new TooltipTestView; |
754 widget_->GetContentsView()->AddChildView(view_); | 754 widget_->GetContentsView()->AddChildView(view_); |
755 view_->SetBoundsRect(widget_->GetContentsView()->GetLocalBounds()); | 755 view_->SetBoundsRect(widget_->GetContentsView()->GetLocalBounds()); |
756 | 756 |
757 generator_.reset(new ui::test::EventGenerator(GetRootWindow())); | 757 generator_.reset(new ui::test::EventGenerator(GetRootWindow())); |
758 controller_.reset(new TooltipController( | 758 controller_.reset(new TooltipController( |
759 std::unique_ptr<views::corewm::Tooltip>(test_tooltip_))); | 759 std::unique_ptr<views::corewm::Tooltip>(test_tooltip_))); |
760 GetRootWindow()->RemovePreTargetHandler( | 760 GetRootWindow()->RemovePreTargetHandler( |
761 static_cast<TooltipController*>(aura::client::GetTooltipClient( | 761 static_cast<TooltipController*>(aura::client::GetTooltipClient( |
762 widget_->GetNativeWindow()->GetRootWindow()))); | 762 widget_->GetNativeWindow()->GetRootWindow()))); |
763 GetRootWindow()->AddPreTargetHandler(controller_.get()); | 763 GetRootWindow()->AddPreTargetHandler(controller_.get()); |
764 helper_.reset(new TooltipControllerTestHelper(controller_.get())); | 764 helper_.reset(new TooltipControllerTestHelper(controller_.get())); |
765 SetTooltipClient(GetRootWindow(), controller_.get()); | 765 SetTooltipClient(GetRootWindow(), controller_.get()); |
766 } | 766 } |
767 | 767 |
768 void TearDown() override { | 768 void TearDown() override { |
769 if (!IsAuraMusClient()) { | 769 if (!IsMus()) { |
770 GetRootWindow()->RemovePreTargetHandler(controller_.get()); | 770 GetRootWindow()->RemovePreTargetHandler(controller_.get()); |
771 aura::client::SetTooltipClient(GetRootWindow(), NULL); | 771 aura::client::SetTooltipClient(GetRootWindow(), NULL); |
772 | 772 |
773 controller_.reset(); | 773 controller_.reset(); |
774 generator_.reset(); | 774 generator_.reset(); |
775 helper_.reset(); | 775 helper_.reset(); |
776 widget_.reset(); | 776 widget_.reset(); |
777 } | 777 } |
778 ViewsTestBase::TearDown(); | 778 ViewsTestBase::TearDown(); |
779 } | 779 } |
(...skipping 16 matching lines...) Expand all Loading... |
796 #endif | 796 #endif |
797 | 797 |
798 aura::Window* GetRootWindow() { return GetWindow()->GetRootWindow(); } | 798 aura::Window* GetRootWindow() { return GetWindow()->GetRootWindow(); } |
799 | 799 |
800 DISALLOW_COPY_AND_ASSIGN(TooltipControllerTest3); | 800 DISALLOW_COPY_AND_ASSIGN(TooltipControllerTest3); |
801 }; | 801 }; |
802 | 802 |
803 TEST_F(TooltipControllerTest3, TooltipPositionChangesOnTwoViewsWithSameLabel) { | 803 TEST_F(TooltipControllerTest3, TooltipPositionChangesOnTwoViewsWithSameLabel) { |
804 // TODO: these tests use GetContext(). That should go away for aura-mus | 804 // TODO: these tests use GetContext(). That should go away for aura-mus |
805 // client. http://crbug.com/663781. | 805 // client. http://crbug.com/663781. |
806 if (IsAuraMusClient()) | 806 if (IsMus()) |
807 return; | 807 return; |
808 | 808 |
809 // Owned by |view_|. | 809 // Owned by |view_|. |
810 // These two views have the same tooltip text | 810 // These two views have the same tooltip text |
811 TooltipTestView* v1 = new TooltipTestView; | 811 TooltipTestView* v1 = new TooltipTestView; |
812 TooltipTestView* v2 = new TooltipTestView; | 812 TooltipTestView* v2 = new TooltipTestView; |
813 // v1_1 is a view inside v1 that has an identical tooltip text to that of v1 | 813 // v1_1 is a view inside v1 that has an identical tooltip text to that of v1 |
814 // and v2 | 814 // and v2 |
815 TooltipTestView* v1_1 = new TooltipTestView; | 815 TooltipTestView* v1_1 = new TooltipTestView; |
816 // v2_1 is a view inside v2 that has an identical tooltip text to that of v1 | 816 // v2_1 is a view inside v2 that has an identical tooltip text to that of v1 |
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
906 helper_->FireTooltipTimer(); | 906 helper_->FireTooltipTimer(); |
907 tooltip_bounds1 = test_tooltip_->location(); | 907 tooltip_bounds1 = test_tooltip_->location(); |
908 | 908 |
909 EXPECT_NE(tooltip_bounds1_1, tooltip_bounds1); | 909 EXPECT_NE(tooltip_bounds1_1, tooltip_bounds1); |
910 EXPECT_EQ(reference_string, helper_->GetTooltipText()); | 910 EXPECT_EQ(reference_string, helper_->GetTooltipText()); |
911 } | 911 } |
912 | 912 |
913 } // namespace test | 913 } // namespace test |
914 } // namespace corewm | 914 } // namespace corewm |
915 } // namespace views | 915 } // namespace views |
OLD | NEW |