Index: shell/application_manager/application_manager.h |
diff --git a/shell/application_manager/application_manager.h b/shell/application_manager/application_manager.h |
index d1fc338c2fe16e1bbd3b27e5897e6bef94d745b0..9365ef473d2cfd09cd1aea4c898ca5d5377c36fd 100644 |
--- a/shell/application_manager/application_manager.h |
+++ b/shell/application_manager/application_manager.h |
@@ -18,6 +18,7 @@ |
#include "mojo/services/url_response_disk_cache/public/interfaces/url_response_disk_cache.mojom.h" |
#include "shell/application_manager/application_loader.h" |
#include "shell/application_manager/identity.h" |
+#include "shell/application_manager/native_application_options.h" |
#include "shell/application_manager/native_runner.h" |
#include "shell/native_application_support.h" |
#include "url/gurl.h" |
@@ -117,18 +118,18 @@ class ApplicationManager { |
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? |
+ // TODO(vtl): Maybe we should store/compare resolved URLs? |
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 |
// |options| applied.) |
+ // Note: Calling this for a URL will add (default) options for that URL if |
+ // necessary. |
// TODO(vtl): This may not do what's desired if the resolved URL results in an |
// HTTP redirect. Really, we want options to be identified with a particular |
// implementation, maybe via a signed manifest or something like that. |
- void SetNativeOptionsForURL(const NativeRunnerFactory::Options& options, |
- const GURL& url); |
+ NativeApplicationOptions* GetNativeApplicationOptionsForURL(const GURL& url); |
// Destroys all Shell-ends of connections established with Applications. |
// Applications connected by this ApplicationManager will observe pipe errors |
@@ -141,15 +142,15 @@ class ApplicationManager { |
private: |
class ContentHandlerConnection; |
- typedef std::map<GURL, scoped_ptr<ApplicationLoader>> URLToLoaderMap; |
- typedef std::map<std::string, scoped_ptr<ApplicationLoader>> |
- SchemeToLoaderMap; |
- typedef std::map<Identity, scoped_ptr<ShellImpl>> IdentityToShellImplMap; |
- typedef std::map<GURL, scoped_ptr<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; |
+ using URLToLoaderMap = std::map<GURL, scoped_ptr<ApplicationLoader>>; |
+ using SchemeToLoaderMap = |
+ std::map<std::string, scoped_ptr<ApplicationLoader>>; |
+ using IdentityToShellImplMap = std::map<Identity, scoped_ptr<ShellImpl>>; |
+ using URLToContentHandlerMap = |
+ std::map<GURL, scoped_ptr<ContentHandlerConnection>>; |
+ using URLToArgsMap = std::map<GURL, std::vector<std::string>>; |
+ using MimeTypeToURLMap = std::map<std::string, GURL>; |
+ using URLToNativeOptionsMap = std::map<GURL, NativeApplicationOptions>; |
void ConnectToApplicationWithParameters( |
const GURL& application_url, |
@@ -201,7 +202,7 @@ class ApplicationManager { |
void RunNativeApplication( |
mojo::InterfaceRequest<mojo::Application> application_request, |
- const NativeRunnerFactory::Options& options, |
+ const NativeApplicationOptions& options, |
scoped_ptr<Fetcher> fetcher, |
const base::FilePath& file_path, |
bool path_exists); |