| Index: chrome/browser/extensions/extension_service.cc
|
| diff --git a/chrome/browser/extensions/extension_service.cc b/chrome/browser/extensions/extension_service.cc
|
| index 19e22399595f1b13f4ded2e97fba509c9306d146..74ddc892f6ffa89128517b0cb2e46a01753c3310 100644
|
| --- a/chrome/browser/extensions/extension_service.cc
|
| +++ b/chrome/browser/extensions/extension_service.cc
|
| @@ -577,8 +577,8 @@ bool ExtensionService::UpdateExtension(const std::string& id,
|
| if (extension && extension->was_installed_by_oem())
|
| creation_flags |= Extension::WAS_INSTALLED_BY_OEM;
|
|
|
| - if (extension && extension->is_ephemeral())
|
| - creation_flags |= Extension::IS_EPHEMERAL;
|
| + if (extension)
|
| + installer->set_is_ephemeral(extension_prefs_->IsEphemeralApp(id));
|
|
|
| installer->set_creation_flags(creation_flags);
|
|
|
| @@ -735,7 +735,7 @@ bool ExtensionService::UninstallExtension(const std::string& extension_id,
|
|
|
| // Do not remove the data of ephemeral apps. They will be garbage collected by
|
| // EphemeralAppService.
|
| - if (!extension->is_ephemeral())
|
| + if (!extension_prefs_->IsEphemeralApp(extension_id))
|
| extensions::DataDeleter::StartDeleting(profile_, extension.get());
|
|
|
| UntrackTerminatedExtension(extension_id);
|
| @@ -1543,6 +1543,7 @@ void ExtensionService::AddComponentExtension(const Extension* extension) {
|
| AddNewOrUpdatedExtension(extension,
|
| Extension::ENABLED_COMPONENT,
|
| extensions::NOT_BLACKLISTED,
|
| + false,
|
| syncer::StringOrdinal(),
|
| std::string());
|
| return;
|
| @@ -1709,6 +1710,7 @@ void ExtensionService::OnExtensionInstalled(
|
| const syncer::StringOrdinal& page_ordinal,
|
| bool has_requirement_errors,
|
| extensions::BlacklistState blacklist_state,
|
| + bool is_ephemeral,
|
| bool wait_for_idle) {
|
| CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
|
|
|
| @@ -1803,6 +1805,7 @@ void ExtensionService::OnExtensionInstalled(
|
| extension,
|
| initial_state,
|
| blacklisted_for_malware,
|
| + is_ephemeral,
|
| extensions::ExtensionPrefs::DELAY_REASON_WAIT_FOR_IDLE,
|
| page_ordinal,
|
| install_parameter);
|
| @@ -1823,6 +1826,7 @@ void ExtensionService::OnExtensionInstalled(
|
| extension,
|
| initial_state,
|
| blacklisted_for_malware,
|
| + is_ephemeral,
|
| extensions::ExtensionPrefs::DELAY_REASON_GC,
|
| page_ordinal,
|
| install_parameter);
|
| @@ -1833,6 +1837,7 @@ void ExtensionService::OnExtensionInstalled(
|
| extension,
|
| initial_state,
|
| blacklisted_for_malware,
|
| + is_ephemeral,
|
| extensions::ExtensionPrefs::DELAY_REASON_WAIT_FOR_IMPORTS,
|
| page_ordinal,
|
| install_parameter);
|
| @@ -1842,6 +1847,7 @@ void ExtensionService::OnExtensionInstalled(
|
| AddNewOrUpdatedExtension(extension,
|
| initial_state,
|
| blacklist_state,
|
| + is_ephemeral,
|
| page_ordinal,
|
| install_parameter);
|
| }
|
| @@ -1851,6 +1857,7 @@ void ExtensionService::AddNewOrUpdatedExtension(
|
| const Extension* extension,
|
| Extension::State initial_state,
|
| extensions::BlacklistState blacklist_state,
|
| + bool is_ephemeral,
|
| const syncer::StringOrdinal& page_ordinal,
|
| const std::string& install_parameter) {
|
| CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
|
| @@ -1859,6 +1866,7 @@ void ExtensionService::AddNewOrUpdatedExtension(
|
| extension_prefs_->OnExtensionInstalled(extension,
|
| initial_state,
|
| blacklisted_for_malware,
|
| + is_ephemeral,
|
| page_ordinal,
|
| install_parameter);
|
| delayed_installs_.Remove(extension->id());
|
|
|