Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(306)

Side by Side Diff: services/ui/test_wm/test_wm.cc

Issue 2644093002: aura: Some change to how the client-lib is set up. (Closed)
Patch Set: . Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « services/ui/demo/mus_demo.cc ('k') | services/ui/ws/window_server_test_base.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 <memory> 5 #include <memory>
6 #include <utility> 6 #include <utility>
7 7
8 #include "base/memory/ptr_util.h" 8 #include "base/memory/ptr_util.h"
9 #include "base/threading/thread_task_runner_handle.h" 9 #include "base/threading/thread_task_runner_handle.h"
10 #include "mojo/public/cpp/bindings/binding.h" 10 #include "mojo/public/cpp/bindings/binding.h"
11 #include "services/service_manager/public/c/main.h" 11 #include "services/service_manager/public/c/main.h"
12 #include "services/service_manager/public/cpp/connector.h" 12 #include "services/service_manager/public/cpp/connector.h"
13 #include "services/service_manager/public/cpp/service.h" 13 #include "services/service_manager/public/cpp/service.h"
14 #include "services/service_manager/public/cpp/service_context.h" 14 #include "services/service_manager/public/cpp/service_context.h"
15 #include "services/service_manager/public/cpp/service_runner.h" 15 #include "services/service_manager/public/cpp/service_runner.h"
16 #include "services/ui/public/cpp/gpu/gpu.h"
17 #include "ui/aura/env.h" 16 #include "ui/aura/env.h"
18 #include "ui/aura/mus/mus_context_factory.h"
19 #include "ui/aura/mus/property_converter.h" 17 #include "ui/aura/mus/property_converter.h"
20 #include "ui/aura/mus/property_utils.h" 18 #include "ui/aura/mus/property_utils.h"
21 #include "ui/aura/mus/window_manager_delegate.h" 19 #include "ui/aura/mus/window_manager_delegate.h"
22 #include "ui/aura/mus/window_tree_client.h" 20 #include "ui/aura/mus/window_tree_client.h"
23 #include "ui/aura/mus/window_tree_client_delegate.h" 21 #include "ui/aura/mus/window_tree_client_delegate.h"
24 #include "ui/aura/mus/window_tree_host_mus.h" 22 #include "ui/aura/mus/window_tree_host_mus.h"
25 #include "ui/aura/test/test_focus_client.h" 23 #include "ui/aura/test/test_focus_client.h"
26 #include "ui/aura/window.h" 24 #include "ui/aura/window.h"
27 #include "ui/display/display.h" 25 #include "ui/display/display.h"
28 #include "ui/display/display_list.h" 26 #include "ui/display/display_list.h"
(...skipping 10 matching lines...) Expand all
39 public: 37 public:
40 TestWM() {} 38 TestWM() {}
41 39
42 ~TestWM() override { 40 ~TestWM() override {
43 // WindowTreeHost uses state from WindowTreeClient, so destroy it first. 41 // WindowTreeHost uses state from WindowTreeClient, so destroy it first.
44 window_tree_host_.reset(); 42 window_tree_host_.reset();
45 43
46 // WindowTreeClient destruction may callback to us. 44 // WindowTreeClient destruction may callback to us.
47 window_tree_client_.reset(); 45 window_tree_client_.reset();
48 46
49 gpu_.reset();
50
51 display::Screen::SetScreenInstance(nullptr); 47 display::Screen::SetScreenInstance(nullptr);
52 } 48 }
53 49
54 private: 50 private:
55 // service_manager::Service: 51 // service_manager::Service:
56 void OnStart() override { 52 void OnStart() override {
57 CHECK(!started_); 53 CHECK(!started_);
58 started_ = true; 54 started_ = true;
59 screen_ = base::MakeUnique<display::ScreenBase>(); 55 screen_ = base::MakeUnique<display::ScreenBase>();
60 display::Screen::SetScreenInstance(screen_.get()); 56 display::Screen::SetScreenInstance(screen_.get());
61 aura_env_ = aura::Env::CreateInstance(aura::Env::Mode::MUS); 57 aura_env_ = aura::Env::CreateInstance(aura::Env::Mode::MUS);
62 gpu_ = ui::Gpu::Create(context()->connector(), nullptr);
63 compositor_context_factory_ =
64 base::MakeUnique<aura::MusContextFactory>(gpu_.get());
65 aura_env_->set_context_factory(compositor_context_factory_.get());
66 window_tree_client_ = base::MakeUnique<aura::WindowTreeClient>( 58 window_tree_client_ = base::MakeUnique<aura::WindowTreeClient>(
67 context()->connector(), this, this); 59 context()->connector(), this, this);
68 aura_env_->SetWindowTreeClient(window_tree_client_.get()); 60 aura_env_->SetWindowTreeClient(window_tree_client_.get());
69 window_tree_client_->ConnectAsWindowManager(); 61 window_tree_client_->ConnectAsWindowManager();
70 } 62 }
71 63
72 bool OnConnect(const service_manager::ServiceInfo& remote_info, 64 bool OnConnect(const service_manager::ServiceInfo& remote_info,
73 service_manager::InterfaceRegistry* registry) override { 65 service_manager::InterfaceRegistry* registry) override {
74 return false; 66 return false;
75 } 67 }
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
178 std::unique_ptr<display::ScreenBase> screen_; 170 std::unique_ptr<display::ScreenBase> screen_;
179 171
180 std::unique_ptr<aura::Env> aura_env_; 172 std::unique_ptr<aura::Env> aura_env_;
181 ::wm::WMState wm_state_; 173 ::wm::WMState wm_state_;
182 aura::PropertyConverter property_converter_; 174 aura::PropertyConverter property_converter_;
183 aura::test::TestFocusClient focus_client_; 175 aura::test::TestFocusClient focus_client_;
184 std::unique_ptr<aura::WindowTreeHostMus> window_tree_host_; 176 std::unique_ptr<aura::WindowTreeHostMus> window_tree_host_;
185 aura::Window* root_ = nullptr; 177 aura::Window* root_ = nullptr;
186 aura::WindowManagerClient* window_manager_client_ = nullptr; 178 aura::WindowManagerClient* window_manager_client_ = nullptr;
187 std::unique_ptr<aura::WindowTreeClient> window_tree_client_; 179 std::unique_ptr<aura::WindowTreeClient> window_tree_client_;
188 std::unique_ptr<ui::Gpu> gpu_;
189 std::unique_ptr<aura::MusContextFactory> compositor_context_factory_;
190 180
191 bool started_ = false; 181 bool started_ = false;
192 182
193 DISALLOW_COPY_AND_ASSIGN(TestWM); 183 DISALLOW_COPY_AND_ASSIGN(TestWM);
194 }; 184 };
195 185
196 } // namespace test 186 } // namespace test
197 } // namespace ui 187 } // namespace ui
198 188
199 MojoResult ServiceMain(MojoHandle service_request_handle) { 189 MojoResult ServiceMain(MojoHandle service_request_handle) {
200 service_manager::ServiceRunner runner(new ui::test::TestWM); 190 service_manager::ServiceRunner runner(new ui::test::TestWM);
201 return runner.Run(service_request_handle); 191 return runner.Run(service_request_handle);
202 } 192 }
OLDNEW
« no previous file with comments | « services/ui/demo/mus_demo.cc ('k') | services/ui/ws/window_server_test_base.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698