| 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 254 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 265 registry->RegisterIntegerPref( | 265 registry->RegisterIntegerPref( |
| 266 prefs::kLanguageXkbAutoRepeatDelay, | 266 prefs::kLanguageXkbAutoRepeatDelay, |
| 267 language_prefs::kXkbAutoRepeatDelayInMs, | 267 language_prefs::kXkbAutoRepeatDelayInMs, |
| 268 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); | 268 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); |
| 269 registry->RegisterIntegerPref( | 269 registry->RegisterIntegerPref( |
| 270 prefs::kLanguageXkbAutoRepeatInterval, | 270 prefs::kLanguageXkbAutoRepeatInterval, |
| 271 language_prefs::kXkbAutoRepeatIntervalInMs, | 271 language_prefs::kXkbAutoRepeatIntervalInMs, |
| 272 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); | 272 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); |
| 273 | 273 |
| 274 // We don't sync wake-on-wifi related prefs because they are device specific. | 274 // We don't sync wake-on-wifi related prefs because they are device specific. |
| 275 // TODO(chirantan): Default this to on when we are ready to launch. | 275 registry->RegisterBooleanPref( |
| 276 registry->RegisterIntegerPref( | 276 prefs::kWakeOnWifiSsid, |
| 277 prefs::kWakeOnWiFiEnabled, | 277 true, |
| 278 base::CommandLine::ForCurrentProcess()->HasSwitch( | |
| 279 switches::kWakeOnPackets) | |
| 280 ? WakeOnWifiManager::WAKE_ON_PACKET_AND_SSID | |
| 281 : WakeOnWifiManager::WAKE_ON_NONE, | |
| 282 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | 278 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 283 | 279 |
| 284 // Mobile plan notifications default to on. | 280 // Mobile plan notifications default to on. |
| 285 registry->RegisterBooleanPref( | 281 registry->RegisterBooleanPref( |
| 286 prefs::kShowPlanNotifications, | 282 prefs::kShowPlanNotifications, |
| 287 true, | 283 true, |
| 288 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); | 284 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); |
| 289 | 285 |
| 290 // 3G first-time usage promo will be shown at least once. | 286 // 3G first-time usage promo will be shown at least once. |
| 291 registry->RegisterBooleanPref( | 287 registry->RegisterBooleanPref( |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 351 previous_input_method_.Init(prefs::kLanguagePreviousInputMethod, | 347 previous_input_method_.Init(prefs::kLanguagePreviousInputMethod, |
| 352 prefs, callback); | 348 prefs, callback); |
| 353 | 349 |
| 354 xkb_auto_repeat_enabled_.Init( | 350 xkb_auto_repeat_enabled_.Init( |
| 355 prefs::kLanguageXkbAutoRepeatEnabled, prefs, callback); | 351 prefs::kLanguageXkbAutoRepeatEnabled, prefs, callback); |
| 356 xkb_auto_repeat_delay_pref_.Init( | 352 xkb_auto_repeat_delay_pref_.Init( |
| 357 prefs::kLanguageXkbAutoRepeatDelay, prefs, callback); | 353 prefs::kLanguageXkbAutoRepeatDelay, prefs, callback); |
| 358 xkb_auto_repeat_interval_pref_.Init( | 354 xkb_auto_repeat_interval_pref_.Init( |
| 359 prefs::kLanguageXkbAutoRepeatInterval, prefs, callback); | 355 prefs::kLanguageXkbAutoRepeatInterval, prefs, callback); |
| 360 | 356 |
| 361 wake_on_wifi_enabled_.Init(prefs::kWakeOnWiFiEnabled, prefs, callback); | 357 wake_on_wifi_ssid_.Init(prefs::kWakeOnWifiSsid, prefs, callback); |
| 362 } | 358 } |
| 363 | 359 |
| 364 void Preferences::Init(Profile* profile, const user_manager::User* user) { | 360 void Preferences::Init(Profile* profile, const user_manager::User* user) { |
| 365 DCHECK(profile); | 361 DCHECK(profile); |
| 366 DCHECK(user); | 362 DCHECK(user); |
| 367 PrefServiceSyncable* prefs = PrefServiceSyncable::FromProfile(profile); | 363 PrefServiceSyncable* prefs = PrefServiceSyncable::FromProfile(profile); |
| 368 // This causes OnIsSyncingChanged to be called when the value of | 364 // This causes OnIsSyncingChanged to be called when the value of |
| 369 // PrefService::IsSyncing() changes. | 365 // PrefService::IsSyncing() changes. |
| 370 prefs->AddObserver(this); | 366 prefs->AddObserver(this); |
| 371 user_ = user; | 367 user_ = user; |
| (...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 566 ->SetAutoRepeatEnabled(enabled); | 562 ->SetAutoRepeatEnabled(enabled); |
| 567 } | 563 } |
| 568 } | 564 } |
| 569 if (reason != REASON_PREF_CHANGED || | 565 if (reason != REASON_PREF_CHANGED || |
| 570 pref_name == prefs::kLanguageXkbAutoRepeatDelay || | 566 pref_name == prefs::kLanguageXkbAutoRepeatDelay || |
| 571 pref_name == prefs::kLanguageXkbAutoRepeatInterval) { | 567 pref_name == prefs::kLanguageXkbAutoRepeatInterval) { |
| 572 if (user_is_active) | 568 if (user_is_active) |
| 573 UpdateAutoRepeatRate(); | 569 UpdateAutoRepeatRate(); |
| 574 } | 570 } |
| 575 | 571 |
| 576 if (user_is_primary_ && (reason != REASON_PREF_CHANGED || | |
| 577 pref_name == prefs::kWakeOnWiFiEnabled)) { | |
| 578 WakeOnWifiManager::Get()->OnPreferenceChanged( | |
| 579 static_cast<WakeOnWifiManager::WakeOnWifiFeature>( | |
| 580 wake_on_wifi_enabled_.GetValue())); | |
| 581 } | |
| 582 | |
| 583 if (reason == REASON_INITIALIZATION) | 572 if (reason == REASON_INITIALIZATION) |
| 584 SetInputMethodList(); | 573 SetInputMethodList(); |
| 585 | 574 |
| 586 if (pref_name == prefs::kLanguagePreloadEngines && | 575 if (pref_name == prefs::kLanguagePreloadEngines && |
| 587 reason == REASON_PREF_CHANGED) { | 576 reason == REASON_PREF_CHANGED) { |
| 588 SetLanguageConfigStringListAsCSV(language_prefs::kGeneralSectionName, | 577 SetLanguageConfigStringListAsCSV(language_prefs::kGeneralSectionName, |
| 589 language_prefs::kPreloadEnginesConfigName, | 578 language_prefs::kPreloadEnginesConfigName, |
| 590 preload_engines_.GetValue()); | 579 preload_engines_.GetValue()); |
| 591 } | 580 } |
| 592 | 581 |
| 593 if ((reason == REASON_INITIALIZATION) || | 582 if ((reason == REASON_INITIALIZATION) || |
| 594 (pref_name == prefs::kLanguageEnabledExtensionImes && | 583 (pref_name == prefs::kLanguageEnabledExtensionImes && |
| 595 reason == REASON_PREF_CHANGED)) { | 584 reason == REASON_PREF_CHANGED)) { |
| 596 std::string value(enabled_extension_imes_.GetValue()); | 585 std::string value(enabled_extension_imes_.GetValue()); |
| 597 | 586 |
| 598 std::vector<std::string> split_values; | 587 std::vector<std::string> split_values; |
| 599 if (!value.empty()) | 588 if (!value.empty()) |
| 600 base::SplitString(value, ',', &split_values); | 589 base::SplitString(value, ',', &split_values); |
| 601 | 590 |
| 602 ime_state_->SetEnabledExtensionImes(&split_values); | 591 ime_state_->SetEnabledExtensionImes(&split_values); |
| 603 } | 592 } |
| 604 | 593 |
| 605 if (user_is_active) { | 594 if (user_is_active) { |
| 606 system::InputDeviceSettings::Get()->UpdateTouchpadSettings( | 595 system::InputDeviceSettings::Get()->UpdateTouchpadSettings( |
| 607 touchpad_settings); | 596 touchpad_settings); |
| 608 system::InputDeviceSettings::Get()->UpdateMouseSettings(mouse_settings); | 597 system::InputDeviceSettings::Get()->UpdateMouseSettings(mouse_settings); |
| 609 } | 598 } |
| 599 |
| 600 if (user_is_primary_ && (reason != REASON_PREF_CHANGED || |
| 601 pref_name == prefs::kWakeOnWifiSsid)) { |
| 602 int features = wake_on_wifi_ssid_.GetValue() ? |
| 603 WakeOnWifiManager::WAKE_ON_SSID : WakeOnWifiManager::WAKE_ON_NONE; |
| 604 // The flag enables wake on packets but doesn't update a preference. |
| 605 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kWakeOnPackets)) |
| 606 features |= WakeOnWifiManager::WAKE_ON_PACKET; |
| 607 WakeOnWifiManager::Get()->OnPreferenceChanged( |
| 608 static_cast<WakeOnWifiManager::WakeOnWifiFeature>(features)); |
| 609 } |
| 610 } | 610 } |
| 611 | 611 |
| 612 void Preferences::OnIsSyncingChanged() { | 612 void Preferences::OnIsSyncingChanged() { |
| 613 DVLOG(1) << "OnIsSyncingChanged"; | 613 DVLOG(1) << "OnIsSyncingChanged"; |
| 614 ForceNaturalScrollDefault(); | 614 ForceNaturalScrollDefault(); |
| 615 } | 615 } |
| 616 | 616 |
| 617 void Preferences::ForceNaturalScrollDefault() { | 617 void Preferences::ForceNaturalScrollDefault() { |
| 618 DVLOG(1) << "ForceNaturalScrollDefault"; | 618 DVLOG(1) << "ForceNaturalScrollDefault"; |
| 619 if (base::CommandLine::ForCurrentProcess()->HasSwitch( | 619 if (base::CommandLine::ForCurrentProcess()->HasSwitch( |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 691 touch_hud_projection_enabled_.SetValue(enabled); | 691 touch_hud_projection_enabled_.SetValue(enabled); |
| 692 } | 692 } |
| 693 | 693 |
| 694 void Preferences::ActiveUserChanged(const user_manager::User* active_user) { | 694 void Preferences::ActiveUserChanged(const user_manager::User* active_user) { |
| 695 if (active_user != user_) | 695 if (active_user != user_) |
| 696 return; | 696 return; |
| 697 ApplyPreferences(REASON_ACTIVE_USER_CHANGED, ""); | 697 ApplyPreferences(REASON_ACTIVE_USER_CHANGED, ""); |
| 698 } | 698 } |
| 699 | 699 |
| 700 } // namespace chromeos | 700 } // namespace chromeos |
| OLD | NEW |