| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 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 "ash/shared/immersive_fullscreen_controller.h" | 5 #include "ash/shared/immersive_fullscreen_controller.h" |
| 6 | 6 |
| 7 #include "ash/public/cpp/shelf_types.h" | 7 #include "ash/public/cpp/shelf_types.h" |
| 8 #include "ash/root_window_controller.h" | 8 #include "ash/root_window_controller.h" |
| 9 #include "ash/shared/immersive_fullscreen_controller_delegate.h" | 9 #include "ash/shared/immersive_fullscreen_controller_delegate.h" |
| 10 #include "ash/shelf/wm_shelf.h" | 10 #include "ash/shelf/wm_shelf.h" |
| 11 #include "ash/shell.h" | 11 #include "ash/shell.h" |
| 12 #include "ash/shell_port.h" |
| 12 #include "ash/test/ash_test_base.h" | 13 #include "ash/test/ash_test_base.h" |
| 13 #include "ash/test/immersive_fullscreen_controller_test_api.h" | 14 #include "ash/test/immersive_fullscreen_controller_test_api.h" |
| 14 #include "ash/wm/window_state.h" | 15 #include "ash/wm/window_state.h" |
| 15 #include "ash/wm/window_state_aura.h" | 16 #include "ash/wm/window_state_aura.h" |
| 16 #include "ash/wm_shell.h" | |
| 17 #include "ui/aura/client/aura_constants.h" | 17 #include "ui/aura/client/aura_constants.h" |
| 18 #include "ui/aura/client/cursor_client.h" | 18 #include "ui/aura/client/cursor_client.h" |
| 19 #include "ui/aura/env.h" | 19 #include "ui/aura/env.h" |
| 20 #include "ui/aura/test/test_window_delegate.h" | 20 #include "ui/aura/test/test_window_delegate.h" |
| 21 #include "ui/aura/window.h" | 21 #include "ui/aura/window.h" |
| 22 #include "ui/aura/window_event_dispatcher.h" | 22 #include "ui/aura/window_event_dispatcher.h" |
| 23 #include "ui/display/display_layout.h" | 23 #include "ui/display/display_layout.h" |
| 24 #include "ui/display/manager/display_manager.h" | 24 #include "ui/display/manager/display_manager.h" |
| 25 #include "ui/display/test/display_manager_test_api.h" | 25 #include "ui/display/test/display_manager_test_api.h" |
| 26 #include "ui/events/event_utils.h" | 26 #include "ui/events/event_utils.h" |
| (...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 254 views::View* top_container_; // Owned by |widget_|'s root-view. | 254 views::View* top_container_; // Owned by |widget_|'s root-view. |
| 255 views::NativeViewHost* content_view_; // Owned by |widget_|'s root-view. | 255 views::NativeViewHost* content_view_; // Owned by |widget_|'s root-view. |
| 256 | 256 |
| 257 DISALLOW_COPY_AND_ASSIGN(ImmersiveFullscreenControllerTest); | 257 DISALLOW_COPY_AND_ASSIGN(ImmersiveFullscreenControllerTest); |
| 258 }; | 258 }; |
| 259 | 259 |
| 260 // Test the initial state and that the delegate gets notified of the | 260 // Test the initial state and that the delegate gets notified of the |
| 261 // top-of-window views getting hidden and revealed. | 261 // top-of-window views getting hidden and revealed. |
| 262 TEST_F(ImmersiveFullscreenControllerTest, Delegate) { | 262 TEST_F(ImmersiveFullscreenControllerTest, Delegate) { |
| 263 // TODO: investigate failure. http://crbug.com/698085. | 263 // TODO: investigate failure. http://crbug.com/698085. |
| 264 if (WmShell::Get()->IsRunningInMash()) | 264 if (ShellPort::Get()->IsRunningInMash()) |
| 265 return; | 265 return; |
| 266 | 266 |
| 267 // Initial state. | 267 // Initial state. |
| 268 EXPECT_FALSE(controller()->IsEnabled()); | 268 EXPECT_FALSE(controller()->IsEnabled()); |
| 269 EXPECT_FALSE(controller()->IsRevealed()); | 269 EXPECT_FALSE(controller()->IsRevealed()); |
| 270 EXPECT_FALSE(delegate()->is_enabled()); | 270 EXPECT_FALSE(delegate()->is_enabled()); |
| 271 | 271 |
| 272 // Enabling initially hides the top views. | 272 // Enabling initially hides the top views. |
| 273 SetEnabled(true); | 273 SetEnabled(true); |
| 274 EXPECT_TRUE(controller()->IsEnabled()); | 274 EXPECT_TRUE(controller()->IsEnabled()); |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 338 lock1.reset(); | 338 lock1.reset(); |
| 339 EXPECT_TRUE(controller()->IsRevealed()); | 339 EXPECT_TRUE(controller()->IsRevealed()); |
| 340 | 340 |
| 341 lock2.reset(); | 341 lock2.reset(); |
| 342 EXPECT_FALSE(controller()->IsRevealed()); | 342 EXPECT_FALSE(controller()->IsRevealed()); |
| 343 } | 343 } |
| 344 | 344 |
| 345 // Test mouse event processing for top-of-screen reveal triggering. | 345 // Test mouse event processing for top-of-screen reveal triggering. |
| 346 TEST_F(ImmersiveFullscreenControllerTest, OnMouseEvent) { | 346 TEST_F(ImmersiveFullscreenControllerTest, OnMouseEvent) { |
| 347 // TODO: investigate failure. http://crbug.com/698085. | 347 // TODO: investigate failure. http://crbug.com/698085. |
| 348 if (WmShell::Get()->IsRunningInMash()) | 348 if (ShellPort::Get()->IsRunningInMash()) |
| 349 return; | 349 return; |
| 350 | 350 |
| 351 // Set up initial state. | 351 // Set up initial state. |
| 352 SetEnabled(true); | 352 SetEnabled(true); |
| 353 ASSERT_TRUE(controller()->IsEnabled()); | 353 ASSERT_TRUE(controller()->IsEnabled()); |
| 354 ASSERT_FALSE(controller()->IsRevealed()); | 354 ASSERT_FALSE(controller()->IsRevealed()); |
| 355 | 355 |
| 356 ui::test::EventGenerator& event_generator(GetEventGenerator()); | 356 ui::test::EventGenerator& event_generator(GetEventGenerator()); |
| 357 | 357 |
| 358 gfx::Rect top_container_bounds_in_screen = | 358 gfx::Rect top_container_bounds_in_screen = |
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 442 | 442 |
| 443 // Releasing capture should end the reveal. | 443 // Releasing capture should end the reveal. |
| 444 widget->ReleaseCapture(); | 444 widget->ReleaseCapture(); |
| 445 EXPECT_FALSE(controller()->IsRevealed()); | 445 EXPECT_FALSE(controller()->IsRevealed()); |
| 446 } | 446 } |
| 447 | 447 |
| 448 // Test mouse event processing for top-of-screen reveal triggering when the | 448 // Test mouse event processing for top-of-screen reveal triggering when the |
| 449 // top container's widget is inactive. | 449 // top container's widget is inactive. |
| 450 TEST_F(ImmersiveFullscreenControllerTest, Inactive) { | 450 TEST_F(ImmersiveFullscreenControllerTest, Inactive) { |
| 451 // TODO: investigate failure. http://crbug.com/698085. | 451 // TODO: investigate failure. http://crbug.com/698085. |
| 452 if (WmShell::Get()->IsRunningInMash()) | 452 if (ShellPort::Get()->IsRunningInMash()) |
| 453 return; | 453 return; |
| 454 | 454 |
| 455 // Set up initial state. | 455 // Set up initial state. |
| 456 views::Widget* popup_widget = views::Widget::CreateWindowWithContextAndBounds( | 456 views::Widget* popup_widget = views::Widget::CreateWindowWithContextAndBounds( |
| 457 nullptr, CurrentContext(), gfx::Rect(0, 0, 200, 200)); | 457 nullptr, CurrentContext(), gfx::Rect(0, 0, 200, 200)); |
| 458 popup_widget->Show(); | 458 popup_widget->Show(); |
| 459 ASSERT_FALSE(top_container()->GetWidget()->IsActive()); | 459 ASSERT_FALSE(top_container()->GetWidget()->IsActive()); |
| 460 | 460 |
| 461 SetEnabled(true); | 461 SetEnabled(true); |
| 462 ASSERT_TRUE(controller()->IsEnabled()); | 462 ASSERT_TRUE(controller()->IsEnabled()); |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 503 top_container_bounds_in_screen.bottom() + 50); | 503 top_container_bounds_in_screen.bottom() + 50); |
| 504 EXPECT_FALSE(controller()->IsRevealed()); | 504 EXPECT_FALSE(controller()->IsRevealed()); |
| 505 } | 505 } |
| 506 | 506 |
| 507 // Test mouse event processing for top-of-screen reveal triggering when the user | 507 // Test mouse event processing for top-of-screen reveal triggering when the user |
| 508 // has a vertical display layout (primary display above/below secondary display) | 508 // has a vertical display layout (primary display above/below secondary display) |
| 509 // and the immersive fullscreen window is on the bottom display. | 509 // and the immersive fullscreen window is on the bottom display. |
| 510 TEST_F(ImmersiveFullscreenControllerTest, MouseEventsVerticalDisplayLayout) { | 510 TEST_F(ImmersiveFullscreenControllerTest, MouseEventsVerticalDisplayLayout) { |
| 511 // TODO: SetLayoutForCurrentDisplays() needs to ported to mash. | 511 // TODO: SetLayoutForCurrentDisplays() needs to ported to mash. |
| 512 // http://crbug.com/698043. | 512 // http://crbug.com/698043. |
| 513 if (WmShell::Get()->IsRunningInMash()) | 513 if (ShellPort::Get()->IsRunningInMash()) |
| 514 return; | 514 return; |
| 515 | 515 |
| 516 // Set up initial state. | 516 // Set up initial state. |
| 517 UpdateDisplay("800x600,800x600"); | 517 UpdateDisplay("800x600,800x600"); |
| 518 ash::Shell::Get()->display_manager()->SetLayoutForCurrentDisplays( | 518 ash::Shell::Get()->display_manager()->SetLayoutForCurrentDisplays( |
| 519 display::test::CreateDisplayLayout(display_manager(), | 519 display::test::CreateDisplayLayout(display_manager(), |
| 520 display::DisplayPlacement::TOP, 0)); | 520 display::DisplayPlacement::TOP, 0)); |
| 521 | 521 |
| 522 SetEnabled(true); | 522 SetEnabled(true); |
| 523 ASSERT_TRUE(controller()->IsEnabled()); | 523 ASSERT_TRUE(controller()->IsEnabled()); |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 589 ASSERT_FALSE(top_container()->GetBoundsInScreen().Intersects( | 589 ASSERT_FALSE(top_container()->GetBoundsInScreen().Intersects( |
| 590 popup_widget->GetWindowBoundsInScreen())); | 590 popup_widget->GetWindowBoundsInScreen())); |
| 591 event_generator.MoveMouseTo(x, y_top_edge + 1); | 591 event_generator.MoveMouseTo(x, y_top_edge + 1); |
| 592 MoveMouse(x, y_top_edge - 2); | 592 MoveMouse(x, y_top_edge - 2); |
| 593 EXPECT_TRUE(controller()->IsRevealed()); | 593 EXPECT_TRUE(controller()->IsRevealed()); |
| 594 } | 594 } |
| 595 | 595 |
| 596 // Test behavior when the mouse becomes hovered without moving. | 596 // Test behavior when the mouse becomes hovered without moving. |
| 597 TEST_F(ImmersiveFullscreenControllerTest, MouseHoveredWithoutMoving) { | 597 TEST_F(ImmersiveFullscreenControllerTest, MouseHoveredWithoutMoving) { |
| 598 // TODO: investigate failure. http://crbug.com/698085. | 598 // TODO: investigate failure. http://crbug.com/698085. |
| 599 if (WmShell::Get()->IsRunningInMash()) | 599 if (ShellPort::Get()->IsRunningInMash()) |
| 600 return; | 600 return; |
| 601 | 601 |
| 602 SetEnabled(true); | 602 SetEnabled(true); |
| 603 std::unique_ptr<ImmersiveRevealedLock> lock; | 603 std::unique_ptr<ImmersiveRevealedLock> lock; |
| 604 | 604 |
| 605 // 1) Test that if the mouse becomes hovered without the mouse moving due to a | 605 // 1) Test that if the mouse becomes hovered without the mouse moving due to a |
| 606 // lock causing the top-of-window views to be revealed (and the mouse | 606 // lock causing the top-of-window views to be revealed (and the mouse |
| 607 // happening to be near the top of the screen), the top-of-window views do not | 607 // happening to be near the top of the screen), the top-of-window views do not |
| 608 // hide till the mouse moves off of the top-of-window views. | 608 // hide till the mouse moves off of the top-of-window views. |
| 609 SetHovered(true); | 609 SetHovered(true); |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 642 SetHovered(false); | 642 SetHovered(false); |
| 643 EXPECT_FALSE(controller()->IsRevealed()); | 643 EXPECT_FALSE(controller()->IsRevealed()); |
| 644 } | 644 } |
| 645 | 645 |
| 646 // Test revealing the top-of-window views using one modality and ending | 646 // Test revealing the top-of-window views using one modality and ending |
| 647 // the reveal via another. For instance, initiating the reveal via a SWIPE_OPEN | 647 // the reveal via another. For instance, initiating the reveal via a SWIPE_OPEN |
| 648 // edge gesture, switching to using the mouse and ending the reveal by moving | 648 // edge gesture, switching to using the mouse and ending the reveal by moving |
| 649 // the mouse off of the top-of-window views. | 649 // the mouse off of the top-of-window views. |
| 650 TEST_F(ImmersiveFullscreenControllerTest, DifferentModalityEnterExit) { | 650 TEST_F(ImmersiveFullscreenControllerTest, DifferentModalityEnterExit) { |
| 651 // TODO: investigate failure. http://crbug.com/698085. | 651 // TODO: investigate failure. http://crbug.com/698085. |
| 652 if (WmShell::Get()->IsRunningInMash()) | 652 if (ShellPort::Get()->IsRunningInMash()) |
| 653 return; | 653 return; |
| 654 | 654 |
| 655 SetEnabled(true); | 655 SetEnabled(true); |
| 656 EXPECT_TRUE(controller()->IsEnabled()); | 656 EXPECT_TRUE(controller()->IsEnabled()); |
| 657 EXPECT_FALSE(controller()->IsRevealed()); | 657 EXPECT_FALSE(controller()->IsRevealed()); |
| 658 | 658 |
| 659 // Initiate reveal via gesture, end reveal via mouse. | 659 // Initiate reveal via gesture, end reveal via mouse. |
| 660 AttemptReveal(MODALITY_GESTURE_SCROLL); | 660 AttemptReveal(MODALITY_GESTURE_SCROLL); |
| 661 EXPECT_TRUE(controller()->IsRevealed()); | 661 EXPECT_TRUE(controller()->IsRevealed()); |
| 662 MoveMouse(1, 1); | 662 MoveMouse(1, 1); |
| (...skipping 16 matching lines...) Expand all Loading... |
| 679 // Initiate reveal via mouse, end reveal via touch. | 679 // Initiate reveal via mouse, end reveal via touch. |
| 680 AttemptReveal(MODALITY_MOUSE); | 680 AttemptReveal(MODALITY_MOUSE); |
| 681 EXPECT_TRUE(controller()->IsRevealed()); | 681 EXPECT_TRUE(controller()->IsRevealed()); |
| 682 AttemptUnreveal(MODALITY_GESTURE_TAP); | 682 AttemptUnreveal(MODALITY_GESTURE_TAP); |
| 683 EXPECT_FALSE(controller()->IsRevealed()); | 683 EXPECT_FALSE(controller()->IsRevealed()); |
| 684 } | 684 } |
| 685 | 685 |
| 686 // Test when the SWIPE_CLOSE edge gesture closes the top-of-window views. | 686 // Test when the SWIPE_CLOSE edge gesture closes the top-of-window views. |
| 687 TEST_F(ImmersiveFullscreenControllerTest, EndRevealViaGesture) { | 687 TEST_F(ImmersiveFullscreenControllerTest, EndRevealViaGesture) { |
| 688 // TODO: investigate failure. http://crbug.com/698085. | 688 // TODO: investigate failure. http://crbug.com/698085. |
| 689 if (WmShell::Get()->IsRunningInMash()) | 689 if (ShellPort::Get()->IsRunningInMash()) |
| 690 return; | 690 return; |
| 691 | 691 |
| 692 SetEnabled(true); | 692 SetEnabled(true); |
| 693 EXPECT_TRUE(controller()->IsEnabled()); | 693 EXPECT_TRUE(controller()->IsEnabled()); |
| 694 EXPECT_FALSE(controller()->IsRevealed()); | 694 EXPECT_FALSE(controller()->IsRevealed()); |
| 695 | 695 |
| 696 // A gesture should be able to close the top-of-window views when | 696 // A gesture should be able to close the top-of-window views when |
| 697 // top-of-window views have focus. | 697 // top-of-window views have focus. |
| 698 AttemptReveal(MODALITY_MOUSE); | 698 AttemptReveal(MODALITY_MOUSE); |
| 699 top_container()->RequestFocus(); | 699 top_container()->RequestFocus(); |
| (...skipping 15 matching lines...) Expand all Loading... |
| 715 AttemptUnreveal(MODALITY_GESTURE_SCROLL); | 715 AttemptUnreveal(MODALITY_GESTURE_SCROLL); |
| 716 EXPECT_TRUE(controller()->IsRevealed()); | 716 EXPECT_TRUE(controller()->IsRevealed()); |
| 717 lock.reset(); | 717 lock.reset(); |
| 718 EXPECT_FALSE(controller()->IsRevealed()); | 718 EXPECT_FALSE(controller()->IsRevealed()); |
| 719 } | 719 } |
| 720 | 720 |
| 721 // Tests that touch-gesture can be used to reveal the top-of-window views when | 721 // Tests that touch-gesture can be used to reveal the top-of-window views when |
| 722 // the child window consumes all events. | 722 // the child window consumes all events. |
| 723 TEST_F(ImmersiveFullscreenControllerTest, RevealViaGestureChildConsumesEvents) { | 723 TEST_F(ImmersiveFullscreenControllerTest, RevealViaGestureChildConsumesEvents) { |
| 724 // TODO: investigate failure. http://crbug.com/698085. | 724 // TODO: investigate failure. http://crbug.com/698085. |
| 725 if (WmShell::Get()->IsRunningInMash()) | 725 if (ShellPort::Get()->IsRunningInMash()) |
| 726 return; | 726 return; |
| 727 | 727 |
| 728 // Enabling initially hides the top views. | 728 // Enabling initially hides the top views. |
| 729 SetEnabled(true); | 729 SetEnabled(true); |
| 730 EXPECT_TRUE(controller()->IsEnabled()); | 730 EXPECT_TRUE(controller()->IsEnabled()); |
| 731 EXPECT_FALSE(controller()->IsRevealed()); | 731 EXPECT_FALSE(controller()->IsRevealed()); |
| 732 | 732 |
| 733 aura::test::TestWindowDelegate child_delegate; | 733 aura::test::TestWindowDelegate child_delegate; |
| 734 std::unique_ptr<aura::Window> child( | 734 std::unique_ptr<aura::Window> child( |
| 735 CreateTestWindowInShellWithDelegateAndType( | 735 CreateTestWindowInShellWithDelegateAndType( |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 798 | 798 |
| 799 SetEnabled(false); | 799 SetEnabled(false); |
| 800 ASSERT_FALSE(controller()->IsEnabled()); | 800 ASSERT_FALSE(controller()->IsEnabled()); |
| 801 EXPECT_FALSE(window_state->in_immersive_fullscreen()); | 801 EXPECT_FALSE(window_state->in_immersive_fullscreen()); |
| 802 } | 802 } |
| 803 | 803 |
| 804 // Test how focus and activation affects whether the top-of-window views are | 804 // Test how focus and activation affects whether the top-of-window views are |
| 805 // revealed. | 805 // revealed. |
| 806 TEST_F(ImmersiveFullscreenControllerTest, Focus) { | 806 TEST_F(ImmersiveFullscreenControllerTest, Focus) { |
| 807 // TODO: investigate failure. http://crbug.com/698085. | 807 // TODO: investigate failure. http://crbug.com/698085. |
| 808 if (WmShell::Get()->IsRunningInMash()) | 808 if (ShellPort::Get()->IsRunningInMash()) |
| 809 return; | 809 return; |
| 810 | 810 |
| 811 // Add views to the view hierarchy which we will focus and unfocus during the | 811 // Add views to the view hierarchy which we will focus and unfocus during the |
| 812 // test. | 812 // test. |
| 813 views::View* child_view = new views::View(); | 813 views::View* child_view = new views::View(); |
| 814 child_view->SetBounds(0, 0, 10, 10); | 814 child_view->SetBounds(0, 0, 10, 10); |
| 815 child_view->SetFocusBehavior(views::View::FocusBehavior::ALWAYS); | 815 child_view->SetFocusBehavior(views::View::FocusBehavior::ALWAYS); |
| 816 top_container()->AddChildView(child_view); | 816 top_container()->AddChildView(child_view); |
| 817 views::View* unrelated_view = new views::View(); | 817 views::View* unrelated_view = new views::View(); |
| 818 unrelated_view->SetBounds(0, 100, 10, 10); | 818 unrelated_view->SetBounds(0, 100, 10, 10); |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 867 SetEnabled(true); | 867 SetEnabled(true); |
| 868 EXPECT_TRUE(controller()->IsRevealed()); | 868 EXPECT_TRUE(controller()->IsRevealed()); |
| 869 lock.reset(); | 869 lock.reset(); |
| 870 EXPECT_FALSE(controller()->IsRevealed()); | 870 EXPECT_FALSE(controller()->IsRevealed()); |
| 871 } | 871 } |
| 872 | 872 |
| 873 // Test how transient windows affect whether the top-of-window views are | 873 // Test how transient windows affect whether the top-of-window views are |
| 874 // revealed. | 874 // revealed. |
| 875 TEST_F(ImmersiveFullscreenControllerTest, Transient) { | 875 TEST_F(ImmersiveFullscreenControllerTest, Transient) { |
| 876 // TODO: investigate failure. http://crbug.com/698085. | 876 // TODO: investigate failure. http://crbug.com/698085. |
| 877 if (WmShell::Get()->IsRunningInMash()) | 877 if (ShellPort::Get()->IsRunningInMash()) |
| 878 return; | 878 return; |
| 879 | 879 |
| 880 views::Widget* top_container_widget = top_container()->GetWidget(); | 880 views::Widget* top_container_widget = top_container()->GetWidget(); |
| 881 | 881 |
| 882 SetEnabled(true); | 882 SetEnabled(true); |
| 883 ASSERT_FALSE(controller()->IsRevealed()); | 883 ASSERT_FALSE(controller()->IsRevealed()); |
| 884 | 884 |
| 885 // 1) Test that a transient window which is not a bubble does not trigger a | 885 // 1) Test that a transient window which is not a bubble does not trigger a |
| 886 // reveal but does keep the top-of-window views revealed if they are already | 886 // reveal but does keep the top-of-window views revealed if they are already |
| 887 // revealed. | 887 // revealed. |
| (...skipping 28 matching lines...) Expand all Loading... |
| 916 AttemptReveal(MODALITY_MOUSE); | 916 AttemptReveal(MODALITY_MOUSE); |
| 917 EXPECT_TRUE(controller()->IsRevealed()); | 917 EXPECT_TRUE(controller()->IsRevealed()); |
| 918 non_transient_widget->Show(); | 918 non_transient_widget->Show(); |
| 919 SetHovered(false); | 919 SetHovered(false); |
| 920 EXPECT_FALSE(controller()->IsRevealed()); | 920 EXPECT_FALSE(controller()->IsRevealed()); |
| 921 } | 921 } |
| 922 | 922 |
| 923 // Test how bubbles affect whether the top-of-window views are revealed. | 923 // Test how bubbles affect whether the top-of-window views are revealed. |
| 924 TEST_F(ImmersiveFullscreenControllerTest, Bubbles) { | 924 TEST_F(ImmersiveFullscreenControllerTest, Bubbles) { |
| 925 // TODO: investigate failure. http://crbug.com/698085. | 925 // TODO: investigate failure. http://crbug.com/698085. |
| 926 if (WmShell::Get()->IsRunningInMash()) | 926 if (ShellPort::Get()->IsRunningInMash()) |
| 927 return; | 927 return; |
| 928 | 928 |
| 929 std::unique_ptr<ImmersiveRevealedLock> revealed_lock; | 929 std::unique_ptr<ImmersiveRevealedLock> revealed_lock; |
| 930 views::Widget* top_container_widget = top_container()->GetWidget(); | 930 views::Widget* top_container_widget = top_container()->GetWidget(); |
| 931 | 931 |
| 932 // Add views to the view hierarchy to which we will anchor bubbles. | 932 // Add views to the view hierarchy to which we will anchor bubbles. |
| 933 views::View* child_view = new views::View(); | 933 views::View* child_view = new views::View(); |
| 934 child_view->SetBounds(0, 0, 10, 10); | 934 child_view->SetBounds(0, 0, 10, 10); |
| 935 top_container()->AddChildView(child_view); | 935 top_container()->AddChildView(child_view); |
| 936 views::View* unrelated_view = new views::View(); | 936 views::View* unrelated_view = new views::View(); |
| (...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1079 SetEnabled(true); | 1079 SetEnabled(true); |
| 1080 EXPECT_EQ(SHELF_AUTO_HIDE, shelf->GetVisibilityState()); | 1080 EXPECT_EQ(SHELF_AUTO_HIDE, shelf->GetVisibilityState()); |
| 1081 | 1081 |
| 1082 // Disabling immersive fullscreen maintains the user's auto-hide selection. | 1082 // Disabling immersive fullscreen maintains the user's auto-hide selection. |
| 1083 SetEnabled(false); | 1083 SetEnabled(false); |
| 1084 window()->SetProperty(aura::client::kShowStateKey, ui::SHOW_STATE_NORMAL); | 1084 window()->SetProperty(aura::client::kShowStateKey, ui::SHOW_STATE_NORMAL); |
| 1085 EXPECT_EQ(SHELF_AUTO_HIDE, shelf->GetVisibilityState()); | 1085 EXPECT_EQ(SHELF_AUTO_HIDE, shelf->GetVisibilityState()); |
| 1086 } | 1086 } |
| 1087 | 1087 |
| 1088 } // namespase ash | 1088 } // namespase ash |
| OLD | NEW |