OLD | NEW |
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 #ifndef CONTENT_BROWSER_MOJO_MOJO_SHELL_CONTEXT_H_ | 5 #ifndef CONTENT_BROWSER_MOJO_MOJO_SHELL_CONTEXT_H_ |
6 #define CONTENT_BROWSER_MOJO_MOJO_SHELL_CONTEXT_H_ | 6 #define CONTENT_BROWSER_MOJO_MOJO_SHELL_CONTEXT_H_ |
7 | 7 |
8 #include <map> | 8 #include <map> |
9 | 9 |
10 #include "base/callback_forward.h" | 10 #include "base/callback_forward.h" |
(...skipping 24 matching lines...) Expand all Loading... |
35 ~MojoShellContext() override; | 35 ~MojoShellContext() override; |
36 | 36 |
37 // Connects an application at |url| and gets a handle to its exposed services. | 37 // Connects an application at |url| and gets a handle to its exposed services. |
38 // This is only intended for use in browser code that's not part of some Mojo | 38 // This is only intended for use in browser code that's not part of some Mojo |
39 // application. May be called from any thread. |requestor_url| is given to | 39 // application. May be called from any thread. |requestor_url| is given to |
40 // the target application as the requestor's URL upon connection. | 40 // the target application as the requestor's URL upon connection. |
41 static void ConnectToApplication( | 41 static void ConnectToApplication( |
42 const GURL& url, | 42 const GURL& url, |
43 const GURL& requestor_url, | 43 const GURL& requestor_url, |
44 mojo::InterfaceRequest<mojo::ServiceProvider> request, | 44 mojo::InterfaceRequest<mojo::ServiceProvider> request, |
45 mojo::ServiceProviderPtr exposed_services); | 45 mojo::ServiceProviderPtr exposed_services, |
| 46 mojo::CapabilityFilterPtr filter); |
46 | 47 |
47 static void SetApplicationsForTest(const StaticApplicationMap* apps); | 48 static void SetApplicationsForTest(const StaticApplicationMap* apps); |
48 | 49 |
49 private: | 50 private: |
50 class Proxy; | 51 class Proxy; |
51 friend class Proxy; | 52 friend class Proxy; |
52 | 53 |
53 void ConnectToApplicationOnOwnThread( | 54 void ConnectToApplicationOnOwnThread( |
54 const GURL& url, | 55 const GURL& url, |
55 const GURL& requestor_url, | 56 const GURL& requestor_url, |
56 mojo::InterfaceRequest<mojo::ServiceProvider> request, | 57 mojo::InterfaceRequest<mojo::ServiceProvider> request, |
57 mojo::ServiceProviderPtr exposed_services); | 58 mojo::ServiceProviderPtr exposed_services, |
| 59 mojo::CapabilityFilterPtr filter); |
58 | 60 |
59 // mojo::shell::ApplicationManager::Delegate: | 61 // mojo::shell::ApplicationManager::Delegate: |
60 GURL ResolveMappings(const GURL& url) override; | 62 GURL ResolveMappings(const GURL& url) override; |
61 GURL ResolveMojoURL(const GURL& url) override; | 63 GURL ResolveMojoURL(const GURL& url) override; |
62 bool CreateFetcher( | 64 bool CreateFetcher( |
63 const GURL& url, | 65 const GURL& url, |
64 const mojo::shell::Fetcher::FetchCallback& loader_callback) override; | 66 const mojo::shell::Fetcher::FetchCallback& loader_callback) override; |
65 | 67 |
66 static base::LazyInstance<scoped_ptr<Proxy>> proxy_; | 68 static base::LazyInstance<scoped_ptr<Proxy>> proxy_; |
67 | 69 |
68 scoped_ptr<mojo::shell::ApplicationManager> application_manager_; | 70 scoped_ptr<mojo::shell::ApplicationManager> application_manager_; |
69 | 71 |
70 DISALLOW_COPY_AND_ASSIGN(MojoShellContext); | 72 DISALLOW_COPY_AND_ASSIGN(MojoShellContext); |
71 }; | 73 }; |
72 | 74 |
73 } // namespace content | 75 } // namespace content |
74 | 76 |
75 #endif // CONTENT_BROWSER_MOJO_MOJO_SHELL_CONTEXT_H_ | 77 #endif // CONTENT_BROWSER_MOJO_MOJO_SHELL_CONTEXT_H_ |
OLD | NEW |