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

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: Feedback 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..5c16804c2692985c349a6c9f751ffdabaec328a4 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 {
+ LAUNCH,
+ RESTART,
+ 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> post_reload_actions_;
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