OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 #ifndef MOJO_RUNNER_ANDROID_NATIVE_VIEWPORT_APPLICATION_LOADER_H_ | 5 #ifndef MOJO_RUNNER_ANDROID_NATIVE_VIEWPORT_APPLICATION_LOADER_H_ |
6 #define MOJO_RUNNER_ANDROID_NATIVE_VIEWPORT_APPLICATION_LOADER_H_ | 6 #define MOJO_RUNNER_ANDROID_NATIVE_VIEWPORT_APPLICATION_LOADER_H_ |
7 | 7 |
8 #include "components/gles2/gpu_impl.h" | 8 #include "components/gles2/gpu_impl.h" |
9 #include "components/gpu/public/interfaces/gpu.mojom.h" | 9 #include "components/gpu/public/interfaces/gpu.mojom.h" |
10 #include "components/native_viewport/public/interfaces/native_viewport.mojom.h" | 10 #include "components/native_viewport/public/interfaces/native_viewport.mojom.h" |
11 #include "mojo/public/cpp/application/application_delegate.h" | 11 #include "mojo/public/cpp/application/application_delegate.h" |
12 #include "mojo/public/cpp/application/interface_factory.h" | 12 #include "mojo/public/cpp/application/interface_factory.h" |
13 #include "mojo/shell/application_loader.h" | 13 #include "mojo/shell/application_loader.h" |
14 | 14 |
15 namespace gles2 { | 15 namespace gles2 { |
16 class GpuState; | 16 class GpuState; |
17 } | 17 } |
18 | 18 |
19 namespace mojo { | 19 namespace mojo { |
20 | 20 |
21 class ApplicationImpl; | 21 class ApplicationImpl; |
22 | 22 |
23 namespace shell { | 23 namespace runner { |
24 | 24 |
25 class NativeViewportApplicationLoader : public ApplicationLoader, | 25 class NativeViewportApplicationLoader : public shell::ApplicationLoader, |
26 public ApplicationDelegate, | 26 public ApplicationDelegate, |
27 public InterfaceFactory<NativeViewport>, | 27 public InterfaceFactory<NativeViewport>, |
28 public InterfaceFactory<Gpu> { | 28 public InterfaceFactory<Gpu> { |
29 public: | 29 public: |
30 NativeViewportApplicationLoader(); | 30 NativeViewportApplicationLoader(); |
31 ~NativeViewportApplicationLoader(); | 31 ~NativeViewportApplicationLoader(); |
32 | 32 |
33 private: | 33 private: |
34 // ApplicationLoader implementation. | 34 // ApplicationLoader implementation. |
35 void Load(const GURL& url, | 35 void Load(const GURL& url, |
36 InterfaceRequest<Application> application_request) override; | 36 InterfaceRequest<Application> application_request) override; |
37 | 37 |
38 // ApplicationDelegate implementation. | 38 // ApplicationDelegate implementation. |
39 bool ConfigureIncomingConnection(ApplicationConnection* connection) override; | 39 bool ConfigureIncomingConnection(ApplicationConnection* connection) override; |
40 | 40 |
41 // InterfaceFactory<NativeViewport> implementation. | 41 // InterfaceFactory<NativeViewport> implementation. |
42 void Create(ApplicationConnection* connection, | 42 void Create(ApplicationConnection* connection, |
43 InterfaceRequest<NativeViewport> request) override; | 43 InterfaceRequest<NativeViewport> request) override; |
44 | 44 |
45 // InterfaceFactory<Gpu> implementation. | 45 // InterfaceFactory<Gpu> implementation. |
46 void Create(ApplicationConnection* connection, | 46 void Create(ApplicationConnection* connection, |
47 InterfaceRequest<Gpu> request) override; | 47 InterfaceRequest<Gpu> request) override; |
48 | 48 |
49 scoped_refptr<gles2::GpuState> gpu_state_; | 49 scoped_refptr<gles2::GpuState> gpu_state_; |
50 scoped_ptr<ApplicationImpl> app_; | 50 scoped_ptr<ApplicationImpl> app_; |
51 | 51 |
52 DISALLOW_COPY_AND_ASSIGN(NativeViewportApplicationLoader); | 52 DISALLOW_COPY_AND_ASSIGN(NativeViewportApplicationLoader); |
53 }; | 53 }; |
54 | 54 |
55 } // namespace shell | 55 } // namespace runner |
56 } // namespace mojo | 56 } // namespace mojo |
57 | 57 |
58 #endif // MOJO_RUNNER_ANDROID_NATIVE_VIEWPORT_APPLICATION_LOADER_H_ | 58 #endif // MOJO_RUNNER_ANDROID_NATIVE_VIEWPORT_APPLICATION_LOADER_H_ |
OLD | NEW |