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

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

Issue 11819007: Changed DefaultAdapter to RunCallbackOnAdapterReady function. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 11 months 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 <algorithm> 7 #include <algorithm>
8 8
9 #include "ash/shell.h" 9 #include "ash/shell.h"
10 #include "ash/shell_delegate.h" 10 #include "ash/shell_delegate.h"
(...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after
263 input_method::GetInputMethodManager()->AddObserver(this); 263 input_method::GetInputMethodManager()->AddObserver(this);
264 264
265 system::TimezoneSettings::GetInstance()->AddObserver(this); 265 system::TimezoneSettings::GetInstance()->AddObserver(this);
266 266
267 if (SystemKeyEventListener::GetInstance()) 267 if (SystemKeyEventListener::GetInstance())
268 SystemKeyEventListener::GetInstance()->AddCapsLockObserver(this); 268 SystemKeyEventListener::GetInstance()->AddCapsLockObserver(this);
269 269
270 network_icon_->SetResourceColorTheme(NetworkMenuIcon::COLOR_LIGHT); 270 network_icon_->SetResourceColorTheme(NetworkMenuIcon::COLOR_LIGHT);
271 network_icon_dark_->SetResourceColorTheme(NetworkMenuIcon::COLOR_DARK); 271 network_icon_dark_->SetResourceColorTheme(NetworkMenuIcon::COLOR_DARK);
272 272
273 bluetooth_adapter_ = device::BluetoothAdapterFactory::DefaultAdapter(); 273 device::BluetoothAdapterFactory::RunCallbackOnAdapterReady(
274 base::Bind(&SystemTrayDelegate::InitializeOnAdapterReady,
275 base::Unretained(this)));
bryeung 2013/01/08 22:24:27 Remind me why using an Unretained here is safe...?
youngki 2013/01/09 15:12:03 First of all my understanding is that AshSystemTra
bryeung 2013/01/09 15:28:01 And you're sure that: - this is also true of the o
youngki 2013/01/09 19:32:24 I gave a second thought, and there might be race c
276 }
277
278 bool InitializeOnAdapterReady(
bryeung 2013/01/08 22:24:27 why does this need to return a value?
youngki 2013/01/09 15:12:03 This is @asargent's suggestion to make BluetoothEx
bryeung 2013/01/09 15:28:01 Makes sense. Okay.
youngki 2013/01/09 19:32:24 I actually changed it to void because weak pointer
279 scoped_refptr<device::BluetoothAdapter> adapter) {
280 bluetooth_adapter_ = adapter;
274 bluetooth_adapter_->AddObserver(this); 281 bluetooth_adapter_->AddObserver(this);
275 282
276 local_state_registrar_.Init(g_browser_process->local_state()); 283 local_state_registrar_.Init(g_browser_process->local_state());
277 284
278 UpdateSessionStartTime(); 285 UpdateSessionStartTime();
279 UpdateSessionLengthLimit(); 286 UpdateSessionLengthLimit();
280 287
281 local_state_registrar_.Add( 288 local_state_registrar_.Add(
282 prefs::kSessionStartTime, 289 prefs::kSessionStartTime,
283 base::Bind(&SystemTrayDelegate::UpdateSessionStartTime, 290 base::Bind(&SystemTrayDelegate::UpdateSessionStartTime,
284 base::Unretained(this))); 291 base::Unretained(this)));
285 local_state_registrar_.Add( 292 local_state_registrar_.Add(
286 prefs::kSessionLengthLimit, 293 prefs::kSessionLengthLimit,
287 base::Bind(&SystemTrayDelegate::UpdateSessionLengthLimit, 294 base::Bind(&SystemTrayDelegate::UpdateSessionLengthLimit,
288 base::Unretained(this))); 295 base::Unretained(this)));
289 296
290 policy::BrowserPolicyConnector* policy_connector = 297 policy::BrowserPolicyConnector* policy_connector =
291 g_browser_process->browser_policy_connector(); 298 g_browser_process->browser_policy_connector();
292 policy::DeviceCloudPolicyManagerChromeOS* policy_manager = 299 policy::DeviceCloudPolicyManagerChromeOS* policy_manager =
293 policy_connector->GetDeviceCloudPolicyManager(); 300 policy_connector->GetDeviceCloudPolicyManager();
294 if (policy_manager) 301 if (policy_manager)
295 policy_manager->core()->store()->AddObserver(this); 302 policy_manager->core()->store()->AddObserver(this);
296 UpdateEnterpriseDomain(); 303 UpdateEnterpriseDomain();
304
305 return true;
297 } 306 }
298 307
299 virtual ~SystemTrayDelegate() { 308 virtual ~SystemTrayDelegate() {
300 AudioHandler* audiohandler = AudioHandler::GetInstance(); 309 AudioHandler* audiohandler = AudioHandler::GetInstance();
301 if (audiohandler) 310 if (audiohandler)
302 audiohandler->RemoveVolumeObserver(this); 311 audiohandler->RemoveVolumeObserver(this);
303 DBusThreadManager::Get()->GetSessionManagerClient()->RemoveObserver(this); 312 DBusThreadManager::Get()->GetSessionManagerClient()->RemoveObserver(this);
304 DBusThreadManager::Get()->GetRootPowerManagerClient()->RemoveObserver(this); 313 DBusThreadManager::Get()->GetRootPowerManagerClient()->RemoveObserver(this);
305 DBusThreadManager::Get()->GetPowerManagerClient()->RemoveObserver(this); 314 DBusThreadManager::Get()->GetPowerManagerClient()->RemoveObserver(this);
306 NetworkLibrary* crosnet = CrosLibrary::Get()->GetNetworkLibrary(); 315 NetworkLibrary* crosnet = CrosLibrary::Get()->GetNetworkLibrary();
(...skipping 1092 matching lines...) Expand 10 before | Expand all | Expand 10 after
1399 DISALLOW_COPY_AND_ASSIGN(SystemTrayDelegate); 1408 DISALLOW_COPY_AND_ASSIGN(SystemTrayDelegate);
1400 }; 1409 };
1401 1410
1402 } // namespace 1411 } // namespace
1403 1412
1404 ash::SystemTrayDelegate* CreateSystemTrayDelegate() { 1413 ash::SystemTrayDelegate* CreateSystemTrayDelegate() {
1405 return new chromeos::SystemTrayDelegate(); 1414 return new chromeos::SystemTrayDelegate();
1406 } 1415 }
1407 1416
1408 } // namespace chromeos 1417 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698