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

Side by Side Diff: chrome/browser/chromeos/system/ash_system_tray_delegate.cc

Issue 11345008: Remove content::NotificationObserver dependency from most Prefs code. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix PrefNotifierImpl Created 8 years, 1 month 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
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/system/ash_system_tray_delegate.h" 5 #include "chrome/browser/chromeos/system/ash_system_tray_delegate.h"
6 6
7 #include "ash/shell.h" 7 #include "ash/shell.h"
8 #include "ash/shell_window_ids.h" 8 #include "ash/shell_window_ids.h"
9 #include "ash/system/audio/audio_observer.h" 9 #include "ash/system/audio/audio_observer.h"
10 #include "ash/system/bluetooth/bluetooth_observer.h" 10 #include "ash/system/bluetooth/bluetooth_observer.h"
11 #include "ash/system/brightness/brightness_observer.h" 11 #include "ash/system/brightness/brightness_observer.h"
12 #include "ash/system/chromeos/network/network_observer.h" 12 #include "ash/system/chromeos/network/network_observer.h"
13 #include "ash/system/date/clock_observer.h" 13 #include "ash/system/date/clock_observer.h"
14 #include "ash/system/drive/drive_observer.h" 14 #include "ash/system/drive/drive_observer.h"
15 #include "ash/system/ime/ime_observer.h" 15 #include "ash/system/ime/ime_observer.h"
16 #include "ash/system/power/power_status_observer.h" 16 #include "ash/system/power/power_status_observer.h"
17 #include "ash/system/tray/system_tray.h" 17 #include "ash/system/tray/system_tray.h"
18 #include "ash/system/tray/system_tray_delegate.h" 18 #include "ash/system/tray/system_tray_delegate.h"
19 #include "ash/system/tray_accessibility.h" 19 #include "ash/system/tray_accessibility.h"
20 #include "ash/system/tray_caps_lock.h" 20 #include "ash/system/tray_caps_lock.h"
21 #include "ash/system/user/update_observer.h" 21 #include "ash/system/user/update_observer.h"
22 #include "ash/system/user/user_observer.h" 22 #include "ash/system/user/user_observer.h"
23 #include "ash/volume_control_delegate.h" 23 #include "ash/volume_control_delegate.h"
24 #include "base/bind_helpers.h" 24 #include "base/bind_helpers.h"
25 #include "base/callback.h" 25 #include "base/callback.h"
26 #include "base/chromeos/chromeos_version.h" 26 #include "base/chromeos/chromeos_version.h"
27 #include "base/logging.h" 27 #include "base/logging.h"
28 #include "base/memory/weak_ptr.h" 28 #include "base/memory/weak_ptr.h"
29 #include "base/prefs/public/pref_observer.h"
29 #include "base/utf_string_conversions.h" 30 #include "base/utf_string_conversions.h"
30 #include "chrome/browser/browser_process.h" 31 #include "chrome/browser/browser_process.h"
31 #include "chrome/browser/chromeos/accessibility/accessibility_util.h" 32 #include "chrome/browser/chromeos/accessibility/accessibility_util.h"
32 #include "chrome/browser/chromeos/audio/audio_handler.h" 33 #include "chrome/browser/chromeos/audio/audio_handler.h"
33 #include "chrome/browser/chromeos/cros/cros_library.h" 34 #include "chrome/browser/chromeos/cros/cros_library.h"
34 #include "chrome/browser/chromeos/cros/network_library.h" 35 #include "chrome/browser/chromeos/cros/network_library.h"
35 #include "chrome/browser/chromeos/drive/drive_system_service.h" 36 #include "chrome/browser/chromeos/drive/drive_system_service.h"
36 #include "chrome/browser/chromeos/input_method/input_method_manager.h" 37 #include "chrome/browser/chromeos/input_method/input_method_manager.h"
37 #include "chrome/browser/chromeos/input_method/input_method_util.h" 38 #include "chrome/browser/chromeos/input_method/input_method_util.h"
38 #include "chrome/browser/chromeos/input_method/xkeyboard.h" 39 #include "chrome/browser/chromeos/input_method/xkeyboard.h"
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
144 145
145 class SystemTrayDelegate : public ash::SystemTrayDelegate, 146 class SystemTrayDelegate : public ash::SystemTrayDelegate,
146 public AudioHandler::VolumeObserver, 147 public AudioHandler::VolumeObserver,
147 public PowerManagerClient::Observer, 148 public PowerManagerClient::Observer,
148 public SessionManagerClient::Observer, 149 public SessionManagerClient::Observer,
149 public NetworkMenuIcon::Delegate, 150 public NetworkMenuIcon::Delegate,
150 public NetworkMenu::Delegate, 151 public NetworkMenu::Delegate,
151 public NetworkLibrary::NetworkManagerObserver, 152 public NetworkLibrary::NetworkManagerObserver,
152 public NetworkLibrary::NetworkObserver, 153 public NetworkLibrary::NetworkObserver,
153 public NetworkLibrary::CellularDataPlanObserver, 154 public NetworkLibrary::CellularDataPlanObserver,
155 public PrefObserver,
154 public google_apis::DriveServiceObserver, 156 public google_apis::DriveServiceObserver,
155 public content::NotificationObserver, 157 public content::NotificationObserver,
156 public input_method::InputMethodManager::Observer, 158 public input_method::InputMethodManager::Observer,
157 public system::TimezoneSettings::Observer, 159 public system::TimezoneSettings::Observer,
158 public device::BluetoothAdapter::Observer, 160 public device::BluetoothAdapter::Observer,
159 public SystemKeyEventListener::CapsLockObserver, 161 public SystemKeyEventListener::CapsLockObserver,
160 public ash::NetworkTrayDelegate { 162 public ash::NetworkTrayDelegate {
161 public: 163 public:
162 explicit SystemTrayDelegate(ash::SystemTray* tray) 164 explicit SystemTrayDelegate(ash::SystemTray* tray)
163 : tray_(tray), 165 : tray_(tray),
(...skipping 917 matching lines...) Expand 10 before | Expand all | Expand 10 after
1081 if (observer) 1083 if (observer)
1082 observer->OnUserUpdate(); 1084 observer->OnUserUpdate();
1083 } 1085 }
1084 break; 1086 break;
1085 } 1087 }
1086 case chrome::NOTIFICATION_LOGIN_USER_PROFILE_PREPARED: { 1088 case chrome::NOTIFICATION_LOGIN_USER_PROFILE_PREPARED: {
1087 // GData system service exists by the time if enabled. 1089 // GData system service exists by the time if enabled.
1088 ObserveGDataUpdates(); 1090 ObserveGDataUpdates();
1089 break; 1091 break;
1090 } 1092 }
1091 case chrome::NOTIFICATION_PREF_CHANGED: {
1092 std::string pref = *content::Details<std::string>(details).ptr();
1093 PrefService* service = content::Source<PrefService>(source).ptr();
1094 if (pref == prefs::kUse24HourClock) {
1095 UpdateClockType(service);
1096 } else if (pref == prefs::kLanguageXkbRemapSearchKeyTo) {
1097 search_key_mapped_to_ =
1098 service->GetInteger(prefs::kLanguageXkbRemapSearchKeyTo);
1099 } else if (pref == prefs::kSpokenFeedbackEnabled) {
1100 ash::AccessibilityObserver* observer =
1101 tray_->accessibility_observer();
1102 if (observer) {
1103 observer->OnAccessibilityModeChanged(
1104 service->GetBoolean(prefs::kSpokenFeedbackEnabled));
1105 }
1106 } else {
1107 NOTREACHED();
1108 }
1109 break;
1110 }
1111 case chrome::NOTIFICATION_PROFILE_CREATED: { 1093 case chrome::NOTIFICATION_PROFILE_CREATED: {
1112 SetProfile(content::Source<Profile>(source).ptr()); 1094 SetProfile(content::Source<Profile>(source).ptr());
1113 registrar_.Remove(this, 1095 registrar_.Remove(this,
1114 chrome::NOTIFICATION_PROFILE_CREATED, 1096 chrome::NOTIFICATION_PROFILE_CREATED,
1115 content::NotificationService::AllSources()); 1097 content::NotificationService::AllSources());
1116 break; 1098 break;
1117 } 1099 }
1118 case chrome::NOTIFICATION_SESSION_STARTED: { 1100 case chrome::NOTIFICATION_SESSION_STARTED: {
1119 ash::Shell::GetInstance()->UpdateAfterLoginStatusChange( 1101 ash::Shell::GetInstance()->UpdateAfterLoginStatusChange(
1120 GetUserLoginStatus()); 1102 GetUserLoginStatus());
1121 SetProfile(ProfileManager::GetDefaultProfile()); 1103 SetProfile(ProfileManager::GetDefaultProfile());
1122 break; 1104 break;
1123 } 1105 }
1124 default: 1106 default:
1125 NOTREACHED(); 1107 NOTREACHED();
1126 } 1108 }
1127 } 1109 }
1128 1110
1111 virtual void OnPreferenceChanged(PrefServiceBase* service,
1112 const std::string& pref) OVERRIDE {
1113 if (pref == prefs::kUse24HourClock) {
1114 UpdateClockType(static_cast<PrefService*>(service));
1115 } else if (pref == prefs::kLanguageXkbRemapSearchKeyTo) {
1116 search_key_mapped_to_ =
1117 service->GetInteger(prefs::kLanguageXkbRemapSearchKeyTo);
1118 } else if (pref == prefs::kSpokenFeedbackEnabled) {
1119 ash::AccessibilityObserver* observer =
1120 tray_->accessibility_observer();
1121 if (observer) {
1122 observer->OnAccessibilityModeChanged(
1123 service->GetBoolean(prefs::kSpokenFeedbackEnabled));
1124 }
1125 } else {
1126 NOTREACHED();
1127 }
1128 }
1129
1129 // Overridden from InputMethodManager::Observer. 1130 // Overridden from InputMethodManager::Observer.
1130 virtual void InputMethodChanged( 1131 virtual void InputMethodChanged(
1131 input_method::InputMethodManager* manager, bool show_message) OVERRIDE { 1132 input_method::InputMethodManager* manager, bool show_message) OVERRIDE {
1132 NotifyRefreshIME(show_message); 1133 NotifyRefreshIME(show_message);
1133 } 1134 }
1134 1135
1135 virtual void InputMethodPropertyChanged( 1136 virtual void InputMethodPropertyChanged(
1136 input_method::InputMethodManager* manager) OVERRIDE { 1137 input_method::InputMethodManager* manager) OVERRIDE {
1137 NotifyRefreshIME(false); 1138 NotifyRefreshIME(false);
1138 } 1139 }
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
1300 DISALLOW_COPY_AND_ASSIGN(SystemTrayDelegate); 1301 DISALLOW_COPY_AND_ASSIGN(SystemTrayDelegate);
1301 }; 1302 };
1302 1303
1303 } // namespace 1304 } // namespace
1304 1305
1305 ash::SystemTrayDelegate* CreateSystemTrayDelegate(ash::SystemTray* tray) { 1306 ash::SystemTrayDelegate* CreateSystemTrayDelegate(ash::SystemTray* tray) {
1306 return new chromeos::SystemTrayDelegate(tray); 1307 return new chromeos::SystemTrayDelegate(tray);
1307 } 1308 }
1308 1309
1309 } // namespace chromeos 1310 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698