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

Side by Side Diff: ash/wm/panels/panel_layout_manager_unittest.cc

Issue 2815043002: Removes ShellPort::IsRunningInMash() (Closed)
Patch Set: dont set instance_ in constructor Created 3 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 "ash/wm/panels/panel_layout_manager.h" 5 #include "ash/wm/panels/panel_layout_manager.h"
6 6
7 #include "ash/public/cpp/config.h"
7 #include "ash/public/cpp/shelf_types.h" 8 #include "ash/public/cpp/shelf_types.h"
8 #include "ash/public/cpp/shell_window_ids.h" 9 #include "ash/public/cpp/shell_window_ids.h"
9 #include "ash/root_window_controller.h" 10 #include "ash/root_window_controller.h"
10 #include "ash/shelf/shelf_button.h" 11 #include "ash/shelf/shelf_button.h"
11 #include "ash/shelf/shelf_layout_manager.h" 12 #include "ash/shelf/shelf_layout_manager.h"
12 #include "ash/shelf/shelf_model.h" 13 #include "ash/shelf/shelf_model.h"
13 #include "ash/shelf/shelf_view.h" 14 #include "ash/shelf/shelf_view.h"
14 #include "ash/shelf/shelf_widget.h" 15 #include "ash/shelf/shelf_widget.h"
15 #include "ash/shelf/wm_shelf.h" 16 #include "ash/shelf/wm_shelf.h"
16 #include "ash/shell.h" 17 #include "ash/shell.h"
17 #include "ash/shell_port.h"
18 #include "ash/system/web_notification/web_notification_tray.h" 18 #include "ash/system/web_notification/web_notification_tray.h"
19 #include "ash/test/ash_test_base.h" 19 #include "ash/test/ash_test_base.h"
20 #include "ash/test/shelf_view_test_api.h" 20 #include "ash/test/shelf_view_test_api.h"
21 #include "ash/test/test_shelf_delegate.h" 21 #include "ash/test/test_shelf_delegate.h"
22 #include "ash/wm/mru_window_tracker.h" 22 #include "ash/wm/mru_window_tracker.h"
23 #include "ash/wm/window_properties.h" 23 #include "ash/wm/window_properties.h"
24 #include "ash/wm/window_state.h" 24 #include "ash/wm/window_state.h"
25 #include "ash/wm/window_state_aura.h" 25 #include "ash/wm/window_state_aura.h"
26 #include "ash/wm/window_util.h" 26 #include "ash/wm/window_util.h"
27 #include "ash/wm_window.h" 27 #include "ash/wm_window.h"
(...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after
298 EXPECT_EQ(GetPanelContainer(window.get()), window->parent()); 298 EXPECT_EQ(GetPanelContainer(window.get()), window->parent());
299 EXPECT_NO_FATAL_FAILURE(IsPanelAboveLauncherIcon(window.get())); 299 EXPECT_NO_FATAL_FAILURE(IsPanelAboveLauncherIcon(window.get()));
300 EXPECT_NO_FATAL_FAILURE(IsCalloutAboveLauncherIcon(window.get())); 300 EXPECT_NO_FATAL_FAILURE(IsCalloutAboveLauncherIcon(window.get()));
301 } 301 }
302 302
303 // Tests for crashes during undocking. 303 // Tests for crashes during undocking.
304 // See https://crbug.com/632755 304 // See https://crbug.com/632755
305 TEST_F(PanelLayoutManagerTest, UndockTest) { 305 TEST_F(PanelLayoutManagerTest, UndockTest) {
306 // TODO: mash doesn't support SetFirstDisplayAsInternalDisplay(). 306 // TODO: mash doesn't support SetFirstDisplayAsInternalDisplay().
307 // http://crbug.com/698091. 307 // http://crbug.com/698091.
308 if (ShellPort::Get()->IsRunningInMash()) 308 if (Shell::GetAshConfig() == Config::MASH)
309 return; 309 return;
310 310
311 std::vector<display::ManagedDisplayInfo> info_list; 311 std::vector<display::ManagedDisplayInfo> info_list;
312 312
313 const int64_t internal_display_id = 313 const int64_t internal_display_id =
314 display::test::DisplayManagerTestApi(Shell::Get()->display_manager()) 314 display::test::DisplayManagerTestApi(Shell::Get()->display_manager())
315 .SetFirstDisplayAsInternalDisplay(); 315 .SetFirstDisplayAsInternalDisplay();
316 316
317 // Create the primary display info. 317 // Create the primary display info.
318 display::ManagedDisplayInfo internal_display = 318 display::ManagedDisplayInfo internal_display =
(...skipping 15 matching lines...) Expand all
334 334
335 // Undock and bring back the native device display as primary display. 335 // Undock and bring back the native device display as primary display.
336 display_manager()->OnNativeDisplaysChanged(info_list); 336 display_manager()->OnNativeDisplaysChanged(info_list);
337 } 337 }
338 338
339 // Tests for any crash during docking and then undocking. 339 // Tests for any crash during docking and then undocking.
340 // See https://crbug.com/632755 340 // See https://crbug.com/632755
341 TEST_F(PanelLayoutManagerTest, DockUndockTest) { 341 TEST_F(PanelLayoutManagerTest, DockUndockTest) {
342 // TODO: mash doesn't support SetFirstDisplayAsInternalDisplay(). 342 // TODO: mash doesn't support SetFirstDisplayAsInternalDisplay().
343 // http://crbug.com/698091. 343 // http://crbug.com/698091.
344 if (ShellPort::Get()->IsRunningInMash()) 344 if (Shell::GetAshConfig() == Config::MASH)
345 return; 345 return;
346 346
347 std::vector<display::ManagedDisplayInfo> info_list; 347 std::vector<display::ManagedDisplayInfo> info_list;
348 348
349 const int64_t internal_display_id = 349 const int64_t internal_display_id =
350 display::test::DisplayManagerTestApi(Shell::Get()->display_manager()) 350 display::test::DisplayManagerTestApi(Shell::Get()->display_manager())
351 .SetFirstDisplayAsInternalDisplay(); 351 .SetFirstDisplayAsInternalDisplay();
352 352
353 // Create the primary display info. 353 // Create the primary display info.
354 display::ManagedDisplayInfo internal_display = 354 display::ManagedDisplayInfo internal_display =
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
500 std::unique_ptr<aura::Window> w1(CreatePanelWindow(bounds)); 500 std::unique_ptr<aura::Window> w1(CreatePanelWindow(bounds));
501 std::unique_ptr<aura::Window> w2(CreatePanelWindow(bounds)); 501 std::unique_ptr<aura::Window> w2(CreatePanelWindow(bounds));
502 std::unique_ptr<aura::Window> w3(CreatePanelWindow(bounds)); 502 std::unique_ptr<aura::Window> w3(CreatePanelWindow(bounds));
503 std::unique_ptr<aura::Window> w4(CreateNormalWindow(gfx::Rect())); 503 std::unique_ptr<aura::Window> w4(CreateNormalWindow(gfx::Rect()));
504 shelf_view_test()->RunMessageLoopUntilAnimationsDone(); 504 shelf_view_test()->RunMessageLoopUntilAnimationsDone();
505 EXPECT_TRUE(IsPanelCalloutVisible(w1.get())); 505 EXPECT_TRUE(IsPanelCalloutVisible(w1.get()));
506 EXPECT_TRUE(IsPanelCalloutVisible(w2.get())); 506 EXPECT_TRUE(IsPanelCalloutVisible(w2.get()));
507 EXPECT_TRUE(IsPanelCalloutVisible(w3.get())); 507 EXPECT_TRUE(IsPanelCalloutVisible(w3.get()));
508 508
509 // TODO: investigate failure. http://crbug.com/698887. 509 // TODO: investigate failure. http://crbug.com/698887.
510 if (ShellPort::Get()->IsRunningInMash()) 510 if (Shell::GetAshConfig() == Config::MASH)
511 return; 511 return;
512 512
513 wm::ActivateWindow(w1.get()); 513 wm::ActivateWindow(w1.get());
514 EXPECT_NO_FATAL_FAILURE(IsCalloutAboveLauncherIcon(w1.get())); 514 EXPECT_NO_FATAL_FAILURE(IsCalloutAboveLauncherIcon(w1.get()));
515 wm::ActivateWindow(w2.get()); 515 wm::ActivateWindow(w2.get());
516 EXPECT_NO_FATAL_FAILURE(IsCalloutAboveLauncherIcon(w2.get())); 516 EXPECT_NO_FATAL_FAILURE(IsCalloutAboveLauncherIcon(w2.get()));
517 wm::ActivateWindow(w3.get()); 517 wm::ActivateWindow(w3.get());
518 EXPECT_NO_FATAL_FAILURE(IsCalloutAboveLauncherIcon(w3.get())); 518 EXPECT_NO_FATAL_FAILURE(IsCalloutAboveLauncherIcon(w3.get()));
519 wm::ActivateWindow(w4.get()); 519 wm::ActivateWindow(w4.get());
520 wm::ActivateWindow(w3.get()); 520 wm::ActivateWindow(w3.get());
(...skipping 14 matching lines...) Expand all
535 shelf_view_test()->RunMessageLoopUntilAnimationsDone(); 535 shelf_view_test()->RunMessageLoopUntilAnimationsDone();
536 // Now, windows should be stacked 1 > 2 > 3 536 // Now, windows should be stacked 1 > 2 > 3
537 w1.reset(); 537 w1.reset();
538 EXPECT_NO_FATAL_FAILURE(IsPanelAboveLauncherIcon(w2.get())); 538 EXPECT_NO_FATAL_FAILURE(IsPanelAboveLauncherIcon(w2.get()));
539 EXPECT_NO_FATAL_FAILURE(IsPanelAboveLauncherIcon(w3.get())); 539 EXPECT_NO_FATAL_FAILURE(IsPanelAboveLauncherIcon(w3.get()));
540 EXPECT_TRUE(WindowIsAbove(w2.get(), w3.get())); 540 EXPECT_TRUE(WindowIsAbove(w2.get(), w3.get()));
541 } 541 }
542 542
543 TEST_F(PanelLayoutManagerTest, RemoveMiddlePanel) { 543 TEST_F(PanelLayoutManagerTest, RemoveMiddlePanel) {
544 // TODO: fails because of ShelfModel. http://crbug.com/698878. 544 // TODO: fails because of ShelfModel. http://crbug.com/698878.
545 if (ShellPort::Get()->IsRunningInMash()) 545 if (Shell::GetAshConfig() == Config::MASH)
546 return; 546 return;
547 547
548 gfx::Rect bounds(0, 0, 201, 201); 548 gfx::Rect bounds(0, 0, 201, 201);
549 std::unique_ptr<aura::Window> w1(CreatePanelWindow(bounds)); 549 std::unique_ptr<aura::Window> w1(CreatePanelWindow(bounds));
550 std::unique_ptr<aura::Window> w2(CreatePanelWindow(bounds)); 550 std::unique_ptr<aura::Window> w2(CreatePanelWindow(bounds));
551 std::unique_ptr<aura::Window> w3(CreatePanelWindow(bounds)); 551 std::unique_ptr<aura::Window> w3(CreatePanelWindow(bounds));
552 552
553 // At this point, windows should be stacked with 1 < 2 < 3 553 // At this point, windows should be stacked with 1 < 2 < 3
554 wm::ActivateWindow(w2.get()); 554 wm::ActivateWindow(w2.get());
555 // Windows should be stacked 1 < 2 > 3 555 // Windows should be stacked 1 < 2 > 3
556 w2.reset(); 556 w2.reset();
557 EXPECT_NO_FATAL_FAILURE(IsPanelAboveLauncherIcon(w1.get())); 557 EXPECT_NO_FATAL_FAILURE(IsPanelAboveLauncherIcon(w1.get()));
558 EXPECT_NO_FATAL_FAILURE(IsPanelAboveLauncherIcon(w3.get())); 558 EXPECT_NO_FATAL_FAILURE(IsPanelAboveLauncherIcon(w3.get()));
559 EXPECT_TRUE(WindowIsAbove(w3.get(), w1.get())); 559 EXPECT_TRUE(WindowIsAbove(w3.get(), w1.get()));
560 } 560 }
561 561
562 TEST_F(PanelLayoutManagerTest, RemoveRightPanel) { 562 TEST_F(PanelLayoutManagerTest, RemoveRightPanel) {
563 // TODO: fails because of ShelfModel. http://crbug.com/698878. 563 // TODO: fails because of ShelfModel. http://crbug.com/698878.
564 if (ShellPort::Get()->IsRunningInMash()) 564 if (Shell::GetAshConfig() == Config::MASH)
565 return; 565 return;
566 566
567 gfx::Rect bounds(0, 0, 201, 201); 567 gfx::Rect bounds(0, 0, 201, 201);
568 std::unique_ptr<aura::Window> w1(CreatePanelWindow(bounds)); 568 std::unique_ptr<aura::Window> w1(CreatePanelWindow(bounds));
569 std::unique_ptr<aura::Window> w2(CreatePanelWindow(bounds)); 569 std::unique_ptr<aura::Window> w2(CreatePanelWindow(bounds));
570 std::unique_ptr<aura::Window> w3(CreatePanelWindow(bounds)); 570 std::unique_ptr<aura::Window> w3(CreatePanelWindow(bounds));
571 571
572 // At this point, windows should be stacked with 1 < 2 < 3 572 // At this point, windows should be stacked with 1 < 2 < 3
573 wm::ActivateWindow(w3.get()); 573 wm::ActivateWindow(w3.get());
574 // Order shouldn't change. 574 // Order shouldn't change.
575 w3.reset(); 575 w3.reset();
576 EXPECT_NO_FATAL_FAILURE(IsPanelAboveLauncherIcon(w1.get())); 576 EXPECT_NO_FATAL_FAILURE(IsPanelAboveLauncherIcon(w1.get()));
577 EXPECT_NO_FATAL_FAILURE(IsPanelAboveLauncherIcon(w2.get())); 577 EXPECT_NO_FATAL_FAILURE(IsPanelAboveLauncherIcon(w2.get()));
578 EXPECT_TRUE(WindowIsAbove(w2.get(), w1.get())); 578 EXPECT_TRUE(WindowIsAbove(w2.get(), w1.get()));
579 } 579 }
580 580
581 TEST_F(PanelLayoutManagerTest, RemoveNonActivePanel) { 581 TEST_F(PanelLayoutManagerTest, RemoveNonActivePanel) {
582 // TODO: fails because of ShelfModel. http://crbug.com/698878. 582 // TODO: fails because of ShelfModel. http://crbug.com/698878.
583 if (ShellPort::Get()->IsRunningInMash()) 583 if (Shell::GetAshConfig() == Config::MASH)
584 return; 584 return;
585 585
586 gfx::Rect bounds(0, 0, 201, 201); 586 gfx::Rect bounds(0, 0, 201, 201);
587 std::unique_ptr<aura::Window> w1(CreatePanelWindow(bounds)); 587 std::unique_ptr<aura::Window> w1(CreatePanelWindow(bounds));
588 std::unique_ptr<aura::Window> w2(CreatePanelWindow(bounds)); 588 std::unique_ptr<aura::Window> w2(CreatePanelWindow(bounds));
589 std::unique_ptr<aura::Window> w3(CreatePanelWindow(bounds)); 589 std::unique_ptr<aura::Window> w3(CreatePanelWindow(bounds));
590 590
591 // At this point, windows should be stacked with 1 < 2 < 3 591 // At this point, windows should be stacked with 1 < 2 < 3
592 wm::ActivateWindow(w2.get()); 592 wm::ActivateWindow(w2.get());
593 // Windows should be stacked 1 < 2 > 3 593 // Windows should be stacked 1 < 2 > 3
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
668 RunAllPendingInMessageLoop(); 668 RunAllPendingInMessageLoop();
669 EXPECT_TRUE(IsPanelCalloutVisible(window.get())); 669 EXPECT_TRUE(IsPanelCalloutVisible(window.get()));
670 // Activate the window, ensure callout is visible. 670 // Activate the window, ensure callout is visible.
671 wm::ActivateWindow(window.get()); 671 wm::ActivateWindow(window.get());
672 RunAllPendingInMessageLoop(); 672 RunAllPendingInMessageLoop();
673 EXPECT_TRUE(IsPanelCalloutVisible(window.get())); 673 EXPECT_TRUE(IsPanelCalloutVisible(window.get()));
674 } 674 }
675 675
676 TEST_F(PanelLayoutManagerTest, PanelMoveBetweenMultipleDisplays) { 676 TEST_F(PanelLayoutManagerTest, PanelMoveBetweenMultipleDisplays) {
677 // TODO: fails because of ShelfModel. http://crbug.com/698878. 677 // TODO: fails because of ShelfModel. http://crbug.com/698878.
678 if (ShellPort::Get()->IsRunningInMash()) 678 if (Shell::GetAshConfig() == Config::MASH)
679 return; 679 return;
680 680
681 // Keep the displays wide so that shelves have enough space for launcher 681 // Keep the displays wide so that shelves have enough space for launcher
682 // buttons. 682 // buttons.
683 UpdateDisplay("600x400,600x400"); 683 UpdateDisplay("600x400,600x400");
684 aura::Window::Windows root_windows = Shell::GetAllRootWindows(); 684 aura::Window::Windows root_windows = Shell::GetAllRootWindows();
685 685
686 std::unique_ptr<aura::Window> p1_d1( 686 std::unique_ptr<aura::Window> p1_d1(
687 CreatePanelWindow(gfx::Rect(0, 0, 50, 50))); 687 CreatePanelWindow(gfx::Rect(0, 0, 50, 50)));
688 std::unique_ptr<aura::Window> p2_d1( 688 std::unique_ptr<aura::Window> p2_d1(
(...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after
918 touch.set_location(gfx::Point(bounds.x() - 1, bounds.y() + 5)); 918 touch.set_location(gfx::Point(bounds.x() - 1, bounds.y() + 5));
919 target = targeter->FindTargetForEvent(root, &touch); 919 target = targeter->FindTargetForEvent(root, &touch);
920 EXPECT_NE(w.get(), target); 920 EXPECT_NE(w.get(), target);
921 } 921 }
922 922
923 INSTANTIATE_TEST_CASE_P(LtrRtl, 923 INSTANTIATE_TEST_CASE_P(LtrRtl,
924 PanelLayoutManagerTextDirectionTest, 924 PanelLayoutManagerTextDirectionTest,
925 testing::Bool()); 925 testing::Bool());
926 926
927 } // namespace ash 927 } // namespace ash
OLDNEW
« no previous file with comments | « ash/wm/overview/window_selector_unittest.cc ('k') | ash/wm/panels/panel_window_resizer_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698