| Index: mojo/shell/application_manager.h
|
| diff --git a/mojo/shell/application_manager.h b/mojo/shell/application_manager.h
|
| index 76b5482be3dc9d1507f6d54f38bf13ce457b6264..cab1168aa0b407c36f387c9e744ed9af7bd926e4 100644
|
| --- a/mojo/shell/application_manager.h
|
| +++ b/mojo/shell/application_manager.h
|
| @@ -13,6 +13,7 @@
|
| #include "base/memory/weak_ptr.h"
|
| #include "mojo/application/public/interfaces/application.mojom.h"
|
| #include "mojo/application/public/interfaces/service_provider.mojom.h"
|
| +#include "mojo/application/public/interfaces/shell.mojom.h"
|
| #include "mojo/public/cpp/bindings/interface_ptr_info.h"
|
| #include "mojo/public/cpp/bindings/interface_request.h"
|
| #include "mojo/services/network/public/interfaces/network_service.mojom.h"
|
| @@ -82,14 +83,16 @@ class ApplicationManager {
|
| // |originator| can be NULL (e.g. for the first application or in tests), but
|
| // typically is non-NULL and identifies the instance initiating the
|
| // connection.
|
| - void ConnectToApplication(ApplicationInstance* originator,
|
| - URLRequestPtr requested_url,
|
| - const std::string& qualifier,
|
| - const GURL& requestor_url,
|
| - InterfaceRequest<ServiceProvider> services,
|
| - ServiceProviderPtr exposed_services,
|
| - const CapabilityFilter& capability_filter,
|
| - const base::Closure& on_application_end);
|
| + void ConnectToApplication(
|
| + ApplicationInstance* originator,
|
| + URLRequestPtr requested_url,
|
| + const std::string& qualifier,
|
| + const GURL& requestor_url,
|
| + InterfaceRequest<ServiceProvider> services,
|
| + ServiceProviderPtr exposed_services,
|
| + const CapabilityFilter& capability_filter,
|
| + const base::Closure& on_application_end,
|
| + const Shell::ConnectToApplicationCallback& connect_callback);
|
|
|
| // Must only be used by shell internals and test code as it does not forward
|
| // capability filters.
|
| @@ -167,13 +170,15 @@ class ApplicationManager {
|
| using URLToLoaderMap = std::map<GURL, ApplicationLoader*>;
|
| using URLToNativeOptionsMap = std::map<GURL, NativeRunnerFactory::Options>;
|
|
|
| - bool ConnectToRunningApplication(ApplicationInstance* originator,
|
| - const GURL& resolved_url,
|
| - const std::string& qualifier,
|
| - const GURL& requestor_url,
|
| - InterfaceRequest<ServiceProvider>* services,
|
| - ServiceProviderPtr* exposed_services,
|
| - const CapabilityFilter& filter);
|
| + bool ConnectToRunningApplication(
|
| + ApplicationInstance* originator,
|
| + const GURL& resolved_url,
|
| + const std::string& qualifier,
|
| + const GURL& requestor_url,
|
| + InterfaceRequest<ServiceProvider>* services,
|
| + ServiceProviderPtr* exposed_services,
|
| + const CapabilityFilter& filter,
|
| + const Shell::ConnectToApplicationCallback& connect_callback);
|
|
|
| bool ConnectToApplicationWithLoader(
|
| ApplicationInstance* originator,
|
| @@ -185,6 +190,7 @@ class ApplicationManager {
|
| ServiceProviderPtr* exposed_services,
|
| const CapabilityFilter& filter,
|
| const base::Closure& on_application_end,
|
| + const Shell::ConnectToApplicationCallback& connect_callback,
|
| ApplicationLoader* loader);
|
|
|
| InterfaceRequest<Application> RegisterInstance(
|
| @@ -195,20 +201,24 @@ class ApplicationManager {
|
| InterfaceRequest<ServiceProvider> services,
|
| ServiceProviderPtr exposed_services,
|
| const CapabilityFilter& filter,
|
| - const base::Closure& on_application_end);
|
| + const base::Closure& on_application_end,
|
| + const Shell::ConnectToApplicationCallback& connect_callback,
|
| + ApplicationInstance** resulting_instance);
|
|
|
| // Called once |fetcher| has found app. |requested_url| is the url of the
|
| // requested application before any mappings/resolution have been applied.
|
| - void HandleFetchCallback(ApplicationInstance* originator,
|
| - const GURL& requested_url,
|
| - const std::string& qualifier,
|
| - const GURL& requestor_url,
|
| - InterfaceRequest<ServiceProvider> services,
|
| - ServiceProviderPtr exposed_services,
|
| - const CapabilityFilter& filter,
|
| - const base::Closure& on_application_end,
|
| - NativeApplicationCleanup cleanup,
|
| - scoped_ptr<Fetcher> fetcher);
|
| + void HandleFetchCallback(
|
| + ApplicationInstance* originator,
|
| + const GURL& requested_url,
|
| + const std::string& qualifier,
|
| + const GURL& requestor_url,
|
| + InterfaceRequest<ServiceProvider> services,
|
| + ServiceProviderPtr exposed_services,
|
| + const CapabilityFilter& filter,
|
| + const base::Closure& on_application_end,
|
| + const Shell::ConnectToApplicationCallback& connect_callback,
|
| + NativeApplicationCleanup cleanup,
|
| + scoped_ptr<Fetcher> fetcher);
|
|
|
| void RunNativeApplication(InterfaceRequest<Application> application_request,
|
| bool start_sandboxed,
|
| @@ -218,13 +228,16 @@ class ApplicationManager {
|
| const base::FilePath& file_path,
|
| bool path_exists);
|
|
|
| - void LoadWithContentHandler(ApplicationInstance* originator,
|
| - const GURL& content_handler_url,
|
| - const GURL& requestor_url,
|
| - const std::string& qualifier,
|
| - const CapabilityFilter& filter,
|
| - InterfaceRequest<Application> application_request,
|
| - URLResponsePtr url_response);
|
| + void LoadWithContentHandler(
|
| + ApplicationInstance* originator,
|
| + const GURL& content_handler_url,
|
| + const GURL& requestor_url,
|
| + const std::string& qualifier,
|
| + const CapabilityFilter& filter,
|
| + const Shell::ConnectToApplicationCallback& connect_callback,
|
| + ApplicationInstance* app,
|
| + InterfaceRequest<Application> application_request,
|
| + URLResponsePtr url_response);
|
|
|
| // Returns the appropriate loader for |url|, or null if there is no loader
|
| // configured for the URL.
|
| @@ -257,11 +270,15 @@ class ApplicationManager {
|
| MimeTypeToURLMap mime_type_to_url_;
|
| ScopedVector<NativeRunner> native_runners_;
|
| bool disable_cache_;
|
| + // Counter used to assign ids to content_handlers.
|
| + uint32_t content_handler_id_counter_;
|
| base::WeakPtrFactory<ApplicationManager> weak_ptr_factory_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(ApplicationManager);
|
| };
|
|
|
| +Shell::ConnectToApplicationCallback EmptyConnectCallback();
|
| +
|
| } // namespace shell
|
| } // namespace mojo
|
|
|
|
|