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..8a072ae2e9b6952823deef08885e9e9ec82725ff 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,17 @@ 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 { |
+ LaunchPlatformAppWithNoData(profile, extension); |
+ } |
} |
} // namespace extensions |