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

Side by Side Diff: ash/wm/shelf_layout_manager_unittest.cc

Issue 11795004: Continue threading context through unit tests. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 11 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 | Annotate | Revision Log
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 "ash/wm/shelf_layout_manager.h" 5 #include "ash/wm/shelf_layout_manager.h"
6 6
7 #include "ash/accelerators/accelerator_controller.h" 7 #include "ash/accelerators/accelerator_controller.h"
8 #include "ash/accelerators/accelerator_table.h" 8 #include "ash/accelerators/accelerator_table.h"
9 #include "ash/ash_switches.h" 9 #include "ash/ash_switches.h"
10 #include "ash/display/display_manager.h" 10 #include "ash/display/display_manager.h"
(...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after
292 gfx::Rect(0, 0, 200, 200)); 292 gfx::Rect(0, 0, 200, 200));
293 EXPECT_EQ(200, launcher->status_size().width()); 293 EXPECT_EQ(200, launcher->status_size().width());
294 } 294 }
295 295
296 // Verifies when the shell is deleted with a full screen window we don't 296 // Verifies when the shell is deleted with a full screen window we don't
297 // crash. This test is here as originally the crash was in ShelfLayoutManager. 297 // crash. This test is here as originally the crash was in ShelfLayoutManager.
298 TEST_F(ShelfLayoutManagerTest, DontReferenceLauncherAfterDeletion) { 298 TEST_F(ShelfLayoutManagerTest, DontReferenceLauncherAfterDeletion) {
299 views::Widget* widget = new views::Widget; 299 views::Widget* widget = new views::Widget;
300 views::Widget::InitParams params(views::Widget::InitParams::TYPE_WINDOW); 300 views::Widget::InitParams params(views::Widget::InitParams::TYPE_WINDOW);
301 params.bounds = gfx::Rect(0, 0, 200, 200); 301 params.bounds = gfx::Rect(0, 0, 200, 200);
302 params.context = CurrentContext();
302 // Widget is now owned by the parent window. 303 // Widget is now owned by the parent window.
303 widget->Init(params); 304 widget->Init(params);
304 widget->SetFullscreen(true); 305 widget->SetFullscreen(true);
305 } 306 }
306 307
307 // Various assertions around auto-hide. 308 // Various assertions around auto-hide.
308 TEST_F(ShelfLayoutManagerTest, AutoHide) { 309 TEST_F(ShelfLayoutManagerTest, AutoHide) {
309 aura::RootWindow* root = Shell::GetPrimaryRootWindow(); 310 aura::RootWindow* root = Shell::GetPrimaryRootWindow();
310 aura::test::EventGenerator generator(root, root); 311 aura::test::EventGenerator generator(root, root);
311 generator.MoveMouseTo(0, 0); 312 generator.MoveMouseTo(0, 0);
312 313
313 ShelfLayoutManager* shelf = GetShelfLayoutManager(); 314 ShelfLayoutManager* shelf = GetShelfLayoutManager();
314 shelf->SetAutoHideBehavior(ash::SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS); 315 shelf->SetAutoHideBehavior(ash::SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS);
315 views::Widget* widget = new views::Widget; 316 views::Widget* widget = new views::Widget;
316 views::Widget::InitParams params(views::Widget::InitParams::TYPE_WINDOW); 317 views::Widget::InitParams params(views::Widget::InitParams::TYPE_WINDOW);
317 params.bounds = gfx::Rect(0, 0, 200, 200); 318 params.bounds = gfx::Rect(0, 0, 200, 200);
319 params.context = CurrentContext();
318 // Widget is now owned by the parent window. 320 // Widget is now owned by the parent window.
319 widget->Init(params); 321 widget->Init(params);
320 widget->Maximize(); 322 widget->Maximize();
321 widget->Show(); 323 widget->Show();
322 EXPECT_EQ(SHELF_AUTO_HIDE, shelf->visibility_state()); 324 EXPECT_EQ(SHELF_AUTO_HIDE, shelf->visibility_state());
323 EXPECT_EQ(SHELF_AUTO_HIDE_HIDDEN, shelf->auto_hide_state()); 325 EXPECT_EQ(SHELF_AUTO_HIDE_HIDDEN, shelf->auto_hide_state());
324 326
325 // LayoutShelf() forces the animation to completion, at which point the 327 // LayoutShelf() forces the animation to completion, at which point the
326 // launcher should go off the screen. 328 // launcher should go off the screen.
327 shelf->LayoutShelf(); 329 shelf->LayoutShelf();
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
374 // it isn't over the shelf. 376 // it isn't over the shelf.
375 aura::test::EventGenerator generator( 377 aura::test::EventGenerator generator(
376 Shell::GetPrimaryRootWindow(), gfx::Point()); 378 Shell::GetPrimaryRootWindow(), gfx::Point());
377 generator.MoveMouseTo(0, 0); 379 generator.MoveMouseTo(0, 0);
378 380
379 ShelfLayoutManager* shelf = GetShelfLayoutManager(); 381 ShelfLayoutManager* shelf = GetShelfLayoutManager();
380 shelf->SetAutoHideBehavior(ash::SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS); 382 shelf->SetAutoHideBehavior(ash::SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS);
381 views::Widget* widget = new views::Widget; 383 views::Widget* widget = new views::Widget;
382 views::Widget::InitParams params(views::Widget::InitParams::TYPE_WINDOW); 384 views::Widget::InitParams params(views::Widget::InitParams::TYPE_WINDOW);
383 params.bounds = gfx::Rect(0, 0, 200, 200); 385 params.bounds = gfx::Rect(0, 0, 200, 200);
386 params.context = CurrentContext();
384 // Widget is now owned by the parent window. 387 // Widget is now owned by the parent window.
385 widget->Init(params); 388 widget->Init(params);
386 widget->Maximize(); 389 widget->Maximize();
387 widget->Show(); 390 widget->Show();
388 EXPECT_EQ(SHELF_AUTO_HIDE, shelf->visibility_state()); 391 EXPECT_EQ(SHELF_AUTO_HIDE, shelf->visibility_state());
389 EXPECT_EQ(SHELF_AUTO_HIDE_HIDDEN, shelf->auto_hide_state()); 392 EXPECT_EQ(SHELF_AUTO_HIDE_HIDDEN, shelf->auto_hide_state());
390 393
391 aura::RootWindow* root = Shell::GetPrimaryRootWindow(); 394 aura::RootWindow* root = Shell::GetPrimaryRootWindow();
392 // LayoutShelf() forces the animation to completion, at which point the 395 // LayoutShelf() forces the animation to completion, at which point the
393 // launcher should go off the screen. 396 // launcher should go off the screen.
394 shelf->LayoutShelf(); 397 shelf->LayoutShelf();
395 EXPECT_EQ(root->bounds().bottom() - ShelfLayoutManager::kAutoHideSize, 398 EXPECT_EQ(root->bounds().bottom() - ShelfLayoutManager::kAutoHideSize,
396 shelf->launcher_widget()->GetWindowBoundsInScreen().y()); 399 shelf->launcher_widget()->GetWindowBoundsInScreen().y());
397 400
398 aura::Window* lock_container = Shell::GetContainer( 401 aura::Window* lock_container = Shell::GetContainer(
399 Shell::GetPrimaryRootWindow(), 402 Shell::GetPrimaryRootWindow(),
400 internal::kShellWindowId_LockScreenContainer); 403 internal::kShellWindowId_LockScreenContainer);
401 404
402 views::Widget* lock_widget = new views::Widget; 405 views::Widget* lock_widget = new views::Widget;
403 views::Widget::InitParams lock_params( 406 views::Widget::InitParams lock_params(
404 views::Widget::InitParams::TYPE_WINDOW); 407 views::Widget::InitParams::TYPE_WINDOW);
405 lock_params.bounds = gfx::Rect(0, 0, 200, 200); 408 lock_params.bounds = gfx::Rect(0, 0, 200, 200);
409 params.context = CurrentContext();
406 lock_params.parent = lock_container; 410 lock_params.parent = lock_container;
407 // Widget is now owned by the parent window. 411 // Widget is now owned by the parent window.
408 lock_widget->Init(lock_params); 412 lock_widget->Init(lock_params);
409 lock_widget->Maximize(); 413 lock_widget->Maximize();
410 lock_widget->Show(); 414 lock_widget->Show();
411 415
412 // Lock the screen. 416 // Lock the screen.
413 Shell::GetInstance()->delegate()->LockScreen(); 417 Shell::GetInstance()->delegate()->LockScreen();
414 shelf->UpdateVisibilityState(); 418 shelf->UpdateVisibilityState();
415 // Showing a widget in the lock screen should force the shelf to be visibile. 419 // Showing a widget in the lock screen should force the shelf to be visibile.
416 EXPECT_EQ(SHELF_VISIBLE, shelf->visibility_state()); 420 EXPECT_EQ(SHELF_VISIBLE, shelf->visibility_state());
417 421
418 Shell::GetInstance()->delegate()->UnlockScreen(); 422 Shell::GetInstance()->delegate()->UnlockScreen();
419 shelf->UpdateVisibilityState(); 423 shelf->UpdateVisibilityState();
420 EXPECT_EQ(SHELF_AUTO_HIDE, shelf->visibility_state()); 424 EXPECT_EQ(SHELF_AUTO_HIDE, shelf->visibility_state());
421 } 425 }
422 426
423 // Assertions around SetAutoHideBehavior. 427 // Assertions around SetAutoHideBehavior.
424 TEST_F(ShelfLayoutManagerTest, SetAutoHideBehavior) { 428 TEST_F(ShelfLayoutManagerTest, SetAutoHideBehavior) {
425 // Since ShelfLayoutManager queries for mouse location, move the mouse so 429 // Since ShelfLayoutManager queries for mouse location, move the mouse so
426 // it isn't over the shelf. 430 // it isn't over the shelf.
427 aura::test::EventGenerator generator( 431 aura::test::EventGenerator generator(
428 Shell::GetPrimaryRootWindow(), gfx::Point()); 432 Shell::GetPrimaryRootWindow(), gfx::Point());
429 generator.MoveMouseTo(0, 0); 433 generator.MoveMouseTo(0, 0);
430 434
431 ShelfLayoutManager* shelf = GetShelfLayoutManager(); 435 ShelfLayoutManager* shelf = GetShelfLayoutManager();
432 views::Widget* widget = new views::Widget; 436 views::Widget* widget = new views::Widget;
433 views::Widget::InitParams params(views::Widget::InitParams::TYPE_WINDOW); 437 views::Widget::InitParams params(views::Widget::InitParams::TYPE_WINDOW);
434 params.bounds = gfx::Rect(0, 0, 200, 200); 438 params.bounds = gfx::Rect(0, 0, 200, 200);
439 params.context = CurrentContext();
435 // Widget is now owned by the parent window. 440 // Widget is now owned by the parent window.
436 widget->Init(params); 441 widget->Init(params);
437 widget->Show(); 442 widget->Show();
438 aura::Window* window = widget->GetNativeWindow(); 443 aura::Window* window = widget->GetNativeWindow();
439 gfx::Rect display_bounds( 444 gfx::Rect display_bounds(
440 Shell::GetScreen()->GetDisplayNearestWindow(window).bounds()); 445 Shell::GetScreen()->GetDisplayNearestWindow(window).bounds());
441 446
442 shelf->SetAutoHideBehavior(SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS); 447 shelf->SetAutoHideBehavior(SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS);
443 EXPECT_EQ(SHELF_AUTO_HIDE, shelf->visibility_state()); 448 EXPECT_EQ(SHELF_AUTO_HIDE, shelf->visibility_state());
444 449
(...skipping 24 matching lines...) Expand all
469 // Since ShelfLayoutManager queries for mouse location, move the mouse so 474 // Since ShelfLayoutManager queries for mouse location, move the mouse so
470 // it isn't over the shelf. 475 // it isn't over the shelf.
471 aura::test::EventGenerator generator( 476 aura::test::EventGenerator generator(
472 Shell::GetPrimaryRootWindow(), gfx::Point()); 477 Shell::GetPrimaryRootWindow(), gfx::Point());
473 generator.MoveMouseTo(0, 0); 478 generator.MoveMouseTo(0, 0);
474 479
475 ShelfLayoutManager* shelf = GetShelfLayoutManager(); 480 ShelfLayoutManager* shelf = GetShelfLayoutManager();
476 views::Widget* widget = new views::Widget; 481 views::Widget* widget = new views::Widget;
477 views::Widget::InitParams params(views::Widget::InitParams::TYPE_WINDOW); 482 views::Widget::InitParams params(views::Widget::InitParams::TYPE_WINDOW);
478 params.bounds = gfx::Rect(0, 0, 200, 200); 483 params.bounds = gfx::Rect(0, 0, 200, 200);
484 params.context = CurrentContext();
479 // Widget is now owned by the parent window. 485 // Widget is now owned by the parent window.
480 widget->Init(params); 486 widget->Init(params);
481 widget->Show(); 487 widget->Show();
482 shelf->SetAutoHideBehavior(SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS); 488 shelf->SetAutoHideBehavior(SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS);
483 EXPECT_EQ(SHELF_AUTO_HIDE, shelf->visibility_state()); 489 EXPECT_EQ(SHELF_AUTO_HIDE, shelf->visibility_state());
484 EXPECT_EQ(SHELF_AUTO_HIDE_HIDDEN, shelf->auto_hide_state()); 490 EXPECT_EQ(SHELF_AUTO_HIDE_HIDDEN, shelf->auto_hide_state());
485 491
486 // Focus the launcher. Have to go through the focus cycler as normal focus 492 // Focus the launcher. Have to go through the focus cycler as normal focus
487 // requests to it do nothing. 493 // requests to it do nothing.
488 shelf->launcher()->GetFocusCycler()->RotateFocus(FocusCycler::FORWARD); 494 shelf->launcher()->GetFocusCycler()->RotateFocus(FocusCycler::FORWARD);
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after
669 TEST_F(ShelfLayoutManagerTest, GestureDrag) { 675 TEST_F(ShelfLayoutManagerTest, GestureDrag) {
670 ShelfLayoutManager* shelf = GetShelfLayoutManager(); 676 ShelfLayoutManager* shelf = GetShelfLayoutManager();
671 internal::RootWindowController* controller = 677 internal::RootWindowController* controller =
672 Shell::GetPrimaryRootWindowController(); 678 Shell::GetPrimaryRootWindowController();
673 controller->SetShelfAutoHideBehavior(SHELF_AUTO_HIDE_BEHAVIOR_NEVER); 679 controller->SetShelfAutoHideBehavior(SHELF_AUTO_HIDE_BEHAVIOR_NEVER);
674 shelf->LayoutShelf(); 680 shelf->LayoutShelf();
675 681
676 views::Widget* widget = new views::Widget; 682 views::Widget* widget = new views::Widget;
677 views::Widget::InitParams params(views::Widget::InitParams::TYPE_WINDOW); 683 views::Widget::InitParams params(views::Widget::InitParams::TYPE_WINDOW);
678 params.bounds = gfx::Rect(0, 0, 200, 200); 684 params.bounds = gfx::Rect(0, 0, 200, 200);
685 params.context = CurrentContext();
679 widget->Init(params); 686 widget->Init(params);
680 widget->Show(); 687 widget->Show();
681 widget->Maximize(); 688 widget->Maximize();
682 689
683 aura::Window* window = widget->GetNativeWindow(); 690 aura::Window* window = widget->GetNativeWindow();
684 691
685 gfx::Rect shelf_shown = shelf->launcher_widget()->GetWindowBoundsInScreen(); 692 gfx::Rect shelf_shown = shelf->launcher_widget()->GetWindowBoundsInScreen();
686 gfx::Rect bounds_shelf = window->bounds(); 693 gfx::Rect bounds_shelf = window->bounds();
687 EXPECT_EQ(SHELF_VISIBLE, shelf->visibility_state()); 694 EXPECT_EQ(SHELF_VISIBLE, shelf->visibility_state());
688 695
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after
843 850
844 TEST_F(ShelfLayoutManagerTest, WorkAreaChangeWorkspace) { 851 TEST_F(ShelfLayoutManagerTest, WorkAreaChangeWorkspace) {
845 // Make sure the shelf is always visible. 852 // Make sure the shelf is always visible.
846 ShelfLayoutManager* shelf = GetShelfLayoutManager(); 853 ShelfLayoutManager* shelf = GetShelfLayoutManager();
847 shelf->SetAutoHideBehavior(SHELF_AUTO_HIDE_BEHAVIOR_NEVER); 854 shelf->SetAutoHideBehavior(SHELF_AUTO_HIDE_BEHAVIOR_NEVER);
848 shelf->LayoutShelf(); 855 shelf->LayoutShelf();
849 856
850 views::Widget* widget_one = new views::Widget; 857 views::Widget* widget_one = new views::Widget;
851 views::Widget::InitParams params(views::Widget::InitParams::TYPE_WINDOW); 858 views::Widget::InitParams params(views::Widget::InitParams::TYPE_WINDOW);
852 params.bounds = gfx::Rect(0, 0, 200, 200); 859 params.bounds = gfx::Rect(0, 0, 200, 200);
860 params.context = CurrentContext();
853 widget_one->Init(params); 861 widget_one->Init(params);
854 widget_one->Show(); 862 widget_one->Show();
855 widget_one->Maximize(); 863 widget_one->Maximize();
856 864
857 views::Widget* widget_two = new views::Widget; 865 views::Widget* widget_two = new views::Widget;
858 widget_two->Init(params); 866 widget_two->Init(params);
859 widget_two->Show(); 867 widget_two->Show();
860 widget_two->Maximize(); 868 widget_two->Maximize();
861 widget_two->Activate(); 869 widget_two->Activate();
862 870
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
967 EXPECT_TRUE(status_area_widget->IsMessageBubbleShown()); 975 EXPECT_TRUE(status_area_widget->IsMessageBubbleShown());
968 } else { 976 } else {
969 EXPECT_FALSE(shelf->IsVisible()); 977 EXPECT_FALSE(shelf->IsVisible());
970 EXPECT_FALSE(status_area_widget->IsMessageBubbleShown()); 978 EXPECT_FALSE(status_area_widget->IsMessageBubbleShown());
971 } 979 }
972 } 980 }
973 } 981 }
974 982
975 } // namespace internal 983 } // namespace internal
976 } // namespace ash 984 } // namespace ash
OLDNEW
« no previous file with comments | « ash/wm/gestures/long_press_affordance_handler.cc ('k') | ash/wm/system_gesture_event_filter_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698