Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/chromeos/preferences.h" | 5 #include "chrome/browser/chromeos/preferences.h" |
| 6 | 6 |
| 7 #include <vector> | 7 #include <vector> |
| 8 | 8 |
| 9 #include "ash/autoclick/autoclick_controller.h" | 9 #include "ash/autoclick/autoclick_controller.h" |
| 10 #include "ash/shell.h" | 10 #include "ash/shell.h" |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 80 ash::Shell::GetInstance()->RemoveShellObserver(this); | 80 ash::Shell::GetInstance()->RemoveShellObserver(this); |
| 81 } | 81 } |
| 82 | 82 |
| 83 // static | 83 // static |
| 84 void Preferences::RegisterPrefs(PrefRegistrySimple* registry) { | 84 void Preferences::RegisterPrefs(PrefRegistrySimple* registry) { |
| 85 registry->RegisterBooleanPref(prefs::kOwnerPrimaryMouseButtonRight, false); | 85 registry->RegisterBooleanPref(prefs::kOwnerPrimaryMouseButtonRight, false); |
| 86 registry->RegisterBooleanPref(prefs::kOwnerTapToClickEnabled, true); | 86 registry->RegisterBooleanPref(prefs::kOwnerTapToClickEnabled, true); |
| 87 registry->RegisterBooleanPref(prefs::kAccessibilityVirtualKeyboardEnabled, | 87 registry->RegisterBooleanPref(prefs::kAccessibilityVirtualKeyboardEnabled, |
| 88 false); | 88 false); |
| 89 registry->RegisterStringPref(prefs::kLogoutStartedLast, std::string()); | 89 registry->RegisterStringPref(prefs::kLogoutStartedLast, std::string()); |
| 90 registry->RegisterBooleanPref(prefs::kResolveDeviceTimezoneByGeolocation, | |
| 91 true); | |
| 90 } | 92 } |
| 91 | 93 |
| 92 // static | 94 // static |
| 93 void Preferences::RegisterProfilePrefs( | 95 void Preferences::RegisterProfilePrefs( |
| 94 user_prefs::PrefRegistrySyncable* registry) { | 96 user_prefs::PrefRegistrySyncable* registry) { |
| 95 std::string hardware_keyboard_id; | 97 std::string hardware_keyboard_id; |
| 96 // TODO(yusukes): Remove the runtime hack. | 98 // TODO(yusukes): Remove the runtime hack. |
| 97 if (base::SysInfo::IsRunningOnChromeOS()) { | 99 if (base::SysInfo::IsRunningOnChromeOS()) { |
| 98 DCHECK(g_browser_process); | 100 DCHECK(g_browser_process); |
| 99 PrefService* local_state = g_browser_process->local_state(); | 101 PrefService* local_state = g_browser_process->local_state(); |
| (...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 308 registry->RegisterBooleanPref( | 310 registry->RegisterBooleanPref( |
| 309 prefs::kTouchHudProjectionEnabled, | 311 prefs::kTouchHudProjectionEnabled, |
| 310 false, | 312 false, |
| 311 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | 313 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 312 | 314 |
| 313 registry->RegisterBooleanPref( | 315 registry->RegisterBooleanPref( |
| 314 prefs::kTouchVirtualKeyboardEnabled, | 316 prefs::kTouchVirtualKeyboardEnabled, |
| 315 false, | 317 false, |
| 316 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | 318 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 317 | 319 |
| 320 registry->RegisterBooleanPref( | |
| 321 prefs::kResolveTimezoneByGeolocation, true, | |
| 322 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
| 323 | |
| 318 input_method::InputMethodSyncer::RegisterProfilePrefs(registry); | 324 input_method::InputMethodSyncer::RegisterProfilePrefs(registry); |
| 319 } | 325 } |
| 320 | 326 |
| 321 void Preferences::InitUserPrefs(PrefServiceSyncable* prefs) { | 327 void Preferences::InitUserPrefs(PrefServiceSyncable* prefs) { |
| 322 prefs_ = prefs; | 328 prefs_ = prefs; |
| 323 | 329 |
| 324 BooleanPrefMember::NamedChangeCallback callback = | 330 BooleanPrefMember::NamedChangeCallback callback = |
| 325 base::Bind(&Preferences::OnPreferenceChanged, base::Unretained(this)); | 331 base::Bind(&Preferences::OnPreferenceChanged, base::Unretained(this)); |
| 326 | 332 |
| 327 performance_tracing_enabled_.Init(prefs::kPerformanceTracingEnabled, | 333 performance_tracing_enabled_.Init(prefs::kPerformanceTracingEnabled, |
| (...skipping 20 matching lines...) Expand all Loading... | |
| 348 prefs, callback); | 354 prefs, callback); |
| 349 | 355 |
| 350 xkb_auto_repeat_enabled_.Init( | 356 xkb_auto_repeat_enabled_.Init( |
| 351 prefs::kLanguageXkbAutoRepeatEnabled, prefs, callback); | 357 prefs::kLanguageXkbAutoRepeatEnabled, prefs, callback); |
| 352 xkb_auto_repeat_delay_pref_.Init( | 358 xkb_auto_repeat_delay_pref_.Init( |
| 353 prefs::kLanguageXkbAutoRepeatDelay, prefs, callback); | 359 prefs::kLanguageXkbAutoRepeatDelay, prefs, callback); |
| 354 xkb_auto_repeat_interval_pref_.Init( | 360 xkb_auto_repeat_interval_pref_.Init( |
| 355 prefs::kLanguageXkbAutoRepeatInterval, prefs, callback); | 361 prefs::kLanguageXkbAutoRepeatInterval, prefs, callback); |
| 356 | 362 |
| 357 wake_on_wifi_ssid_.Init(prefs::kWakeOnWifiSsid, prefs, callback); | 363 wake_on_wifi_ssid_.Init(prefs::kWakeOnWifiSsid, prefs, callback); |
| 364 | |
| 365 resolve_timezone_by_geolocation_.Init(prefs::kResolveTimezoneByGeolocation, | |
| 366 prefs, callback); | |
| 358 } | 367 } |
| 359 | 368 |
| 360 void Preferences::Init(Profile* profile, const user_manager::User* user) { | 369 void Preferences::Init(Profile* profile, const user_manager::User* user) { |
| 361 DCHECK(profile); | 370 DCHECK(profile); |
| 362 DCHECK(user); | 371 DCHECK(user); |
| 363 PrefServiceSyncable* prefs = PrefServiceSyncable::FromProfile(profile); | 372 PrefServiceSyncable* prefs = PrefServiceSyncable::FromProfile(profile); |
| 364 // This causes OnIsSyncingChanged to be called when the value of | 373 // This causes OnIsSyncingChanged to be called when the value of |
| 365 // PrefService::IsSyncing() changes. | 374 // PrefService::IsSyncing() changes. |
| 366 prefs->AddObserver(this); | 375 prefs->AddObserver(this); |
| 367 user_ = user; | 376 user_ = user; |
| (...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 602 int features = wake_on_wifi_ssid_.GetValue() ? | 611 int features = wake_on_wifi_ssid_.GetValue() ? |
| 603 WakeOnWifiManager::WAKE_ON_SSID : WakeOnWifiManager::WAKE_ON_NONE; | 612 WakeOnWifiManager::WAKE_ON_SSID : WakeOnWifiManager::WAKE_ON_NONE; |
| 604 // The flag enables wake on packets but doesn't update a preference. | 613 // The flag enables wake on packets but doesn't update a preference. |
| 605 if (base::CommandLine::ForCurrentProcess()-> | 614 if (base::CommandLine::ForCurrentProcess()-> |
| 606 HasSwitch(switches::kWakeOnPackets)) { | 615 HasSwitch(switches::kWakeOnPackets)) { |
| 607 features |= WakeOnWifiManager::WAKE_ON_PACKET; | 616 features |= WakeOnWifiManager::WAKE_ON_PACKET; |
| 608 } | 617 } |
| 609 WakeOnWifiManager::Get()->OnPreferenceChanged( | 618 WakeOnWifiManager::Get()->OnPreferenceChanged( |
| 610 static_cast<WakeOnWifiManager::WakeOnWifiFeature>(features)); | 619 static_cast<WakeOnWifiManager::WakeOnWifiFeature>(features)); |
| 611 } | 620 } |
| 621 | |
| 622 if (pref_name == prefs::kResolveTimezoneByGeolocation && | |
| 623 reason != REASON_ACTIVE_USER_CHANGED) { | |
| 624 const bool value = resolve_timezone_by_geolocation_.GetValue(); | |
| 625 if (user_is_owner) { | |
| 626 g_browser_process->local_state()->SetBoolean( | |
| 627 prefs::kResolveDeviceTimezoneByGeolocation, value); | |
| 628 } | |
| 629 if (user_is_primary_) { | |
| 630 if (value == true) { | |
|
Bernhard Bauer
2015/01/05 10:22:33
== true isn't necessary.
Alexander Alekseev
2015/01/15 18:59:02
Done.
| |
| 631 g_browser_process->platform_part()->timezone_resolver()->Start(); | |
| 632 } else { | |
| 633 g_browser_process->platform_part()->timezone_resolver()->Stop(); | |
| 634 } | |
| 635 } | |
| 636 } | |
| 612 } | 637 } |
| 613 | 638 |
| 614 void Preferences::OnIsSyncingChanged() { | 639 void Preferences::OnIsSyncingChanged() { |
| 615 DVLOG(1) << "OnIsSyncingChanged"; | 640 DVLOG(1) << "OnIsSyncingChanged"; |
| 616 ForceNaturalScrollDefault(); | 641 ForceNaturalScrollDefault(); |
| 617 } | 642 } |
| 618 | 643 |
| 619 void Preferences::ForceNaturalScrollDefault() { | 644 void Preferences::ForceNaturalScrollDefault() { |
| 620 DVLOG(1) << "ForceNaturalScrollDefault"; | 645 DVLOG(1) << "ForceNaturalScrollDefault"; |
| 621 if (base::CommandLine::ForCurrentProcess()->HasSwitch( | 646 if (base::CommandLine::ForCurrentProcess()->HasSwitch( |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 693 touch_hud_projection_enabled_.SetValue(enabled); | 718 touch_hud_projection_enabled_.SetValue(enabled); |
| 694 } | 719 } |
| 695 | 720 |
| 696 void Preferences::ActiveUserChanged(const user_manager::User* active_user) { | 721 void Preferences::ActiveUserChanged(const user_manager::User* active_user) { |
| 697 if (active_user != user_) | 722 if (active_user != user_) |
| 698 return; | 723 return; |
| 699 ApplyPreferences(REASON_ACTIVE_USER_CHANGED, ""); | 724 ApplyPreferences(REASON_ACTIVE_USER_CHANGED, ""); |
| 700 } | 725 } |
| 701 | 726 |
| 702 } // namespace chromeos | 727 } // namespace chromeos |
| OLD | NEW |