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

Side by Side Diff: chrome/browser/chromeos/chrome_browser_main_chromeos.cc

Issue 8271024: chromeos: Add power supply info reading capability (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Rebased after refactoring Created 9 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
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/chrome_browser_main_chromeos.h" 5 #include "chrome/browser/chromeos/chrome_browser_main_chromeos.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/callback.h" 8 #include "base/callback.h"
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/lazy_instance.h" 10 #include "base/lazy_instance.h"
11 #include "base/message_loop.h" 11 #include "base/message_loop.h"
12 #include "chrome/browser/chromeos/bluetooth/bluetooth_manager.h" 12 #include "chrome/browser/chromeos/bluetooth/bluetooth_manager.h"
13 #include "chrome/browser/chromeos/boot_times_loader.h" 13 #include "chrome/browser/chromeos/boot_times_loader.h"
14 #include "chrome/browser/chromeos/brightness_observer.h" 14 #include "chrome/browser/chromeos/brightness_observer.h"
15 #include "chrome/browser/chromeos/cros/cros_library.h" 15 #include "chrome/browser/chromeos/cros/cros_library.h"
16 #include "chrome/browser/chromeos/cros/power_library.h"
16 #include "chrome/browser/chromeos/dbus/dbus_thread_manager.h" 17 #include "chrome/browser/chromeos/dbus/dbus_thread_manager.h"
17 #include "chrome/browser/chromeos/dbus/session_manager_client.h" 18 #include "chrome/browser/chromeos/dbus/session_manager_client.h"
18 #include "chrome/browser/chromeos/login/session_manager_observer.h" 19 #include "chrome/browser/chromeos/login/session_manager_observer.h"
19 #include "chrome/browser/chromeos/net/cros_network_change_notifier_factory.h" 20 #include "chrome/browser/chromeos/net/cros_network_change_notifier_factory.h"
20 #include "chrome/browser/chromeos/system/statistics_provider.h" 21 #include "chrome/browser/chromeos/system/statistics_provider.h"
21 #include "chrome/browser/defaults.h" 22 #include "chrome/browser/defaults.h"
22 #include "chrome/common/chrome_switches.h" 23 #include "chrome/common/chrome_switches.h"
23 #include "content/common/main_function_params.h" 24 #include "content/common/main_function_params.h"
24 #include "net/base/network_change_notifier.h" 25 #include "net/base/network_change_notifier.h"
25 26
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
81 // We should remove observers attached to D-Bus clients before 82 // We should remove observers attached to D-Bus clients before
82 // DBusThreadManager is shut down. 83 // DBusThreadManager is shut down.
83 if (session_manager_observer_.get()) { 84 if (session_manager_observer_.get()) {
84 chromeos::DBusThreadManager::Get()->session_manager_client()-> 85 chromeos::DBusThreadManager::Get()->session_manager_client()->
85 RemoveObserver(session_manager_observer_.get()); 86 RemoveObserver(session_manager_observer_.get());
86 } 87 }
87 if (brightness_observer_.get()) { 88 if (brightness_observer_.get()) {
88 chromeos::DBusThreadManager::Get()->power_manager_client()->RemoveObserver( 89 chromeos::DBusThreadManager::Get()->power_manager_client()->RemoveObserver(
89 brightness_observer_.get()); 90 brightness_observer_.get());
90 } 91 }
92 chromeos::PowerManagerClient::Observer* power_lib =
93 chromeos::CrosLibrary::Get()->GetPowerLibrary();
94 chromeos::DBusThreadManager::Get()->power_manager_client()->
95 RemoveObserver(power_lib);
91 96
92 chromeos::DBusThreadManager::Shutdown(); 97 chromeos::DBusThreadManager::Shutdown();
93 98
94 if (!parameters().ui_task && chromeos::CrosLibrary::Get()) 99 if (!parameters().ui_task && chromeos::CrosLibrary::Get())
95 chromeos::CrosLibrary::Shutdown(); 100 chromeos::CrosLibrary::Shutdown();
96 101
97 // To be precise, logout (browser shutdown) is not yet done, but the 102 // To be precise, logout (browser shutdown) is not yet done, but the
98 // remaining work is negligible, hence we say LogoutDone here. 103 // remaining work is negligible, hence we say LogoutDone here.
99 chromeos::BootTimesLoader::Get()->AddLogoutTimeMarker("LogoutDone", 104 chromeos::BootTimesLoader::Get()->AddLogoutTimeMarker("LogoutDone",
100 false); 105 false);
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
137 void ChromeBrowserMainPartsChromeos::PostMainMessageLoopStart() { 142 void ChromeBrowserMainPartsChromeos::PostMainMessageLoopStart() {
138 ChromeBrowserMainPartsPosix::PostMainMessageLoopStart(); 143 ChromeBrowserMainPartsPosix::PostMainMessageLoopStart();
139 MessageLoopForUI* message_loop = MessageLoopForUI::current(); 144 MessageLoopForUI* message_loop = MessageLoopForUI::current();
140 message_loop->AddObserver(g_message_loop_observer.Pointer()); 145 message_loop->AddObserver(g_message_loop_observer.Pointer());
141 146
142 // Initialize DBusThreadManager for the browser. This must be done after 147 // Initialize DBusThreadManager for the browser. This must be done after
143 // the main message loop is started, as it uses the message loop. 148 // the main message loop is started, as it uses the message loop.
144 chromeos::DBusThreadManager::Initialize(); 149 chromeos::DBusThreadManager::Initialize();
145 150
146 // Initialize the brightness observer so that we'll display an onscreen 151 // Initialize the brightness observer so that we'll display an onscreen
147 // indication of brightness changes during login. 152 // indication of brightness changes.
148 brightness_observer_.reset(new chromeos::BrightnessObserver()); 153 brightness_observer_.reset(new chromeos::BrightnessObserver());
149 chromeos::DBusThreadManager::Get()->power_manager_client()->AddObserver( 154 chromeos::DBusThreadManager::Get()->power_manager_client()->AddObserver(
150 brightness_observer_.get()); 155 brightness_observer_.get());
156
151 // Initialize the session manager observer so that we'll take actions 157 // Initialize the session manager observer so that we'll take actions
152 // per signals sent from the session manager. 158 // per signals sent from the session manager.
153 session_manager_observer_.reset(new chromeos::SessionManagerObserver); 159 session_manager_observer_.reset(new chromeos::SessionManagerObserver);
154 chromeos::DBusThreadManager::Get()->session_manager_client()-> 160 chromeos::DBusThreadManager::Get()->session_manager_client()->
155 AddObserver(session_manager_observer_.get()); 161 AddObserver(session_manager_observer_.get());
156 162
157 // Initialize the Chrome OS bluetooth subsystem 163 // Initialize the Chrome OS bluetooth subsystem
158 if (parsed_command_line().HasSwitch(switches::kEnableBluetooth)) { 164 if (parsed_command_line().HasSwitch(switches::kEnableBluetooth)) {
159 chromeos::BluetoothManager::Initialize(); 165 chromeos::BluetoothManager::Initialize();
160 } 166 }
167
168 // Probe for power supply status.
169 chromeos::PowerManagerClient::Observer* power_lib =
170 chromeos::CrosLibrary::Get()->GetPowerLibrary();
171 chromeos::DBusThreadManager::Get()->power_manager_client()->
172 AddObserver(power_lib);
161 } 173 }
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/chromeos/cros/mock_power_library.h » ('j') | chrome/browser/chromeos/cros/mock_power_library.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698