split_view_test_api.cc 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. // Copyright 2019 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #include "ash/public/cpp/split_view_test_api.h"
  5. #include "ash/shell.h"
  6. #include "ash/wm/splitview/split_view_controller.h"
  7. namespace ash {
  8. namespace {
  9. SplitViewController* split_view_controller() {
  10. return SplitViewController::Get(Shell::GetPrimaryRootWindow());
  11. }
  12. } // namespace
  13. SplitViewTestApi::SplitViewTestApi() = default;
  14. SplitViewTestApi::~SplitViewTestApi() = default;
  15. void SplitViewTestApi::SnapWindow(
  16. aura::Window* window,
  17. SplitViewTestApi::SnapPosition snap_position) {
  18. SplitViewController::SnapPosition position;
  19. switch (snap_position) {
  20. case SnapPosition::NONE:
  21. position = SplitViewController::NONE;
  22. break;
  23. case SnapPosition::LEFT:
  24. position = SplitViewController::LEFT;
  25. break;
  26. case SnapPosition::RIGHT:
  27. position = SplitViewController::RIGHT;
  28. break;
  29. }
  30. split_view_controller()->SnapWindow(window, position);
  31. }
  32. void SplitViewTestApi::SwapWindows() {
  33. split_view_controller()->SwapWindows();
  34. }
  35. aura::Window* SplitViewTestApi::GetLeftWindow() const {
  36. return split_view_controller()->left_window();
  37. }
  38. aura::Window* SplitViewTestApi::GetRightWindow() const {
  39. return split_view_controller()->right_window();
  40. }
  41. } // namespace ash