| Index: chrome/browser/extensions/extension_service.cc
|
| diff --git a/chrome/browser/extensions/extension_service.cc b/chrome/browser/extensions/extension_service.cc
|
| index 037abdbbdbe63e221bd4e4d1888fafcbb310cb18..794fa738316a60d44c36dc18c39da868f3480d89 100644
|
| --- a/chrome/browser/extensions/extension_service.cc
|
| +++ b/chrome/browser/extensions/extension_service.cc
|
| @@ -27,6 +27,7 @@
|
| #include "chrome/browser/extensions/extension_install_ui.h"
|
| #include "chrome/browser/extensions/extension_special_storage_policy.h"
|
| #include "chrome/browser/extensions/extension_sync_service.h"
|
| +#include "chrome/browser/extensions/extension_ui_util.h"
|
| #include "chrome/browser/extensions/extension_util.h"
|
| #include "chrome/browser/extensions/external_install_ui.h"
|
| #include "chrome/browser/extensions/external_provider_impl.h"
|
| @@ -575,10 +576,9 @@ 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;
|
| -
|
| installer->set_creation_flags(creation_flags);
|
| + installer->set_is_ephemeral(
|
| + extension_prefs_->IsEphemeralApp(extension->id()));
|
|
|
| installer->set_delete_source(file_ownership_passed);
|
| installer->set_install_cause(extension_misc::INSTALL_CAUSE_UPDATE);
|
| @@ -733,7 +733,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);
|
| @@ -1506,7 +1506,8 @@ void ExtensionService::AddExtension(const Extension* extension) {
|
| // All apps that are displayed in the launcher are ordered by their ordinals
|
| // so we must ensure they have valid ordinals.
|
| if (extension->RequiresSortOrdinal()) {
|
| - if (!extension->ShouldDisplayInNewTabPage()) {
|
| + if (!extensions::ui_util::ShouldDisplayInNewTabPage(
|
| + extension, profile_)) {
|
| extension_prefs_->app_sorting()->MarkExtensionAsHidden(extension->id());
|
| }
|
| extension_prefs_->app_sorting()->EnsureValidOrdinals(
|
| @@ -1535,6 +1536,7 @@ void ExtensionService::AddComponentExtension(const Extension* extension) {
|
| AddNewOrUpdatedExtension(extension,
|
| Extension::ENABLED_COMPONENT,
|
| extensions::NOT_BLACKLISTED,
|
| + false,
|
| syncer::StringOrdinal(),
|
| std::string());
|
| return;
|
| @@ -1696,6 +1698,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));
|
|
|
| @@ -1790,6 +1793,7 @@ void ExtensionService::OnExtensionInstalled(
|
| extension,
|
| initial_state,
|
| blacklisted_for_malware,
|
| + is_ephemeral,
|
| extensions::ExtensionPrefs::DELAY_REASON_WAIT_FOR_IDLE,
|
| page_ordinal,
|
| install_parameter);
|
| @@ -1810,6 +1814,7 @@ void ExtensionService::OnExtensionInstalled(
|
| extension,
|
| initial_state,
|
| blacklisted_for_malware,
|
| + is_ephemeral,
|
| extensions::ExtensionPrefs::DELAY_REASON_GC,
|
| page_ordinal,
|
| install_parameter);
|
| @@ -1820,6 +1825,7 @@ void ExtensionService::OnExtensionInstalled(
|
| extension,
|
| initial_state,
|
| blacklisted_for_malware,
|
| + is_ephemeral,
|
| extensions::ExtensionPrefs::DELAY_REASON_WAIT_FOR_IMPORTS,
|
| page_ordinal,
|
| install_parameter);
|
| @@ -1829,6 +1835,7 @@ void ExtensionService::OnExtensionInstalled(
|
| AddNewOrUpdatedExtension(extension,
|
| initial_state,
|
| blacklist_state,
|
| + is_ephemeral,
|
| page_ordinal,
|
| install_parameter);
|
| }
|
| @@ -1838,6 +1845,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));
|
| @@ -1846,6 +1854,7 @@ void ExtensionService::AddNewOrUpdatedExtension(
|
| extension_prefs_->OnExtensionInstalled(extension,
|
| initial_state,
|
| blacklisted_for_malware,
|
| + is_ephemeral,
|
| page_ordinal,
|
| install_parameter);
|
| delayed_installs_.Remove(extension->id());
|
|
|