Chromium Code Reviews| Index: mash/wm/test/wm_test_helper.cc |
| diff --git a/mash/wm/test/wm_test_helper.cc b/mash/wm/test/wm_test_helper.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..4191fe27291b3d589220075399df01968ca07797 |
| --- /dev/null |
| +++ b/mash/wm/test/wm_test_helper.cc |
| @@ -0,0 +1,52 @@ |
| +// Copyright 2015 The Chromium Authors. All rights reserved. |
|
James Cook
2016/05/19 05:08:22
nit: 2016
sky
2016/05/19 15:14:24
Done.
|
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#include "mash/wm/test/wm_test_helper.h" |
| + |
| +#include "base/message_loop/message_loop.h" |
| +#include "components/mus/public/cpp/property_type_converters.h" |
| +#include "components/mus/public/cpp/window_tree_connection.h" |
| +#include "mash/wm/root_window_controller.h" |
| +#include "mash/wm/test/wm_test_screen.h" |
| +#include "mash/wm/window_manager.h" |
| +#include "mash/wm/window_manager.h" |
| +#include "mash/wm/window_manager_application.h" |
| +#include "ui/display/display.h" |
| + |
| +namespace mash { |
| +namespace wm { |
| + |
| +WmTestHelper::WmTestHelper() {} |
| + |
| +WmTestHelper::~WmTestHelper() {} |
| + |
| +void WmTestHelper::Init() { |
| + message_loop_.reset(new base::MessageLoopForUI()); |
| + const uint32_t app_id = 1; |
| + window_manager_app_.Initialize(nullptr, shell::Identity(), app_id); |
| + screen_ = new WmTestScreen; |
| + window_manager_app_.screen_.reset(screen_); |
| + |
| + // RootWindowController controls its own lifetime. |
| + RootWindowController* root_window_controller = |
| + new RootWindowController(&window_manager_app_); |
| + // Need an id other than kInvalidDisplayID so the Display is considered valid. |
| + root_window_controller->display_.set_id(1); |
| + const gfx::Rect display_bounds(0, 0, 800, 600); |
| + root_window_controller->display_.set_bounds(display_bounds); |
| + const gfx::Rect work_area(0, 0, display_bounds.width(), |
| + display_bounds.height() - 20); |
|
James Cook
2016/05/19 05:08:22
optional: maybe a constant for the magic -20?
sky
2016/05/19 15:14:24
I added a comment. I don't think it's worth the co
|
| + root_window_controller->display_.set_work_area(work_area); |
| + |
| + screen_->display_list()->AddDisplay(root_window_controller->display(), |
| + views::DisplayList::Type::PRIMARY); |
| + |
| + window_tree_connection_setup_.Init( |
| + root_window_controller, root_window_controller->window_manager_.get()); |
| + root_window_controller->root()->SetBounds(display_bounds); |
| + window_manager_app_.AddRootWindowController(root_window_controller); |
| +} |
| + |
| +} // namespace wm |
| +} // namespace mash |