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 |