Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(237)

Unified Diff: chrome/browser/extensions/extension_service.cc

Issue 1497193002: Remove all the ephemeral apps code. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Self review, Devlin review. Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/extension_service.cc
diff --git a/chrome/browser/extensions/extension_service.cc b/chrome/browser/extensions/extension_service.cc
index e8023b3b8304a51c41ae7e574e7da69abb01e7e8..f29af63ca5756cfe546bee721c41c2d767411197 100644
--- a/chrome/browser/extensions/extension_service.cc
+++ b/chrome/browser/extensions/extension_service.cc
@@ -566,10 +566,8 @@ bool ExtensionService::UpdateExtension(const extensions::CRXFileInfo& file,
if (extension && extension->was_installed_by_custodian())
creation_flags |= Extension::WAS_INSTALLED_BY_CUSTODIAN;
- if (extension) {
- installer->set_is_ephemeral(extension_prefs_->IsEphemeralApp(id));
+ if (extension)
installer->set_do_not_sync(extension_prefs_->DoNotSync(id));
- }
installer->set_creation_flags(creation_flags);
@@ -1512,12 +1510,9 @@ void ExtensionService::AddExtension(const Extension* extension) {
extensions::ExtensionSystem::Get(GetBrowserContext())->app_sorting();
app_sorting->SetExtensionVisible(
extension->id(),
- extension->ShouldDisplayInNewTabPage() &&
- !extension_prefs_->IsEphemeralApp(extension->id()));
- if (!extension_prefs_->IsEphemeralApp(extension->id())) {
- app_sorting->EnsureValidOrdinals(extension->id(),
- syncer::StringOrdinal());
- }
+ extension->ShouldDisplayInNewTabPage());
+ app_sorting->EnsureValidOrdinals(extension->id(),
+ syncer::StringOrdinal());
}
registry_->AddEnabled(extension);
@@ -1762,12 +1757,6 @@ void ExtensionService::OnExtensionInstalled(
extension->GetType(), 100);
UMA_HISTOGRAM_ENUMERATION("Extensions.UpdateSource",
extension->location(), Manifest::NUM_LOCATIONS);
-
- // A fully installed app cannot be demoted to an ephemeral app.
- if ((install_flags & extensions::kInstallFlagIsEphemeral) &&
- !extension_prefs_->IsEphemeralApp(id)) {
- install_flags &= ~static_cast<int>(extensions::kInstallFlagIsEphemeral);
- }
}
const Extension::State initial_state =
@@ -1857,7 +1846,6 @@ void ExtensionService::AddNewOrUpdatedExtension(
const syncer::StringOrdinal& page_ordinal,
const std::string& install_parameter) {
CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- bool was_ephemeral = extension_prefs_->IsEphemeralApp(extension->id());
extension_prefs_->OnExtensionInstalled(
extension, initial_state, page_ordinal, install_flags, install_parameter);
delayed_installs_.Remove(extension->id());
@@ -1869,11 +1857,11 @@ void ExtensionService::AddNewOrUpdatedExtension(
app_data_migrator_->DoMigrationAndReply(
old, extension,
base::Bind(&ExtensionService::FinishInstallation, AsWeakPtr(),
- make_scoped_refptr(extension), was_ephemeral));
+ make_scoped_refptr(extension)));
return;
}
- FinishInstallation(extension, was_ephemeral);
+ FinishInstallation(extension);
}
void ExtensionService::MaybeFinishDelayedInstallation(
@@ -1918,15 +1906,14 @@ void ExtensionService::FinishDelayedInstallation(
CHECK(extension.get());
delayed_installs_.Remove(extension_id);
- bool was_ephemeral = extension_prefs_->IsEphemeralApp(extension->id());
if (!extension_prefs_->FinishDelayedInstallInfo(extension_id))
NOTREACHED();
- FinishInstallation(extension.get(), was_ephemeral);
+ FinishInstallation(extension.get());
}
void ExtensionService::FinishInstallation(
- const Extension* extension, bool was_ephemeral) {
+ const Extension* extension) {
const extensions::Extension* existing_extension =
GetInstalledExtension(extension->id());
bool is_update = false;
@@ -1935,11 +1922,8 @@ void ExtensionService::FinishInstallation(
is_update = true;
old_name = existing_extension->name();
}
- bool from_ephemeral =
- was_ephemeral && !extension_prefs_->IsEphemeralApp(extension->id());
-
registry_->TriggerOnWillBeInstalled(
- extension, is_update, from_ephemeral, old_name);
+ extension, is_update, old_name);
// Unpacked extensions default to allowing file access, but if that has been
// overridden, don't reset the value.
@@ -1959,72 +1943,6 @@ void ExtensionService::FinishInstallation(
MaybeFinishDelayedInstallations();
}
-void ExtensionService::PromoteEphemeralApp(
- const extensions::Extension* extension, bool is_from_sync) {
- DCHECK(GetInstalledExtension(extension->id()) &&
- extension_prefs_->IsEphemeralApp(extension->id()));
-
- if (extension->RequiresSortOrdinal()) {
- AppSorting* app_sorting =
- extensions::ExtensionSystem::Get(GetBrowserContext())->app_sorting();
- app_sorting->SetExtensionVisible(extension->id(),
- extension->ShouldDisplayInNewTabPage());
-
- if (!is_from_sync) {
- // Reset the sort ordinals of the app to ensure it is added to the default
- // position, like newly installed apps would.
- app_sorting->ClearOrdinals(extension->id());
- }
-
- app_sorting->EnsureValidOrdinals(extension->id(), syncer::StringOrdinal());
- }
-
- // Remove the ephemeral flags from the preferences.
- extension_prefs_->OnEphemeralAppPromoted(extension->id());
-
- // Fire install-related events to allow observers to handle the promotion
- // of the ephemeral app.
- registry_->TriggerOnWillBeInstalled(
- extension,
- true /* is update */,
- true /* from ephemeral */,
- extension->name() /* old name */);
-
- if (registry_->enabled_extensions().Contains(extension->id())) {
- // If the app is already enabled and loaded, fire the load events to allow
- // observers to handle the promotion of the ephemeral app.
- content::NotificationService::current()->Notify(
- extensions::NOTIFICATION_EXTENSION_LOADED_DEPRECATED,
- content::Source<Profile>(profile_),
- content::Details<const Extension>(extension));
-
- registry_->TriggerOnLoaded(extension);
- } else {
- // Cached ephemeral apps may be updated and disabled due to permissions
- // increase. The app can be enabled (as long as no other disable reasons
- // exist) as the install was user-acknowledged.
- int disable_mask = Extension::DISABLE_NONE;
- if (!is_from_sync)
- disable_mask |= Extension::DISABLE_PERMISSIONS_INCREASE;
-
- int other_disable_reasons =
- extension_prefs_->GetDisableReasons(extension->id()) & ~disable_mask;
- if (!other_disable_reasons) {
- if (extension_prefs_->DidExtensionEscalatePermissions(extension->id()))
- GrantPermissionsAndEnableExtension(extension);
- else
- EnableExtension(extension->id());
- }
- }
-
- registry_->TriggerOnInstalled(extension, true);
-
- if (!is_from_sync) {
- ExtensionSyncService::Get(profile_)->SyncExtensionChangeIfNeeded(
- *extension);
- }
-}
-
const Extension* ExtensionService::GetPendingExtensionUpdate(
const std::string& id) const {
return delayed_installs_.GetByID(id);
« no previous file with comments | « chrome/browser/extensions/extension_service.h ('k') | chrome/browser/extensions/extension_service_test_with_install.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698