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_SHELL_APPLICATION_MANAGER_H_ | 5 #ifndef MOJO_SHELL_APPLICATION_MANAGER_H_ |
6 #define MOJO_SHELL_APPLICATION_MANAGER_H_ | 6 #define MOJO_SHELL_APPLICATION_MANAGER_H_ |
7 | 7 |
8 #include <map> | 8 #include <map> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 16 matching lines...) Expand all Loading... |
27 #include "mojo/shell/public/interfaces/shell_client.mojom.h" | 27 #include "mojo/shell/public/interfaces/shell_client.mojom.h" |
28 #include "mojo/shell/public/interfaces/shell_client_factory.mojom.h" | 28 #include "mojo/shell/public/interfaces/shell_client_factory.mojom.h" |
29 #include "url/gurl.h" | 29 #include "url/gurl.h" |
30 | 30 |
31 namespace base { | 31 namespace base { |
32 class FilePath; | 32 class FilePath; |
33 class SequencedWorkerPool; | 33 class SequencedWorkerPool; |
34 } | 34 } |
35 | 35 |
36 namespace mojo { | 36 namespace mojo { |
| 37 class ShellConnection; |
37 namespace shell { | 38 namespace shell { |
38 | 39 |
39 class ApplicationInstance; | 40 class ApplicationInstance; |
40 | 41 |
41 class ApplicationManager : public ShellClient, | 42 class ApplicationManager : public ShellClient, |
42 public InterfaceFactory<mojom::ApplicationManager>, | 43 public InterfaceFactory<mojom::ApplicationManager>, |
43 public mojom::ApplicationManager { | 44 public mojom::ApplicationManager { |
44 public: | 45 public: |
45 // API for testing. | 46 // API for testing. |
46 class TestAPI { | 47 class TestAPI { |
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
181 IdentityToShellClientFactoryMap shell_client_factories_; | 182 IdentityToShellClientFactoryMap shell_client_factories_; |
182 // Counter used to assign ids to content handlers. | 183 // Counter used to assign ids to content handlers. |
183 uint32_t shell_client_factory_id_counter_; | 184 uint32_t shell_client_factory_id_counter_; |
184 | 185 |
185 WeakInterfacePtrSet<mojom::ApplicationManagerListener> listeners_; | 186 WeakInterfacePtrSet<mojom::ApplicationManagerListener> listeners_; |
186 | 187 |
187 base::Callback<void(const Identity&)> instance_quit_callback_; | 188 base::Callback<void(const Identity&)> instance_quit_callback_; |
188 base::TaskRunner* task_runner_; | 189 base::TaskRunner* task_runner_; |
189 scoped_ptr<NativeRunnerFactory> native_runner_factory_; | 190 scoped_ptr<NativeRunnerFactory> native_runner_factory_; |
190 std::vector<scoped_ptr<NativeRunner>> native_runners_; | 191 std::vector<scoped_ptr<NativeRunner>> native_runners_; |
| 192 scoped_ptr<ShellConnection> shell_connection_; |
191 WeakBindingSet<mojom::ApplicationManager> bindings_; | 193 WeakBindingSet<mojom::ApplicationManager> bindings_; |
192 base::WeakPtrFactory<ApplicationManager> weak_ptr_factory_; | 194 base::WeakPtrFactory<ApplicationManager> weak_ptr_factory_; |
193 | 195 |
194 DISALLOW_COPY_AND_ASSIGN(ApplicationManager); | 196 DISALLOW_COPY_AND_ASSIGN(ApplicationManager); |
195 }; | 197 }; |
196 | 198 |
197 mojom::Shell::ConnectCallback EmptyConnectCallback(); | 199 mojom::Shell::ConnectCallback EmptyConnectCallback(); |
198 | 200 |
199 } // namespace shell | 201 } // namespace shell |
200 } // namespace mojo | 202 } // namespace mojo |
201 | 203 |
202 #endif // MOJO_SHELL_APPLICATION_MANAGER_H_ | 204 #endif // MOJO_SHELL_APPLICATION_MANAGER_H_ |
OLD | NEW |