| Index: mojo/shell/application_manager.h
|
| diff --git a/mojo/shell/application_manager.h b/mojo/shell/application_manager.h
|
| index cab1168aa0b407c36f387c9e744ed9af7bd926e4..b28c18d5a0e86289a6dc18a344775c06fc5431d5 100644
|
| --- a/mojo/shell/application_manager.h
|
| +++ b/mojo/shell/application_manager.h
|
| @@ -2,8 +2,8 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| -#ifndef SHELL_APPLICATION_MANAGER_APPLICATION_MANAGER_H_
|
| -#define SHELL_APPLICATION_MANAGER_APPLICATION_MANAGER_H_
|
| +#ifndef MOJO_SHELL_APPLICATION_MANAGER_H_
|
| +#define MOJO_SHELL_APPLICATION_MANAGER_H_
|
|
|
| #include <map>
|
|
|
| @@ -21,6 +21,7 @@
|
| #include "mojo/services/updater/updater.mojom.h"
|
| #include "mojo/shell/application_loader.h"
|
| #include "mojo/shell/capability_filter.h"
|
| +#include "mojo/shell/connect_to_application_params.h"
|
| #include "mojo/shell/fetcher.h"
|
| #include "mojo/shell/identity.h"
|
| #include "mojo/shell/native_runner.h"
|
| @@ -83,6 +84,7 @@ 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.
|
| + // TODO(yzshen): Remove |requestor_url|.
|
| void ConnectToApplication(
|
| ApplicationInstance* originator,
|
| URLRequestPtr requested_url,
|
| @@ -94,6 +96,8 @@ class ApplicationManager {
|
| const base::Closure& on_application_end,
|
| const Shell::ConnectToApplicationCallback& connect_callback);
|
|
|
| + void ConnectToApplication(scoped_ptr<ConnectToApplicationParams> params);
|
| +
|
| // Must only be used by shell internals and test code as it does not forward
|
| // capability filters.
|
| template <typename Interface>
|
| @@ -170,55 +174,28 @@ class ApplicationManager {
|
| using URLToLoaderMap = std::map<GURL, ApplicationLoader*>;
|
| using URLToNativeOptionsMap = std::map<GURL, NativeRunnerFactory::Options>;
|
|
|
| + // Takes the contents of |params| only when it returns true.
|
| 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);
|
| -
|
| + scoped_ptr<ConnectToApplicationParams>* params);
|
| + // |resolved_url| is the URL to load by |loader| (if loader is not null). It
|
| + // may be different from |(*params)->app_url()| because of mappings and
|
| + // resolution rules.
|
| + // Takes the contents of |params| only when it returns true.
|
| bool ConnectToApplicationWithLoader(
|
| - ApplicationInstance* originator,
|
| - const GURL& requested_url,
|
| - const std::string& qualifier,
|
| + scoped_ptr<ConnectToApplicationParams>* params,
|
| const GURL& resolved_url,
|
| - const GURL& requestor_url,
|
| - InterfaceRequest<ServiceProvider>* services,
|
| - ServiceProviderPtr* exposed_services,
|
| - const CapabilityFilter& filter,
|
| - const base::Closure& on_application_end,
|
| - const Shell::ConnectToApplicationCallback& connect_callback,
|
| ApplicationLoader* loader);
|
|
|
| InterfaceRequest<Application> RegisterInstance(
|
| - ApplicationInstance* originator,
|
| - const GURL& app_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,
|
| + scoped_ptr<ConnectToApplicationParams> params,
|
| 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,
|
| - const Shell::ConnectToApplicationCallback& connect_callback,
|
| - NativeApplicationCleanup cleanup,
|
| - scoped_ptr<Fetcher> fetcher);
|
| + // Called once |fetcher| has found app. |params->app_url()| is the url of
|
| + // the requested application before any mappings/resolution have been applied.
|
| + // The corresponding URLRequest struct in |params| has been taken.
|
| + void HandleFetchCallback(scoped_ptr<ConnectToApplicationParams> params,
|
| + NativeApplicationCleanup cleanup,
|
| + scoped_ptr<Fetcher> fetcher);
|
|
|
| void RunNativeApplication(InterfaceRequest<Application> application_request,
|
| bool start_sandboxed,
|
| @@ -229,9 +206,9 @@ class ApplicationManager {
|
| bool path_exists);
|
|
|
| void LoadWithContentHandler(
|
| - ApplicationInstance* originator,
|
| + const Identity& originator_identity,
|
| + const CapabilityFilter& originator_filter,
|
| const GURL& content_handler_url,
|
| - const GURL& requestor_url,
|
| const std::string& qualifier,
|
| const CapabilityFilter& filter,
|
| const Shell::ConnectToApplicationCallback& connect_callback,
|
| @@ -282,4 +259,4 @@ Shell::ConnectToApplicationCallback EmptyConnectCallback();
|
| } // namespace shell
|
| } // namespace mojo
|
|
|
| -#endif // SHELL_APPLICATION_MANAGER_APPLICATION_MANAGER_H_
|
| +#endif // MOJO_SHELL_APPLICATION_MANAGER_H_
|
|
|