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

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

Issue 2054773002: Replace the WAS_INSTALLED_BY_CUSTODIAN creation flag with a pref (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixing the build Created 4 years, 6 months 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
« no previous file with comments | « chrome/browser/extensions/extension_sync_data.cc ('k') | chrome/browser/extensions/extension_util.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/extensions/extension_sync_service.cc
diff --git a/chrome/browser/extensions/extension_sync_service.cc b/chrome/browser/extensions/extension_sync_service.cc
index 86824c6673779da2f85b79f15c1ccf6b72c6b467..f1dc4292602796c2a09a6193f6b5573d2abe07c6 100644
--- a/chrome/browser/extensions/extension_sync_service.cc
+++ b/chrome/browser/extensions/extension_sync_service.cc
@@ -280,18 +280,21 @@ ExtensionSyncData ExtensionSyncService::CreateSyncData(
extension_prefs->HasDisableReason(id, Extension::DISABLE_REMOTE_INSTALL);
ExtensionSyncData::OptionalBoolean allowed_on_all_url =
GetAllowedOnAllUrlsOptionalBoolean(id, profile_);
+ bool installed_by_custodian =
+ extensions::util::WasInstalledByCustodian(id, profile_);
AppSorting* app_sorting = ExtensionSystem::Get(profile_)->app_sorting();
ExtensionSyncData result = extension.is_app()
? ExtensionSyncData(
extension, enabled, disable_reasons, incognito_enabled,
remote_install, allowed_on_all_url,
+ installed_by_custodian,
app_sorting->GetAppLaunchOrdinal(id),
app_sorting->GetPageOrdinal(id),
extensions::GetLaunchTypePrefValue(extension_prefs, id))
: ExtensionSyncData(
extension, enabled, disable_reasons, incognito_enabled,
- remote_install, allowed_on_all_url);
+ remote_install, allowed_on_all_url, installed_by_custodian);
// If there's a pending update, send the new version to sync instead of the
// installed one.
@@ -315,6 +318,11 @@ void ExtensionSyncService::ApplySyncData(
// sync data, so that we don't end up notifying ourselves.
base::AutoReset<bool> ignore_updates(&ignore_updates_, true);
+ // Note: this may cause an existing version of the extension to be reloaded.
+ extensions::util::SetWasInstalledByCustodian(
+ extension_sync_data.id(), profile_,
+ extension_sync_data.installed_by_custodian());
+
syncer::ModelType type = extension_sync_data.is_app() ? syncer::APPS
: syncer::EXTENSIONS;
const std::string& id = extension_sync_data.id();
@@ -503,8 +511,7 @@ void ExtensionSyncService::ApplySyncData(
extension_sync_data.update_url(),
extension_sync_data.version(),
ShouldAllowInstall,
- extension_sync_data.remote_install(),
- extension_sync_data.installed_by_custodian())) {
+ extension_sync_data.remote_install())) {
LOG(WARNING) << "Could not add pending extension for " << id;
// This means that the extension is already pending installation, with a
// non-INTERNAL location. Add to pending_sync_data, even though it will
« no previous file with comments | « chrome/browser/extensions/extension_sync_data.cc ('k') | chrome/browser/extensions/extension_util.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698