Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2303)

Unified Diff: apps/app_load_service.h

Issue 16357005: Pass command line arguments through with --load-and-launch-app. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Clenup Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | apps/app_load_service.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_;
« no previous file with comments | « no previous file | apps/app_load_service.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698