Chromium Code Reviews| Index: apps/app_load_service.h |
| diff --git a/apps/app_load_service.h b/apps/app_load_service.h |
| index c7e75c6e1aaf767dfdd5f3df6db3e9754deb14b7..9c58da22b59d36d3a5b021c123873c376b38722a 100644 |
| --- a/apps/app_load_service.h |
| +++ b/apps/app_load_service.h |
| @@ -8,6 +8,8 @@ |
| #include <map> |
| #include <string> |
| +#include "base/command_line.h" |
| +#include "base/files/file_path.h" |
| #include "components/browser_context_keyed_service/browser_context_keyed_service.h" |
| #include "content/public/browser/notification_observer.h" |
| #include "content/public/browser/notification_registrar.h" |
| @@ -21,6 +23,20 @@ namespace apps { |
| class AppLoadService : public BrowserContextKeyedService, |
| public content::NotificationObserver { |
| public: |
| + enum PostReloadActionType { |
| + RELOAD_LAUNCH, |
|
koz (OOO until 15th September)
2013/06/05 08:34:11
nit: I think it's fine to remove the RELOAD_ prefi
benwells
2013/06/06 00:22:42
Done.
|
| + RELOAD_RESTART, |
| + RELOAD_LAUNCH_WITH_COMMAND_LINE, |
| + }; |
| + |
| + struct PostReloadAction { |
| + PostReloadAction(); |
| + |
| + PostReloadActionType action_type; |
| + CommandLine command_line; |
| + base::FilePath current_dir; |
| + }; |
| + |
| explicit AppLoadService(Profile* profile); |
| virtual ~AppLoadService(); |
| @@ -28,9 +44,13 @@ class AppLoadService : public BrowserContextKeyedService, |
| // event. |
| void RestartApplication(const std::string& extension_id); |
| - // Schedule a launch to happen for the extension with id |extension_id| |
| - // when it loads next. This does not cause the extension to be reloaded. |
| - void ScheduleLaunchOnLoad(const std::string& extension_id); |
| + // Loads (or reloads) the app with |extension_path|, then launches it. Any |
| + // command line parameters from |command_line| will be passed along via |
| + // launch parameters. Returns true if loading the extension has begun |
| + // successfully. |
| + bool LoadAndLaunch(const base::FilePath& extension_path, |
| + const CommandLine& command_line, |
| + const base::FilePath& current_dir); |
| static AppLoadService* Get(Profile* profile); |
| @@ -42,7 +62,7 @@ class AppLoadService : public BrowserContextKeyedService, |
| // Map of extension id to reload action. Absence from the map implies |
| // no action. |
| - std::map<std::string, int> reload_actions_; |
| + std::map<std::string, PostReloadAction> reload_actions_; |
|
koz (OOO until 15th September)
2013/06/05 08:34:11
s/reload_actions_/post_reload_actions_/ ?
benwells
2013/06/06 00:22:42
Done.
|
| content::NotificationRegistrar registrar_; |
| Profile* profile_; |