Index: chrome/browser/extensions/platform_app_launcher.cc |
diff --git a/chrome/browser/extensions/platform_app_launcher.cc b/chrome/browser/extensions/platform_app_launcher.cc |
index 66466ff4130a45e8650dac77673ee1e231c8fe20..4ab888ec57ba4ac946d785157e3a85876bd2e0b9 100644 |
--- a/chrome/browser/extensions/platform_app_launcher.cc |
+++ b/chrome/browser/extensions/platform_app_launcher.cc |
@@ -14,6 +14,8 @@ |
#include "chrome/browser/extensions/api/app_runtime/app_runtime_api.h" |
#include "chrome/browser/extensions/api/file_handlers/app_file_handler_util.h" |
#include "chrome/browser/extensions/api/file_system/file_system_api.h" |
+#include "chrome/browser/extensions/event_names.h" |
+#include "chrome/browser/extensions/event_router.h" |
#include "chrome/browser/extensions/extension_host.h" |
#include "chrome/browser/extensions/extension_prefs.h" |
#include "chrome/browser/extensions/extension_process_manager.h" |
@@ -415,9 +417,18 @@ void RestartPlatformAppWithFileEntries( |
Profile* profile, |
const Extension* extension, |
const std::vector<SavedFileEntry>& file_entries) { |
- scoped_refptr<SavedFileEntryLauncher> launcher = new SavedFileEntryLauncher( |
- profile, extension, file_entries); |
- launcher->Launch(); |
+ bool listening_to_restart = ExtensionSystem::Get(profile)->event_router()-> |
+ ExtensionHasEventListener(extension->id(), |
+ event_names::kOnRestarted); |
+ |
+ if (listening_to_restart) { |
+ scoped_refptr<SavedFileEntryLauncher> launcher = new SavedFileEntryLauncher( |
+ profile, extension, file_entries); |
+ launcher->Launch(); |
+ } else { |
+ // If the app isn't listening to onRestarted just launch the app. |
+ LaunchPlatformApp(profile, extension, NULL, base::FilePath()); |
not at google - send to devlin
2013/04/19 14:16:52
Should this be LaunchPlatformAppWithNoData?
koz (OOO until 15th September)
2013/04/21 23:33:03
Done.
|
+ } |
} |
} // namespace extensions |