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

Side by Side Diff: components/mus/example/wm/window_manager_application.cc

Issue 1423133003: Routes calls to WM through WS (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: merge 2 trunk Created 5 years, 1 month 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
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "components/mus/example/wm/window_manager_application.h" 5 #include "components/mus/example/wm/window_manager_application.h"
6 6
7 #include "components/mus/example/wm/container.h" 7 #include "components/mus/example/wm/container.h"
8 #include "components/mus/example/wm/window_layout.h" 8 #include "components/mus/example/wm/window_layout.h"
9 #include "components/mus/example/wm/window_manager_impl.h" 9 #include "components/mus/example/wm/window_manager_impl.h"
10 #include "components/mus/public/cpp/util.h" 10 #include "components/mus/public/cpp/util.h"
(...skipping 11 matching lines...) Expand all
22 const mus::Id window_id = root_->connection()->GetConnectionId() << 16 | 22 const mus::Id window_id = root_->connection()->GetConnectionId() << 16 |
23 static_cast<uint16_t>(container); 23 static_cast<uint16_t>(container);
24 return root_->GetChildById(window_id); 24 return root_->GetChildById(window_id);
25 } 25 }
26 26
27 mus::Window* WindowManagerApplication::GetWindowById(mus::Id id) { 27 mus::Window* WindowManagerApplication::GetWindowById(mus::Id id) {
28 return root_->GetChildById(id); 28 return root_->GetChildById(id);
29 } 29 }
30 30
31 void WindowManagerApplication::Initialize(mojo::ApplicationImpl* app) { 31 void WindowManagerApplication::Initialize(mojo::ApplicationImpl* app) {
32 mus::CreateSingleWindowTreeHost(app, this, &host_); 32 mus::mojom::WindowManagerPtr window_manager;
33 requests_.push_back(new mojo::InterfaceRequest<mus::mojom::WindowManager>(
34 mojo::GetProxy(&window_manager)));
35 mus::CreateSingleWindowTreeHost(app, this, &host_, window_manager.Pass());
33 } 36 }
34 37
35 bool WindowManagerApplication::ConfigureIncomingConnection( 38 bool WindowManagerApplication::ConfigureIncomingConnection(
36 mojo::ApplicationConnection* connection) { 39 mojo::ApplicationConnection* connection) {
37 connection->AddService(this); 40 connection->AddService(this);
38 return true; 41 return true;
39 } 42 }
40 43
41 void WindowManagerApplication::OnEmbed(mus::Window* root) { 44 void WindowManagerApplication::OnEmbed(mus::Window* root) {
42 root_ = root; 45 root_ = root;
43 CreateContainers(); 46 CreateContainers();
44 layout_.reset( 47 layout_.reset(
45 new WindowLayout(GetWindowForContainer(Container::USER_WINDOWS))); 48 new WindowLayout(GetWindowForContainer(Container::USER_WINDOWS)));
46 49
47 host_->EnableWindowDraggingForChildren( 50 host_->EnableWindowDraggingForChildren(
48 GetWindowForContainer(Container::USER_WINDOWS)->id()); 51 GetWindowForContainer(Container::USER_WINDOWS)->id());
49 52
50 for (auto request : requests_) 53 window_manager_.reset(new WindowManagerImpl(this));
51 new WindowManagerImpl(this, request->Pass()); 54 for (auto request : requests_) {
Ben Goodger (Google) 2015/10/27 22:25:05 nit: no braces
sky 2015/10/27 22:30:27 Done.
55 window_manager_binding_.AddBinding(window_manager_.get(), request->Pass());
56 }
57 requests_.clear();
52 } 58 }
53 59
54 void WindowManagerApplication::OnConnectionLost( 60 void WindowManagerApplication::OnConnectionLost(
55 mus::WindowTreeConnection* connection) { 61 mus::WindowTreeConnection* connection) {
56 // TODO(sky): shutdown. 62 // TODO(sky): shutdown.
57 NOTIMPLEMENTED(); 63 NOTIMPLEMENTED();
58 } 64 }
59 65
60 void WindowManagerApplication::Create( 66 void WindowManagerApplication::Create(
61 mojo::ApplicationConnection* connection, 67 mojo::ApplicationConnection* connection,
62 mojo::InterfaceRequest<mus::mojom::WindowManager> request) { 68 mojo::InterfaceRequest<mus::mojom::WindowManager> request) {
63 if (root_) { 69 if (root_) {
64 new WindowManagerImpl(this, request.Pass()); 70 window_manager_binding_.AddBinding(window_manager_.get(), request.Pass());
65 } else { 71 } else {
66 requests_.push_back( 72 requests_.push_back(
67 new mojo::InterfaceRequest<mus::mojom::WindowManager>(request.Pass())); 73 new mojo::InterfaceRequest<mus::mojom::WindowManager>(request.Pass()));
68 } 74 }
69 } 75 }
70 76
71 void WindowManagerApplication::CreateContainers() { 77 void WindowManagerApplication::CreateContainers() {
72 for (uint16_t container = 78 for (uint16_t container =
73 static_cast<uint16_t>(Container::ALL_USER_BACKGROUND); 79 static_cast<uint16_t>(Container::ALL_USER_BACKGROUND);
74 container < static_cast<uint16_t>(Container::COUNT); ++container) { 80 container < static_cast<uint16_t>(Container::COUNT); ++container) {
75 mus::Window* window = root_->connection()->NewWindow(); 81 mus::Window* window = root_->connection()->NewWindow();
76 DCHECK_EQ(mus::LoWord(window->id()), container) 82 DCHECK_EQ(mus::LoWord(window->id()), container)
77 << "Containers must be created before other windows!"; 83 << "Containers must be created before other windows!";
78 window->SetBounds(root_->bounds()); 84 window->SetBounds(root_->bounds());
79 window->SetVisible(true); 85 window->SetVisible(true);
80 root_->AddChild(window); 86 root_->AddChild(window);
81 } 87 }
82 } 88 }
83 89
OLDNEW
« no previous file with comments | « components/mus/example/wm/window_manager_application.h ('k') | components/mus/example/wm/window_manager_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698