Skip to content

Commit

Permalink
snap-group: Add convenience Get() for OverviewController Part 1
Browse files Browse the repository at this point in the history
This cl adds a static `Get()` for `OverviewController` and migrates
the `Get()` to the places where `Shell::Get()->overview_controller()`
is used.

Bug: b/303094001
Test: Run + modify existing tests
Change-Id: I9e43ae6738f81df93c7ed7e7ec40d700c292bb8d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4943264
Reviewed-by: Ahmed Fakhry <afakhry@chromium.org>
Commit-Queue: Michele Fan <michelefan@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1211302}
  • Loading branch information
Michele Fan authored and Chromium LUCI CQ committed Oct 18, 2023
1 parent bddfa83 commit a551232
Show file tree
Hide file tree
Showing 40 changed files with 396 additions and 402 deletions.
12 changes: 5 additions & 7 deletions ash/accelerators/accelerator_controller_unittest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -803,7 +803,7 @@ class AcceleratorControllerTestWithClamshellSplitView
private:
void EnterOverviewAndDragTo(aura::Window* window,
const gfx::Point& destination) {
DCHECK(!Shell::Get()->overview_controller()->InOverviewSession());
CHECK(!OverviewController::Get()->InOverviewSession());
ToggleOverview();

ui::test::EventGenerator* generator = GetEventGenerator();
Expand Down Expand Up @@ -1276,11 +1276,9 @@ TEST_F(AcceleratorControllerTest, DontToggleFullscreenWhenOverviewStarts) {
generator->PressKey(ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_NONE);
generator->PressKey(ui::VKEY_ZOOM, ui::EF_NONE);
EXPECT_FALSE(WindowState::Get(widget->GetNativeWindow())->IsFullscreen());
EXPECT_TRUE(Shell::Get()->overview_controller()->InOverviewSession());
EXPECT_TRUE(Shell::Get()
->overview_controller()
->overview_session()
->IsWindowInOverview(widget->GetNativeWindow()));
EXPECT_TRUE(OverviewController::Get()->InOverviewSession());
EXPECT_TRUE(OverviewController::Get()->overview_session()->IsWindowInOverview(
widget->GetNativeWindow()));
}

// Tests that window shortcuts don't work on a minimized, i.e. not visible,
Expand All @@ -1293,7 +1291,7 @@ TEST_F(AcceleratorControllerTest, MinimizedWindowInOverview) {
EXPECT_TRUE(window_state->IsMinimized());
ToggleOverview();
GetEventGenerator()->PressKey(ui::VKEY_OEM_4, ui::EF_ALT_DOWN);
EXPECT_TRUE(Shell::Get()->overview_controller()->InOverviewSession());
EXPECT_TRUE(OverviewController::Get()->InOverviewSession());
EXPECT_TRUE(window_state->IsMinimized());
}

Expand Down
12 changes: 6 additions & 6 deletions ash/app_list/app_list_controller_impl_unittest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -472,7 +472,7 @@ TEST_P(AppListControllerImplTest,
CloseAppListShownFromOverviewAfterTabletExit) {
auto* shell = Shell::Get();
auto* tablet_mode_controller = shell->tablet_mode_controller();
auto* controller = Shell::Get()->app_list_controller();
auto* app_list_controller = shell->app_list_controller();
// Move to tablet mode and back.
tablet_mode_controller->SetEnabledForTest(true);
tablet_mode_controller->SetEnabledForTest(false);
Expand All @@ -484,15 +484,15 @@ TEST_P(AppListControllerImplTest,
// Press home button - verify overview exits and the app list is shown.
PressHomeButton();

EXPECT_FALSE(shell->overview_controller()->InOverviewSession());
EXPECT_TRUE(controller->bubble_presenter_for_test()->IsShowing());
EXPECT_TRUE(controller->IsVisible());
EXPECT_FALSE(OverviewController::Get()->InOverviewSession());
EXPECT_TRUE(app_list_controller->bubble_presenter_for_test()->IsShowing());
EXPECT_TRUE(app_list_controller->IsVisible());

// Pressing home button again should close the app list.
PressHomeButton();

EXPECT_FALSE(controller->bubble_presenter_for_test()->IsShowing());
EXPECT_FALSE(controller->IsVisible());
EXPECT_FALSE(app_list_controller->bubble_presenter_for_test()->IsShowing());
EXPECT_FALSE(app_list_controller->IsVisible());
}

// Tests that swapping out an AppListModel (simulating a profile swap with
Expand Down
8 changes: 4 additions & 4 deletions ash/app_list/app_list_presenter_unittest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -4158,7 +4158,7 @@ TEST_F(AppListPresenterHomeLauncherTest, OpacityInOverviewMode) {
GetAppListTestHelper()->CheckVisibility(true);

// Enable overview mode.
OverviewController* overview_controller = Shell::Get()->overview_controller();
OverviewController* overview_controller = OverviewController::Get();
EnterOverview();
EXPECT_TRUE(overview_controller->InOverviewSession());
ui::Layer* layer = GetAppListView()->GetWidget()->GetNativeWindow()->layer();
Expand Down Expand Up @@ -4262,7 +4262,7 @@ TEST_F(AppListPresenterHomeLauncherTest, GoingHomeEndOverviewMode) {
EnableTabletMode(true);
GetAppListTestHelper()->CheckVisibility(true);
std::unique_ptr<aura::Window> window(CreateTestWindowInShellWithId(0));
OverviewController* overview_controller = Shell::Get()->overview_controller();
OverviewController* overview_controller = OverviewController::Get();
EnterOverview();
EXPECT_TRUE(overview_controller->InOverviewSession());

Expand All @@ -4282,7 +4282,7 @@ TEST_F(AppListPresenterHomeLauncherTest,
std::unique_ptr<aura::Window> window(CreateTestWindowInShellWithId(0));
std::unique_ptr<aura::Window> dummy_window(CreateTestWindowInShellWithId(1));

OverviewController* overview_controller = Shell::Get()->overview_controller();
OverviewController* overview_controller = OverviewController::Get();
EnterOverview();
EXPECT_TRUE(overview_controller->InOverviewSession());

Expand Down Expand Up @@ -4650,7 +4650,7 @@ TEST_F(AppListPresenterWithScaleAnimationOnTabletModeTransitionTest,
const auto expected_opacity = layer->opacity();
const auto expected_transform = layer->transform();

OverviewController* overview_controller = Shell::Get()->overview_controller();
OverviewController* overview_controller = OverviewController::Get();

EnterOverview();
EXPECT_TRUE(overview_controller->InOverviewSession());
Expand Down
2 changes: 1 addition & 1 deletion ash/capture_mode/capture_mode_unittests.cc
Original file line number Diff line number Diff line change
Expand Up @@ -2612,7 +2612,7 @@ TEST_F(CaptureModeTest, RefreshCaptureRegionInOverviewForKWindow) {
EXPECT_EQ(window.get(), session->GetSelectedWindow());

// Start overview and verify that the capture region is refreshed correctly.
auto* overview_controller = Shell::Get()->overview_controller();
auto* overview_controller = OverviewController::Get();
overview_controller->StartOverview(OverviewStartAction::kTests);
ASSERT_TRUE(overview_controller->InOverviewSession());
auto* overview_item =
Expand Down
11 changes: 3 additions & 8 deletions ash/game_dashboard/game_dashboard_context_unittest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -24,15 +24,12 @@
#include "ash/public/cpp/capture_mode/capture_mode_test_api.h"
#include "ash/public/cpp/style/dark_light_mode_controller.h"
#include "ash/public/cpp/window_properties.h"
#include "ash/shell.h"
#include "ash/strings/grit/ash_strings.h"
#include "ash/style/color_palette_controller.h"
#include "ash/style/icon_button.h"
#include "ash/style/mojom/color_scheme.mojom-shared.h"
#include "ash/style/pill_button.h"
#include "ash/style/switch.h"
#include "ash/system/unified/feature_tile.h"
#include "ash/wallpaper/wallpaper_controller_test_api.h"
#include "ash/wm/overview/overview_controller.h"
#include "ash/wm/overview/overview_observer.h"
#include "base/check.h"
Expand All @@ -41,7 +38,6 @@
#include "chromeos/ui/frame/frame_header.h"
#include "chromeos/ui/wm/window_util.h"
#include "extensions/common/constants.h"
#include "third_party/skia/include/core/SkColor.h"
#include "ui/aura/window.h"
#include "ui/base/l10n/l10n_util.h"
#include "ui/events/keycodes/keyboard_codes_posix.h"
Expand Down Expand Up @@ -86,7 +82,7 @@ class GameDashboardContextTest : public GameDashboardTestBase {

// Starts the video recording from `CaptureModeBarView`.
void ClickOnStartRecordingButtonInCaptureModeBarView() {
auto* start_recording_button = GetStartRecordingButton();
PillButton* start_recording_button = GetStartRecordingButton();
ASSERT_TRUE(start_recording_button);
LeftClickOn(start_recording_button);
WaitForRecordingToStart();
Expand Down Expand Up @@ -1249,7 +1245,7 @@ TEST_P(GameTypeGameDashboardContextTest, MoveAndHideToolbarWidget) {
class OnOverviewModeEndedWaiter : public OverviewObserver {
public:
OnOverviewModeEndedWaiter()
: overview_controller_(Shell::Get()->overview_controller()) {
: overview_controller_(OverviewController::Get()) {
CHECK(overview_controller_);
overview_controller_->AddObserver(this);
}
Expand All @@ -1274,8 +1270,6 @@ class OnOverviewModeEndedWaiter : public OverviewObserver {
// Verifies that in overview mode, the Game Dashboard button is not visible, the
// main menu is closed, and the toolbar visibility is unchanged.
TEST_P(GameTypeGameDashboardContextTest, OverviewMode) {
auto* overview_controller = Shell::Get()->overview_controller();
ASSERT_TRUE(overview_controller);
auto* game_dashboard_button_widget =
test_api_->GetGameDashboardButtonWidget();
ASSERT_TRUE(game_dashboard_button_widget);
Expand All @@ -1297,6 +1291,7 @@ TEST_P(GameTypeGameDashboardContextTest, OverviewMode) {
EXPECT_TRUE(main_menu_widget->IsVisible());

EnterOverview();
auto* overview_controller = OverviewController::Get();
ASSERT_TRUE(overview_controller->InOverviewSession());

// Verify states in overview mode.
Expand Down
43 changes: 21 additions & 22 deletions ash/shelf/drag_window_from_shelf_controller_unittest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@
#include "ash/wm/window_state.h"
#include "ash/wm/window_util.h"
#include "ash/wm/work_area_insets.h"
#include "base/ranges/algorithm.h"
#include "base/test/metrics/histogram_tester.h"
#include "chromeos/constants/chromeos_features.h"
#include "ui/aura/client/aura_constants.h"
Expand Down Expand Up @@ -311,7 +310,7 @@ TEST_F(DragWindowFromShelfControllerTest, MayOrMayNotReShowHiddenWindows) {
Drag(gfx::Point(200, 200), 0.f, 1.f);
EXPECT_FALSE(window2->IsVisible());
EXPECT_TRUE(window2->GetProperty(kHideDuringWindowDragging));
OverviewController* overview_controller = Shell::Get()->overview_controller();
OverviewController* overview_controller = OverviewController::Get();
EXPECT_TRUE(overview_controller->InOverviewSession());
DragWindowFromShelfControllerTestApi().WaitUntilOverviewIsShown(
window_drag_controller());
Expand Down Expand Up @@ -353,7 +352,7 @@ TEST_F(DragWindowFromShelfControllerTest, MinimizedWindowsShowInOverview) {
Drag(gfx::Point(200, 200), 0.f, 1.f);
DragWindowFromShelfControllerTestApi().WaitUntilOverviewIsShown(
window_drag_controller());
OverviewController* overview_controller = Shell::Get()->overview_controller();
OverviewController* overview_controller = OverviewController::Get();
EXPECT_TRUE(overview_controller->InOverviewSession());
EXPECT_TRUE(window1->IsVisible());
EXPECT_FALSE(window2->IsVisible());
Expand Down Expand Up @@ -381,7 +380,7 @@ TEST_F(DragWindowFromShelfControllerTest, OpenOverviewWhenHold) {
StartDrag(window.get(), GetShelfBounds().CenterPoint());
Drag(gfx::Point(200, 200), 0.f,
DragWindowFromShelfController::kOpenOverviewThreshold + 1);
OverviewController* overview_controller = Shell::Get()->overview_controller();
OverviewController* overview_controller = OverviewController::Get();
EXPECT_FALSE(overview_controller->InOverviewSession());
Drag(gfx::Point(200, 200), 0.f,
DragWindowFromShelfController::kOpenOverviewThreshold);
Expand All @@ -405,7 +404,7 @@ TEST_F(DragWindowFromShelfControllerTest, RestoreWindowToOriginalBounds) {
Drag(gfx::Point(200, 200), 0.f,
DragWindowFromShelfController::kShowOverviewThreshold + 1);
EXPECT_FALSE(window->layer()->GetTargetTransform().IsIdentity());
OverviewController* overview_controller = Shell::Get()->overview_controller();
OverviewController* overview_controller = OverviewController::Get();
EXPECT_FALSE(overview_controller->InOverviewSession());
EndDrag(gfx::Point(200, 400), absl::nullopt);
EXPECT_TRUE(window->layer()->GetTargetTransform().IsIdentity());
Expand Down Expand Up @@ -456,7 +455,7 @@ TEST_F(DragWindowFromShelfControllerTest, FlingInOverview) {
// kVelocityToRestoreBoundsThreshold.
StartDrag(window.get(), shelf_bounds.CenterPoint());
Drag(gfx::Point(200, 200), 0.f, 1.f);
OverviewController* overview_controller = Shell::Get()->overview_controller();
OverviewController* overview_controller = OverviewController::Get();
EXPECT_TRUE(overview_controller->InOverviewSession());
EndDrag(gfx::Point(200, 200), kVelocityToRestoreBoundsThreshold);
EXPECT_FALSE(overview_controller->InOverviewSession());
Expand Down Expand Up @@ -533,7 +532,7 @@ TEST_F(DragWindowFromShelfControllerTest, DragOrFlingInSplitView) {

auto window1 = CreateTestWindow();
auto window2 = CreateTestWindow();
OverviewController* overview_controller = Shell::Get()->overview_controller();
OverviewController* overview_controller = OverviewController::Get();
split_view_controller()->SnapWindow(
window1.get(), SplitViewController::SnapPosition::kPrimary);
split_view_controller()->SnapWindow(
Expand Down Expand Up @@ -606,7 +605,7 @@ TEST_F(DragWindowFromShelfControllerTest, WallpaperBlurDuringDragging) {
StartDrag(window.get(), shelf_bounds.CenterPoint());
Drag(gfx::Point(0, 200), 0.f,
DragWindowFromShelfController::kShowOverviewThreshold + 1);
OverviewController* overview_controller = Shell::Get()->overview_controller();
OverviewController* overview_controller = OverviewController::Get();
EXPECT_FALSE(overview_controller->InOverviewSession());
auto* wallpaper_view =
RootWindowController::ForWindow(window->GetRootWindow())
Expand All @@ -632,7 +631,7 @@ TEST_F(DragWindowFromShelfControllerTest, HideOverviewDuringDragging) {
Drag(gfx::Point(200, 200), 0.5f, 0.5f);
DragWindowFromShelfControllerTestApi().WaitUntilOverviewIsShown(
window_drag_controller());
OverviewController* overview_controller = Shell::Get()->overview_controller();
OverviewController* overview_controller = OverviewController::Get();
EXPECT_TRUE(overview_controller->InOverviewSession());
// We test the visibility of overview by testing the drop target widget's
// visibility in the overview.
Expand Down Expand Up @@ -672,7 +671,7 @@ TEST_F(DragWindowFromShelfControllerTest,
Drag(gfx::Point(200, 200), 0.5f, 0.5f);
DragWindowFromShelfControllerTestApi().WaitUntilOverviewIsShown(
window_drag_controller());
OverviewController* overview_controller = Shell::Get()->overview_controller();
OverviewController* overview_controller = OverviewController::Get();
EXPECT_TRUE(overview_controller->InOverviewSession());
OverviewSession* overview_session = overview_controller->overview_session();
ASSERT_EQ(1u, overview_session->grid_list().size());
Expand Down Expand Up @@ -733,7 +732,7 @@ TEST_F(DragWindowFromShelfControllerTest, CancelDragDismissOverview) {
Drag(gfx::Point(200, 200), 0.5f, 0.5f);
DragWindowFromShelfControllerTestApi().WaitUntilOverviewIsShown(
window_drag_controller());
OverviewController* overview_controller = Shell::Get()->overview_controller();
OverviewController* overview_controller = OverviewController::Get();
EXPECT_TRUE(overview_controller->InOverviewSession());
EXPECT_TRUE(window1->IsVisible());
EXPECT_FALSE(window2->IsVisible());
Expand Down Expand Up @@ -839,7 +838,7 @@ TEST_F(DragWindowFromShelfControllerTest, DragToSnapMinDistance) {
gfx::Point end = gfx::Point(
start.x() - DragWindowFromShelfController::kMinDragDistance + 10, 200);
EndDrag(end, absl::nullopt);
OverviewController* overview_controller = Shell::Get()->overview_controller();
OverviewController* overview_controller = OverviewController::Get();
EXPECT_TRUE(overview_controller->InOverviewSession());
EXPECT_FALSE(split_view_controller()->InSplitViewMode());

Expand Down Expand Up @@ -943,7 +942,7 @@ TEST_F(DragWindowFromShelfControllerTest, TestOverviewInvisible) {
window_drag_controller());
// End drag without any fling, the window should be added to overview.
EndDrag(gfx::Point(200, 200), absl::nullopt);
OverviewController* overview_controller = Shell::Get()->overview_controller();
OverviewController* overview_controller = OverviewController::Get();
EXPECT_TRUE(overview_controller->InOverviewSession());
EXPECT_TRUE(overview_controller->overview_session()->IsWindowInOverview(
window.get()));
Expand Down Expand Up @@ -999,7 +998,7 @@ TEST_F(DragWindowFromShelfControllerTest,
gfx::Vector2d(10 + DragWindowFromShelfController::kMinDragDistance, 200);
EndDrag(end, absl::nullopt);

EXPECT_FALSE(Shell::Get()->overview_controller()->InOverviewSession());
EXPECT_FALSE(OverviewController::Get()->InOverviewSession());
EXPECT_FALSE(split_view_controller()->InSplitViewMode());
EXPECT_TRUE(WindowState::Get(window.get())->IsMinimized());
}
Expand All @@ -1021,7 +1020,7 @@ TEST_F(DragWindowFromShelfControllerTest, RestoreBackdropAfterDragEnds) {
DragWindowFromShelfControllerTestApi().WaitUntilOverviewIsShown(
window_drag_controller());
EndDrag(gfx::Point(200, 200), absl::nullopt);
OverviewController* overview_controller = Shell::Get()->overview_controller();
OverviewController* overview_controller = OverviewController::Get();
EXPECT_TRUE(overview_controller->InOverviewSession());
EXPECT_TRUE(overview_controller->overview_session()->IsWindowInOverview(
window.get()));
Expand Down Expand Up @@ -1090,7 +1089,7 @@ TEST_F(DragWindowFromShelfControllerTest,
DragWindowFromShelfControllerTestApi().WaitUntilOverviewIsShown(
window_drag_controller());

OverviewController* overview_controller = Shell::Get()->overview_controller();
OverviewController* overview_controller = OverviewController::Get();
EXPECT_TRUE(overview_controller->InOverviewSession());
// During dragging, the active window should not change.
EXPECT_EQ(window.get(), window_util::GetActiveWindow());
Expand All @@ -1110,7 +1109,7 @@ TEST_F(DragWindowFromShelfControllerTest,
NoCrashIfDropWindowInOverviewBeforeStartAnimationComplete) {
ui::ScopedAnimationDurationScaleMode test_duration_mode(
ui::ScopedAnimationDurationScaleMode::NON_ZERO_DURATION);
OverviewController* overview_controller = Shell::Get()->overview_controller();
OverviewController* overview_controller = OverviewController::Get();
overview_controller->set_delayed_animation_task_delay_for_test(
base::Milliseconds(100));

Expand Down Expand Up @@ -1167,7 +1166,7 @@ TEST_F(DragWindowFromShelfControllerTest, DropsIntoOverviewAtCorrectPosition) {
EndDrag(gfx::Point(200, 200), absl::nullopt);

// Verify the grid arrangement.
OverviewController* overview_controller = Shell::Get()->overview_controller();
OverviewController* overview_controller = OverviewController::Get();
ASSERT_TRUE(overview_controller->InOverviewSession());
const std::vector<aura::Window*> expected_mru_list = {
window2.get(), window1.get(), window3.get()};
Expand Down Expand Up @@ -1210,7 +1209,7 @@ TEST_F(DragWindowFromShelfControllerTest, NoAnimationWhenReturnToMaximize) {
window_drag_controller());

// Get the bounds and transform of the item associated with |item2|.
OverviewController* overview_controller = Shell::Get()->overview_controller();
OverviewController* overview_controller = OverviewController::Get();
ASSERT_TRUE(overview_controller->InOverviewSession());
auto* item = GetOverviewItemForWindow(window2.get());
ASSERT_TRUE(item);
Expand Down Expand Up @@ -1262,7 +1261,7 @@ TEST_F(DragWindowFromShelfControllerTest,
Drag(gfx::Point(400, 200), 1.f, 1.f);
DragWindowFromShelfControllerTestApi().WaitUntilOverviewIsShown(
window_drag_controller());
OverviewController* overview_controller = Shell::Get()->overview_controller();
OverviewController* overview_controller = OverviewController::Get();
OverviewSession* overview_session = overview_controller->overview_session();
EndDrag(gfx::Point(200, 200), /*velocity_y=*/absl::nullopt);
// Ensure that the window is not in splitview but in overview.
Expand Down Expand Up @@ -1317,7 +1316,7 @@ TEST_F(DragWindowFromShelfControllerTest,
EXPECT_FALSE(window->IsVisible());
EXPECT_FALSE(window_transient->IsVisible());

OverviewController* overview_controller = Shell::Get()->overview_controller();
OverviewController* overview_controller = OverviewController::Get();
overview_controller->StartOverview(OverviewStartAction::kExitHomeLauncher);

ASSERT_TRUE(overview_controller->InOverviewSession());
Expand Down Expand Up @@ -1528,7 +1527,7 @@ TEST_F(FloatDragWindowFromShelfControllerTest, WindowStatePreserved) {

// Verify that on exiting overview, the original window state is preserved
// (neither window is minimized).
OverviewController* overview_controller = Shell::Get()->overview_controller();
OverviewController* overview_controller = OverviewController::Get();
ASSERT_TRUE(overview_controller->InOverviewSession());
ExitOverview();
EXPECT_TRUE(WindowState::Get(maximized_window.get())->IsMaximized());
Expand Down

0 comments on commit a551232

Please sign in to comment.