0

Register Chrome OS syncable prefs as SYNCABLE_OS_PREF

Historically OS settings were synced as part of the browser settings
model type. The go/split-settings-sync project is migrating them to
a new model type, with separate UI controls.

Update all the OS pref registration sites to use registration flags
SYNCABLE_OS_PREF and SYNCABLE_OS_PRIORITY_PREF. The prefs were
found by manually auditing all pref registration.

If the SplitSettingsSync flag is disabled, these prefs are synced as
they were before, using the old syncer::ModelType. See the flag
check in //components/sync_preferences/pref_service_syncable.cc

Fix PrefRegistrySyncable so it runs the registration callback for
OS prefs as well as browser prefs.

Bug: 1013466
Change-Id: Ie0ba1244a74e300c3292252a83b30768d1644720
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1866927
Commit-Queue: James Cook <jamescook@chromium.org>
Reviewed-by: Marc Treib <treib@chromium.org>
Reviewed-by: Jia Meng <jiameng@chromium.org>
Reviewed-by: Stefan Kuhne <skuhne@chromium.org>
Reviewed-by: Dominic Battré <battre@chromium.org>
Cr-Commit-Position: refs/heads/master@{#708482}
This commit is contained in:
James Cook
2019-10-23 03:19:04 +00:00
committed by Commit Bot
parent e5015140a1
commit bf73f081e7
18 changed files with 139 additions and 124 deletions

@@ -269,104 +269,107 @@ void AccessibilityControllerImpl::RegisterProfilePrefs(
PrefRegistrySimple* registry) {
registry->RegisterBooleanPref(
prefs::kAccessibilityAutoclickEnabled, false,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
registry->RegisterIntegerPref(
prefs::kAccessibilityAutoclickDelayMs, kDefaultAutoclickDelayMs,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
registry->RegisterIntegerPref(
prefs::kAccessibilityAutoclickEventType,
static_cast<int>(kDefaultAutoclickEventType),
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
registry->RegisterBooleanPref(
prefs::kAccessibilityAutoclickRevertToLeftClick, true,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
registry->RegisterBooleanPref(
prefs::kAccessibilityAutoclickStabilizePosition, false,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
registry->RegisterIntegerPref(
prefs::kAccessibilityAutoclickMovementThreshold,
kDefaultAutoclickMovementThreshold,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
registry->RegisterIntegerPref(
prefs::kAccessibilityAutoclickMenuPosition,
static_cast<int>(kDefaultAutoclickMenuPosition),
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
registry->RegisterBooleanPref(
prefs::kAccessibilityCaretHighlightEnabled, false,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
registry->RegisterBooleanPref(
prefs::kAccessibilityCursorHighlightEnabled, false,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
registry->RegisterBooleanPref(
prefs::kAccessibilityDictationEnabled, false,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
registry->RegisterBooleanPref(
prefs::kAccessibilityFocusHighlightEnabled, false,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
registry->RegisterBooleanPref(
prefs::kAccessibilityHighContrastEnabled, false,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
registry->RegisterBooleanPref(
prefs::kAccessibilityLargeCursorEnabled, false,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
registry->RegisterIntegerPref(prefs::kAccessibilityLargeCursorDipSize,
kDefaultLargeCursorSize);
registry->RegisterBooleanPref(
prefs::kAccessibilityMonoAudioEnabled, false,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
registry->RegisterBooleanPref(
prefs::kAccessibilityScreenMagnifierCenterFocus, true,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
registry->RegisterBooleanPref(
prefs::kAccessibilityScreenMagnifierEnabled, false,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
registry->RegisterDoublePref(prefs::kAccessibilityScreenMagnifierScale,
std::numeric_limits<double>::min());
registry->RegisterBooleanPref(prefs::kAccessibilitySpokenFeedbackEnabled,
false);
registry->RegisterBooleanPref(
prefs::kAccessibilitySelectToSpeakEnabled, false,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
registry->RegisterBooleanPref(
prefs::kAccessibilityStickyKeysEnabled, false,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
registry->RegisterBooleanPref(
prefs::kAccessibilitySwitchAccessEnabled, false,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
registry->RegisterListPref(prefs::kAccessibilitySwitchAccessSelectKeyCodes,
base::Value(std::vector<base::Value>()),
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
registry->RegisterListPref(
prefs::kAccessibilitySwitchAccessSelectKeyCodes,
base::Value(std::vector<base::Value>()),
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
registry->RegisterIntegerPref(
prefs::kAccessibilitySwitchAccessSelectSetting,
kSwitchAccessAssignmentNone,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
registry->RegisterListPref(prefs::kAccessibilitySwitchAccessNextKeyCodes,
base::Value(std::vector<base::Value>()),
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
registry->RegisterListPref(
prefs::kAccessibilitySwitchAccessNextKeyCodes,
base::Value(std::vector<base::Value>()),
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
registry->RegisterIntegerPref(
prefs::kAccessibilitySwitchAccessNextSetting, kSwitchAccessAssignmentNone,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
registry->RegisterListPref(prefs::kAccessibilitySwitchAccessPreviousKeyCodes,
base::Value(std::vector<base::Value>()),
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
registry->RegisterListPref(
prefs::kAccessibilitySwitchAccessPreviousKeyCodes,
base::Value(std::vector<base::Value>()),
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
registry->RegisterIntegerPref(
prefs::kAccessibilitySwitchAccessPreviousSetting,
kSwitchAccessAssignmentNone,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
registry->RegisterBooleanPref(
prefs::kAccessibilitySwitchAccessAutoScanEnabled, false,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
registry->RegisterIntegerPref(
prefs::kAccessibilitySwitchAccessAutoScanSpeedMs,
kDefaultSwitchAccessAutoScanSpeed.InMilliseconds(),
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
registry->RegisterIntegerPref(
prefs::kAccessibilitySwitchAccessAutoScanKeyboardSpeedMs,
kDefaultSwitchAccessAutoScanSpeed.InMilliseconds(),
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
registry->RegisterBooleanPref(
prefs::kAccessibilityVirtualKeyboardEnabled, false,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
registry->RegisterBooleanPref(
prefs::kHighContrastAcceleratorDialogHasBeenAccepted, false);
registry->RegisterBooleanPref(
@@ -380,7 +383,7 @@ void AccessibilityControllerImpl::RegisterProfilePrefs(
registry->RegisterBooleanPref(
prefs::kShouldAlwaysShowAccessibilityMenu, false,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
}
void AccessibilityControllerImpl::Shutdown() {

@@ -179,7 +179,7 @@ void AppListControllerImpl::RegisterProfilePrefs(PrefRegistrySimple* registry) {
registry->RegisterIntegerPref(prefs::kAssistantPrivacyInfoShownInLauncher, 0);
registry->RegisterBooleanPref(
prefs::kAssistantPrivacyInfoDismissedInLauncher, false,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
}
void AppListControllerImpl::SetClient(AppListClient* client) {

@@ -126,13 +126,14 @@ void ShelfController::RegisterProfilePrefs(PrefRegistrySimple* registry) {
// These prefs are public for ChromeLauncherController's OnIsSyncingChanged.
// See the pref names definitions for explanations of the synced, local, and
// per-display behaviors.
registry->RegisterStringPref(prefs::kShelfAutoHideBehavior,
kShelfAutoHideBehaviorNever,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
registry->RegisterStringPref(
prefs::kShelfAutoHideBehavior, kShelfAutoHideBehaviorNever,
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
registry->RegisterStringPref(prefs::kShelfAutoHideBehaviorLocal,
std::string());
registry->RegisterStringPref(prefs::kShelfAlignment, kShelfAlignmentBottom,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
registry->RegisterStringPref(
prefs::kShelfAlignment, kShelfAlignmentBottom,
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
registry->RegisterStringPref(prefs::kShelfAlignmentLocal, std::string());
registry->RegisterDictionaryPref(prefs::kShelfPreferences);
}

@@ -34,9 +34,10 @@ namespace ash {
// static
void MessageCenterController::RegisterProfilePrefs(
PrefRegistrySimple* registry) {
registry->RegisterStringPref(prefs::kMessageCenterLockScreenMode,
prefs::kMessageCenterLockScreenModeHide,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
registry->RegisterStringPref(
prefs::kMessageCenterLockScreenMode,
prefs::kMessageCenterLockScreenModeHide,
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
}
namespace {

@@ -212,10 +212,10 @@ void PaletteTray::RegisterLocalStatePrefs(PrefRegistrySimple* registry) {
void PaletteTray::RegisterProfilePrefs(PrefRegistrySimple* registry) {
registry->RegisterBooleanPref(
prefs::kEnableStylusTools, true,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
registry->RegisterBooleanPref(
prefs::kLaunchPaletteOnEjectEvent, true,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
}
bool PaletteTray::ContainsPointInScreen(const gfx::Point& point) {

@@ -108,7 +108,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
registry->RegisterBooleanPref(prefs::kAllowScreenLock, true);
registry->RegisterBooleanPref(
prefs::kEnableAutoScreenLock, false,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
}
} // namespace

@@ -36,7 +36,7 @@ void TouchDevicesController::RegisterProfilePrefs(
PrefRegistrySimple* registry) {
registry->RegisterBooleanPref(
prefs::kTapDraggingEnabled, false,
user_prefs::PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF);
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PRIORITY_PREF);
registry->RegisterBooleanPref(prefs::kTouchpadEnabled, true);
registry->RegisterBooleanPref(prefs::kTouchscreenEnabled, true);
}

@@ -126,11 +126,11 @@ InputMethodSyncer::~InputMethodSyncer() {
void InputMethodSyncer::RegisterProfilePrefs(
user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterStringPref(
prefs::kLanguagePreloadEnginesSyncable,
"",
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
registry->RegisterStringPref(prefs::kLanguageEnabledImesSyncable, "",
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
prefs::kLanguagePreloadEnginesSyncable, "",
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
registry->RegisterStringPref(
prefs::kLanguageEnabledImesSyncable, "",
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
registry->RegisterBooleanPref(prefs::kLanguageShouldMergeInputMethods, false);
}

@@ -65,7 +65,8 @@ UserImageSyncObserver::~UserImageSyncObserver() {
void UserImageSyncObserver::RegisterProfilePrefs(
user_prefs::PrefRegistrySyncable* registry_) {
registry_->RegisterDictionaryPref(
kUserImageInfo, user_prefs::PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF);
kUserImageInfo,
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PRIORITY_PREF);
}
void UserImageSyncObserver::OnProfileGained(Profile* profile) {

@@ -76,10 +76,10 @@ void MultiProfileUserController::RegisterProfilePrefs(
kBehaviorUnrestricted);
registry->RegisterBooleanPref(
prefs::kMultiProfileNeverShowIntro, false,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
registry->RegisterBooleanPref(
prefs::kMultiProfileWarningShowDismissed, false,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
}
// static

@@ -190,55 +190,51 @@ void Preferences::RegisterProfilePrefs(
prefs::kAccountManagerNumTimesWelcomeScreenShown, 0 /* default_value */);
registry->RegisterBooleanPref(
prefs::kTapToClickEnabled,
true,
user_prefs::PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF);
prefs::kTapToClickEnabled, true,
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PRIORITY_PREF);
registry->RegisterBooleanPref(prefs::kEnableTouchpadThreeFingerClick, false);
// This preference can only be set to true by policy or command_line flag
// and it should not carry over to sessions were neither of these is set.
registry->RegisterBooleanPref(prefs::kUnifiedDesktopEnabledByDefault, false,
PrefRegistry::NO_REGISTRATION_FLAGS);
registry->RegisterBooleanPref(
prefs::kNaturalScroll, base::CommandLine::ForCurrentProcess()->HasSwitch(
switches::kNaturalScrollDefault),
user_prefs::PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF);
prefs::kNaturalScroll,
base::CommandLine::ForCurrentProcess()->HasSwitch(
switches::kNaturalScrollDefault),
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PRIORITY_PREF);
registry->RegisterBooleanPref(
prefs::kPrimaryMouseButtonRight,
false,
user_prefs::PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF);
prefs::kPrimaryMouseButtonRight, false,
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PRIORITY_PREF);
registry->RegisterBooleanPref(
prefs::kMouseReverseScroll, false,
user_prefs::PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF);
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PRIORITY_PREF);
registry->RegisterBooleanPref(
prefs::kMouseAcceleration, true,
user_prefs::PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF);
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PRIORITY_PREF);
registry->RegisterBooleanPref(
prefs::kTouchpadAcceleration, true,
user_prefs::PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF);
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PRIORITY_PREF);
registry->RegisterBooleanPref(prefs::kLabsMediaplayerEnabled, false);
registry->RegisterBooleanPref(prefs::kLabsAdvancedFilesystemEnabled, false);
registry->RegisterBooleanPref(prefs::kAppReinstallRecommendationEnabled,
false);
registry->RegisterIntegerPref(
prefs::kMouseSensitivity,
3,
user_prefs::PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF);
prefs::kMouseSensitivity, 3,
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PRIORITY_PREF);
registry->RegisterIntegerPref(
prefs::kTouchpadSensitivity,
3,
user_prefs::PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF);
prefs::kTouchpadSensitivity, 3,
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PRIORITY_PREF);
registry->RegisterBooleanPref(
prefs::kUse24HourClock,
base::GetHourClockType() == base::k24HourClock,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
prefs::kUse24HourClock, base::GetHourClockType() == base::k24HourClock,
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
registry->RegisterBooleanPref(prefs::kCameraMediaConsolidated, false);
registry->RegisterBooleanPref(
drive::prefs::kDisableDrive, false,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
registry->RegisterBooleanPref(
drive::prefs::kDisableDriveOverCellular, true,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
registry->RegisterBooleanPref(drive::prefs::kDriveFsWasLaunchedAtLeastOnce,
false);
registry->RegisterStringPref(drive::prefs::kDriveFsProfileSalt, "");
@@ -257,19 +253,19 @@ void Preferences::RegisterProfilePrefs(
registry->RegisterIntegerPref(
prefs::kLanguageRemapSearchKeyTo,
static_cast<int>(ui::chromeos::ModifierKey::kSearchKey),
user_prefs::PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF);
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PRIORITY_PREF);
registry->RegisterIntegerPref(
prefs::kLanguageRemapControlKeyTo,
static_cast<int>(ui::chromeos::ModifierKey::kControlKey),
user_prefs::PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF);
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PRIORITY_PREF);
registry->RegisterIntegerPref(
prefs::kLanguageRemapAltKeyTo,
static_cast<int>(ui::chromeos::ModifierKey::kAltKey),
user_prefs::PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF);
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PRIORITY_PREF);
registry->RegisterIntegerPref(
prefs::kLanguageRemapAssistantKeyTo,
static_cast<int>(ui::chromeos::ModifierKey::kAssistantKey),
user_prefs::PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF);
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PRIORITY_PREF);
// We don't sync the CapsLock remapping pref, since the UI hides this pref
// on certain devices, so syncing a non-default value to a device that
// doesn't allow changing the pref would be odd. http://crbug.com/167237
@@ -279,23 +275,23 @@ void Preferences::RegisterProfilePrefs(
registry->RegisterIntegerPref(
prefs::kLanguageRemapEscapeKeyTo,
static_cast<int>(ui::chromeos::ModifierKey::kEscapeKey),
user_prefs::PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF);
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PRIORITY_PREF);
registry->RegisterIntegerPref(
prefs::kLanguageRemapBackspaceKeyTo,
static_cast<int>(ui::chromeos::ModifierKey::kBackspaceKey),
user_prefs::PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF);
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PRIORITY_PREF);
// The Command key on external Apple keyboards is remapped by default to Ctrl
// until the user changes it from the keyboard settings.
registry->RegisterIntegerPref(
prefs::kLanguageRemapExternalCommandKeyTo,
static_cast<int>(ui::chromeos::ModifierKey::kControlKey),
user_prefs::PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF);
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PRIORITY_PREF);
// The Meta key (Search or Windows keys) on external keyboards is remapped by
// default to Search until the user changes it from the keyboard settings.
registry->RegisterIntegerPref(
prefs::kLanguageRemapExternalMetaKeyTo,
static_cast<int>(ui::chromeos::ModifierKey::kSearchKey),
user_prefs::PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF);
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PRIORITY_PREF);
// The following pref isn't synced since the user may desire a different value
// depending on whether an external keyboard is attached to a particular
// device.
@@ -303,15 +299,15 @@ void Preferences::RegisterProfilePrefs(
registry->RegisterBooleanPref(
prefs::kLanguageXkbAutoRepeatEnabled,
language_prefs::kXkbAutoRepeatEnabled,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
registry->RegisterIntegerPref(
prefs::kLanguageXkbAutoRepeatDelay,
language_prefs::kXkbAutoRepeatDelayInMs,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
registry->RegisterIntegerPref(
prefs::kLanguageXkbAutoRepeatInterval,
language_prefs::kXkbAutoRepeatIntervalInMs,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
// Don't sync the note-taking app; it may not be installed on other devices.
registry->RegisterStringPref(prefs::kNoteTakingAppId, std::string());
@@ -327,15 +323,14 @@ void Preferences::RegisterProfilePrefs(
// Number of times Data Saver prompt has been shown on 3G data network.
registry->RegisterIntegerPref(
prefs::kDataSaverPromptsShown,
0,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
prefs::kDataSaverPromptsShown, 0,
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
// Initially all existing users would see "What's new" for current version
// after update.
registry->RegisterStringPref(prefs::kChromeOSReleaseNotesVersion,
"0.0.0.0",
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
registry->RegisterStringPref(
prefs::kChromeOSReleaseNotesVersion, "0.0.0.0",
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
registry->RegisterBooleanPref(prefs::kExternalStorageDisabled, false);
@@ -359,17 +354,17 @@ void Preferences::RegisterProfilePrefs(
registry->RegisterBooleanPref(
prefs::kResolveTimezoneByGeolocation, true,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
registry->RegisterBooleanPref(
prefs::kResolveTimezoneByGeolocationMigratedToMethod, false,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
registry->RegisterIntegerPref(
prefs::kResolveTimezoneByGeolocationMethod,
static_cast<int>(
system::TimeZoneResolverManager::TimeZoneResolveMethod::IP_ONLY),
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
registry->RegisterBooleanPref(prefs::kCaptivePortalAuthenticationIgnoresProxy,
true);
@@ -406,16 +401,16 @@ void Preferences::RegisterProfilePrefs(
// Text-to-speech prefs.
registry->RegisterDictionaryPref(
prefs::kTextToSpeechLangToVoiceName,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
registry->RegisterDoublePref(prefs::kTextToSpeechRate,
blink::mojom::kSpeechSynthesisDefaultRate,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
registry->RegisterDoublePref(prefs::kTextToSpeechPitch,
blink::mojom::kSpeechSynthesisDefaultPitch,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
registry->RegisterDoublePref(prefs::kTextToSpeechVolume,
blink::mojom::kSpeechSynthesisDefaultVolume,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
registry->RegisterDoublePref(
prefs::kTextToSpeechRate, blink::mojom::kSpeechSynthesisDefaultRate,
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
registry->RegisterDoublePref(
prefs::kTextToSpeechPitch, blink::mojom::kSpeechSynthesisDefaultPitch,
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
registry->RegisterDoublePref(
prefs::kTextToSpeechVolume, blink::mojom::kSpeechSynthesisDefaultVolume,
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
// By default showing Sync Consent is set to true. It can changed by policy.
registry->RegisterBooleanPref(prefs::kEnableSyncConsent, true);

@@ -593,7 +593,7 @@ void CupsPrintersManager::RegisterProfilePrefs(
user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(
prefs::kUserNativePrintersAllowed, true,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
registry->RegisterBooleanPref(prefs::kPrintingSendUsernameAndFilenameEnabled,
false);
PrintServersProvider::RegisterProfilePrefs(registry);

@@ -201,7 +201,7 @@ void Profile::RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
// in user's profile for other platforms as well.
registry->RegisterStringPref(
language::prefs::kApplicationLocale, std::string(),
user_prefs::PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF);
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PRIORITY_PREF);
registry->RegisterStringPref(prefs::kApplicationLocaleBackup, std::string());
registry->RegisterStringPref(prefs::kApplicationLocaleAccepted,
std::string());

@@ -451,7 +451,7 @@ void ProfileImpl::RegisterProfilePrefs(
#if defined(OS_CHROMEOS)
registry->RegisterBooleanPref(
prefs::kOobeMarketingOptInScreenFinished, false,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
#endif // defined(OS_CHROMEOS)
#if !defined(OS_ANDROID)
registry->RegisterBooleanPref(prefs::kShowCastIconInToolbar, false);

@@ -47,7 +47,7 @@ void ProximityAuthProfilePrefManager::RegisterPrefs(
registry->RegisterDictionaryPref(prefs::kProximityAuthRemoteBleDevices);
registry->RegisterBooleanPref(
prefs::kProximityAuthIsChromeOSLoginEnabled, false,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
}
void ProximityAuthProfilePrefManager::StartSyncingToLocalState(

@@ -23,10 +23,10 @@ void TetherHostResponseRecorder::RegisterPrefs(
// same prioritization criteria.
registry->RegisterListPref(
prefs::kMostRecentTetherAvailablilityResponderIds,
user_prefs::PrefRegistrySyncable::PrefRegistrationFlags::SYNCABLE_PREF);
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
registry->RegisterListPref(
prefs::kMostRecentConnectTetheringResponderIds,
user_prefs::PrefRegistrySyncable::PrefRegistrationFlags::SYNCABLE_PREF);
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
}
TetherHostResponseRecorder::TetherHostResponseRecorder(

@@ -37,8 +37,9 @@ void LanguagePrefs::RegisterProfilePrefs(
registry->RegisterStringPref(language::prefs::kPreferredLanguages,
kFallbackInputMethodLocale);
registry->RegisterStringPref(language::prefs::kPreferredLanguagesSyncable, "",
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
registry->RegisterStringPref(
language::prefs::kPreferredLanguagesSyncable, "",
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
#endif
registry->RegisterListPref(language::prefs::kFluentLanguages,
LanguagePrefs::GetDefaultFluentLanguages(),

@@ -10,12 +10,21 @@
#include "components/prefs/default_pref_store.h"
namespace user_prefs {
namespace {
PrefRegistrySyncable::PrefRegistrySyncable() {
}
constexpr uint32_t kSyncablePrefFlags =
#if defined(OS_CHROMEOS)
PrefRegistrySyncable::SYNCABLE_OS_PREF |
PrefRegistrySyncable::SYNCABLE_OS_PRIORITY_PREF |
#endif
PrefRegistrySyncable::SYNCABLE_PREF |
PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF;
PrefRegistrySyncable::~PrefRegistrySyncable() {
}
} // namespace
PrefRegistrySyncable::PrefRegistrySyncable() = default;
PrefRegistrySyncable::~PrefRegistrySyncable() = default;
void PrefRegistrySyncable::SetSyncableRegistrationCallback(
const SyncableRegistrationCallback& cb) {
@@ -28,9 +37,13 @@ void PrefRegistrySyncable::OnPrefRegistered(const std::string& path,
// SYNCABLE_PRIORITY_PREF flags at the same time.
DCHECK(!(flags & PrefRegistrySyncable::SYNCABLE_PREF) ||
!(flags & PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF));
#if defined(OS_CHROMEOS)
// Ditto for the mutually exclusive OS pref flags.
DCHECK(!(flags & PrefRegistrySyncable::SYNCABLE_OS_PREF) ||
!(flags & PrefRegistrySyncable::SYNCABLE_OS_PRIORITY_PREF));
#endif
if (flags & PrefRegistrySyncable::SYNCABLE_PREF ||
flags & PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF) {
if (flags & kSyncablePrefFlags) {
if (!callback_.is_null())
callback_.Run(path, flags);
}