| Index: mojo/shell/application_manager/application_manager.h
|
| diff --git a/mojo/shell/application_manager/application_manager.h b/mojo/shell/application_manager/application_manager.h
|
| index 44e581da17a2e7114c167382e3fda5aed5eccaf5..d0d3a40d44c8a1a164c75c1d36b3850ed960ece4 100644
|
| --- a/mojo/shell/application_manager/application_manager.h
|
| +++ b/mojo/shell/application_manager/application_manager.h
|
| @@ -83,6 +83,10 @@ class ApplicationManager {
|
| void RegisterContentHandler(const std::string& mime_type,
|
| const GURL& content_handler_url);
|
|
|
| + void RegisterExternalApplication(const GURL& application_url,
|
| + const std::vector<std::string>& args,
|
| + ApplicationPtr application);
|
| +
|
| // Sets the default Loader to be used if not overridden by SetLoaderForURL()
|
| // or SetLoaderForScheme().
|
| void set_default_loader(scoped_ptr<ApplicationLoader> loader) {
|
| @@ -101,6 +105,11 @@ class ApplicationManager {
|
| // Sets a Loader to be used for a specific url scheme.
|
| void SetLoaderForScheme(scoped_ptr<ApplicationLoader> loader,
|
| const std::string& scheme);
|
| + // These strings will be passed to the Initialize() method when an Application
|
| + // is instantiated.
|
| + // TODO(vtl): Maybe we should store/compare resolved URLs, like
|
| + // SetNativeOptionsForURL() below?
|
| + void SetArgsForURL(const std::vector<std::string>& args, const GURL& url);
|
| // These options will be used in running any native application at |url|
|
| // (which shouldn't contain a query string). (|url| will be mapped and
|
| // resolved, and any application whose base resolved URL matches it will have
|
| @@ -126,6 +135,7 @@ class ApplicationManager {
|
| typedef std::map<GURL, ApplicationLoader*> URLToLoaderMap;
|
| typedef std::map<Identity, ShellImpl*> IdentityToShellImplMap;
|
| typedef std::map<GURL, ContentHandlerConnection*> URLToContentHandlerMap;
|
| + typedef std::map<GURL, std::vector<std::string>> URLToArgsMap;
|
| typedef std::map<std::string, GURL> MimeTypeToURLMap;
|
| typedef std::map<GURL, NativeRunnerFactory::Options> URLToNativeOptionsMap;
|
|
|
| @@ -194,6 +204,9 @@ class ApplicationManager {
|
| // Removes a ContentHandler when it encounters an error.
|
| void OnContentHandlerError(ContentHandlerConnection* content_handler);
|
|
|
| + // Returns the arguments for the given url.
|
| + std::vector<std::string> GetArgsForURL(const GURL& url);
|
| +
|
| void CleanupRunner(NativeRunner* runner);
|
|
|
| Delegate* const delegate_;
|
| @@ -206,6 +219,7 @@ class ApplicationManager {
|
|
|
| IdentityToShellImplMap identity_to_shell_impl_;
|
| URLToContentHandlerMap url_to_content_handler_;
|
| + URLToArgsMap url_to_args_;
|
| // Note: The keys are URLs after mapping and resolving.
|
| URLToNativeOptionsMap url_to_native_options_;
|
|
|
|
|