| 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
|
|
|