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

Side by Side Diff: content/renderer/mus/render_widget_window_tree_client_factory.cc

Issue 1882423004: Move shell service to toplevel shell namespace (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 years, 8 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
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 "content/renderer/mus/render_widget_window_tree_client_factory.h" 5 #include "content/renderer/mus/render_widget_window_tree_client_factory.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/macros.h" 10 #include "base/macros.h"
11 #include "components/mus/public/interfaces/window_tree.mojom.h" 11 #include "components/mus/public/interfaces/window_tree.mojom.h"
12 #include "content/common/render_widget_window_tree_client_factory.mojom.h" 12 #include "content/common/render_widget_window_tree_client_factory.mojom.h"
13 #include "content/public/common/mojo_shell_connection.h" 13 #include "content/public/common/mojo_shell_connection.h"
14 #include "content/renderer/mus/render_widget_mus_connection.h" 14 #include "content/renderer/mus/render_widget_mus_connection.h"
15 #include "mojo/public/cpp/bindings/binding_set.h" 15 #include "mojo/public/cpp/bindings/binding_set.h"
16 #include "services/shell/public/cpp/connection.h" 16 #include "services/shell/public/cpp/connection.h"
17 #include "services/shell/public/cpp/interface_factory.h" 17 #include "services/shell/public/cpp/interface_factory.h"
18 #include "url/gurl.h" 18 #include "url/gurl.h"
19 19
20 namespace content { 20 namespace content {
21 21
22 namespace { 22 namespace {
23 23
24 // This object's lifetime is managed by MojoShellConnection because it's a 24 // This object's lifetime is managed by MojoShellConnection because it's a
25 // MojoShellConnection::Listener. 25 // MojoShellConnection::Listener.
26 class RenderWidgetWindowTreeClientFactoryImpl 26 class RenderWidgetWindowTreeClientFactoryImpl
27 : public MojoShellConnection::Listener, 27 : public MojoShellConnection::Listener,
28 public mojo::InterfaceFactory<mojom::RenderWidgetWindowTreeClientFactory>, 28 public shell::InterfaceFactory<
29 mojom::RenderWidgetWindowTreeClientFactory>,
29 public mojom::RenderWidgetWindowTreeClientFactory { 30 public mojom::RenderWidgetWindowTreeClientFactory {
30 public: 31 public:
31 RenderWidgetWindowTreeClientFactoryImpl() { 32 RenderWidgetWindowTreeClientFactoryImpl() {
32 DCHECK(MojoShellConnection::Get()); 33 DCHECK(MojoShellConnection::Get());
33 MojoShellConnection::Get()->AddListener(this); 34 MojoShellConnection::Get()->AddListener(this);
34 } 35 }
35 36
36 ~RenderWidgetWindowTreeClientFactoryImpl() override {} 37 ~RenderWidgetWindowTreeClientFactoryImpl() override {}
37 38
38 private: 39 private:
39 // MojoShellConnection::Listener implementation: 40 // MojoShellConnection::Listener implementation:
40 bool AcceptConnection(mojo::Connection* connection) override { 41 bool AcceptConnection(shell::Connection* connection) override {
41 connection->AddInterface<mojom::RenderWidgetWindowTreeClientFactory>(this); 42 connection->AddInterface<mojom::RenderWidgetWindowTreeClientFactory>(this);
42 return true; 43 return true;
43 } 44 }
44 45
45 // mojo::InterfaceFactory<mojom::RenderWidgetWindowTreeClientFactory>: 46 // shell::InterfaceFactory<mojom::RenderWidgetWindowTreeClientFactory>:
46 void Create(mojo::Connection* connection, 47 void Create(shell::Connection* connection,
47 mojo::InterfaceRequest<mojom::RenderWidgetWindowTreeClientFactory> 48 mojo::InterfaceRequest<mojom::RenderWidgetWindowTreeClientFactory>
48 request) override { 49 request) override {
49 bindings_.AddBinding(this, std::move(request)); 50 bindings_.AddBinding(this, std::move(request));
50 } 51 }
51 52
52 // mojom::RenderWidgetWindowTreeClientFactory implementation. 53 // mojom::RenderWidgetWindowTreeClientFactory implementation.
53 void CreateWindowTreeClientForRenderWidget( 54 void CreateWindowTreeClientForRenderWidget(
54 uint32_t routing_id, 55 uint32_t routing_id,
55 mojo::InterfaceRequest<mus::mojom::WindowTreeClient> request) override { 56 mojo::InterfaceRequest<mus::mojom::WindowTreeClient> request) override {
56 RenderWidgetMusConnection* connection = 57 RenderWidgetMusConnection* connection =
57 RenderWidgetMusConnection::GetOrCreate(routing_id); 58 RenderWidgetMusConnection::GetOrCreate(routing_id);
58 connection->Bind(std::move(request)); 59 connection->Bind(std::move(request));
59 } 60 }
60 61
61 mojo::BindingSet<mojom::RenderWidgetWindowTreeClientFactory> bindings_; 62 mojo::BindingSet<mojom::RenderWidgetWindowTreeClientFactory> bindings_;
62 63
63 DISALLOW_COPY_AND_ASSIGN(RenderWidgetWindowTreeClientFactoryImpl); 64 DISALLOW_COPY_AND_ASSIGN(RenderWidgetWindowTreeClientFactoryImpl);
64 }; 65 };
65 66
66 } // namespace 67 } // namespace
67 68
68 void CreateRenderWidgetWindowTreeClientFactory() { 69 void CreateRenderWidgetWindowTreeClientFactory() {
69 new RenderWidgetWindowTreeClientFactoryImpl; 70 new RenderWidgetWindowTreeClientFactoryImpl;
70 } 71 }
71 72
72 } // namespace content 73 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/media/media_interface_provider.cc ('k') | content/renderer/render_frame_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698