blob: 864b02b0a2d67c88a838d20b873a37697109bb4b [file]
// Copyright 2019 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "ash/public/cpp/split_view_test_api.h"
#include "ash/shell.h"
#include "ash/wm/splitview/split_view_controller.h"
namespace ash {
namespace {
SplitViewController* split_view_controller() {
return SplitViewController::Get(Shell::GetPrimaryRootWindow());
}
} // namespace
SplitViewTestApi::SplitViewTestApi() = default;
SplitViewTestApi::~SplitViewTestApi() = default;
void SplitViewTestApi::SnapWindow(
aura::Window* window,
SplitViewTestApi::SnapPosition snap_position) {
SplitViewController::SnapPosition position;
switch (snap_position) {
case SnapPosition::NONE:
position = SplitViewController::SnapPosition::kNone;
break;
case SnapPosition::LEFT:
position = SplitViewController::SnapPosition::kPrimary;
break;
case SnapPosition::RIGHT:
position = SplitViewController::SnapPosition::kSecondary;
break;
}
split_view_controller()->SnapWindow(window, position);
}
void SplitViewTestApi::SwapWindows() {
split_view_controller()->SwapWindows(
SplitViewController::SwapWindowsSource::kDoubleTap);
}
aura::Window* SplitViewTestApi::GetLeftWindow() const {
return split_view_controller()->primary_window();
}
aura::Window* SplitViewTestApi::GetRightWindow() const {
return split_view_controller()->secondary_window();
}
} // namespace ash