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 "chromeos/dbus/power_manager_client.h" | 5 #include "chromeos/dbus/power_manager_client.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/callback.h" | 10 #include "base/callback.h" |
11 #include "base/command_line.h" | 11 #include "base/command_line.h" |
12 #include "base/format_macros.h" | 12 #include "base/format_macros.h" |
13 #include "base/logging.h" | 13 #include "base/logging.h" |
14 #include "base/memory/scoped_ptr.h" | 14 #include "base/memory/scoped_ptr.h" |
15 #include "base/message_loop/message_loop.h" | 15 #include "base/message_loop/message_loop.h" |
16 #include "base/observer_list.h" | 16 #include "base/observer_list.h" |
17 #include "base/power_monitor/power_monitor_device_source.h" | 17 #include "base/power_monitor/power_monitor_device_source.h" |
18 #include "base/strings/string_number_conversions.h" | 18 #include "base/strings/string_number_conversions.h" |
19 #include "base/strings/string_split.h" | 19 #include "base/strings/string_split.h" |
20 #include "base/strings/stringprintf.h" | 20 #include "base/strings/stringprintf.h" |
21 #include "base/threading/platform_thread.h" | 21 #include "base/threading/platform_thread.h" |
22 #include "base/time/time.h" | 22 #include "base/time/time.h" |
23 #include "base/timer/timer.h" | 23 #include "base/timer/timer.h" |
24 #include "chromeos/chromeos_switches.h" | 24 #include "chromeos/chromeos_switches.h" |
25 #include "chromeos/dbus/power_manager/input_event.pb.h" | 25 #include "chromeos/dbus/power_manager/input_event.pb.h" |
26 #include "chromeos/dbus/power_manager/peripheral_battery_status.pb.h" | 26 #include "chromeos/dbus/power_manager/peripheral_battery_status.pb.h" |
27 #include "chromeos/dbus/power_manager/policy.pb.h" | 27 #include "chromeos/dbus/power_manager/policy.pb.h" |
28 #include "chromeos/dbus/power_manager/power_supply_properties.pb.h" | 28 #include "chromeos/dbus/power_manager/power_supply_properties.pb.h" |
29 #include "chromeos/dbus/power_manager/suspend.pb.h" | 29 #include "chromeos/dbus/power_manager/suspend.pb.h" |
30 #include "chromeos/device_event_log.h" | |
30 #include "dbus/bus.h" | 31 #include "dbus/bus.h" |
31 #include "dbus/message.h" | 32 #include "dbus/message.h" |
32 #include "dbus/object_path.h" | 33 #include "dbus/object_path.h" |
33 #include "dbus/object_proxy.h" | 34 #include "dbus/object_proxy.h" |
34 | 35 |
35 namespace chromeos { | 36 namespace chromeos { |
36 | 37 |
37 // Maximum amount of time that the power manager will wait for Chrome to | 38 // Maximum amount of time that the power manager will wait for Chrome to |
38 // say that it's ready for the system to be suspended, in milliseconds. | 39 // say that it's ready for the system to be suspended, in milliseconds. |
39 const int kSuspendDelayTimeoutMs = 5000; | 40 const int kSuspendDelayTimeoutMs = 5000; |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
83 } | 84 } |
84 | 85 |
85 virtual void SetRenderProcessManagerDelegate( | 86 virtual void SetRenderProcessManagerDelegate( |
86 base::WeakPtr<RenderProcessManagerDelegate> delegate) override { | 87 base::WeakPtr<RenderProcessManagerDelegate> delegate) override { |
87 DCHECK(!render_process_manager_delegate_) | 88 DCHECK(!render_process_manager_delegate_) |
88 << "There can be only one! ...RenderProcessManagerDelegate"; | 89 << "There can be only one! ...RenderProcessManagerDelegate"; |
89 render_process_manager_delegate_ = delegate; | 90 render_process_manager_delegate_ = delegate; |
90 } | 91 } |
91 | 92 |
92 virtual void DecreaseScreenBrightness(bool allow_off) override { | 93 virtual void DecreaseScreenBrightness(bool allow_off) override { |
94 POWER_LOG(USER) << "DecreaseScreenBrightness, allow_off: " << allow_off; | |
93 dbus::MethodCall method_call( | 95 dbus::MethodCall method_call( |
94 power_manager::kPowerManagerInterface, | 96 power_manager::kPowerManagerInterface, |
95 power_manager::kDecreaseScreenBrightnessMethod); | 97 power_manager::kDecreaseScreenBrightnessMethod); |
96 dbus::MessageWriter writer(&method_call); | 98 dbus::MessageWriter writer(&method_call); |
97 writer.AppendBool(allow_off); | 99 writer.AppendBool(allow_off); |
98 power_manager_proxy_->CallMethod( | 100 power_manager_proxy_->CallMethod( |
99 &method_call, | 101 &method_call, |
100 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, | 102 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
101 dbus::ObjectProxy::EmptyResponseCallback()); | 103 dbus::ObjectProxy::EmptyResponseCallback()); |
102 } | 104 } |
103 | 105 |
104 virtual void IncreaseScreenBrightness() override { | 106 virtual void IncreaseScreenBrightness() override { |
107 POWER_LOG(USER) << "IncreaseScreenBrightness"; | |
105 SimpleMethodCallToPowerManager( | 108 SimpleMethodCallToPowerManager( |
106 power_manager::kIncreaseScreenBrightnessMethod); | 109 power_manager::kIncreaseScreenBrightnessMethod); |
107 } | 110 } |
108 | 111 |
109 virtual void DecreaseKeyboardBrightness() override { | 112 virtual void DecreaseKeyboardBrightness() override { |
113 POWER_LOG(USER) << "DecreaseKeyboardBrightness"; | |
110 SimpleMethodCallToPowerManager( | 114 SimpleMethodCallToPowerManager( |
111 power_manager::kDecreaseKeyboardBrightnessMethod); | 115 power_manager::kDecreaseKeyboardBrightnessMethod); |
112 } | 116 } |
113 | 117 |
114 virtual void IncreaseKeyboardBrightness() override { | 118 virtual void IncreaseKeyboardBrightness() override { |
119 POWER_LOG(USER) << "IncreaseKeyboardBrightness"; | |
115 SimpleMethodCallToPowerManager( | 120 SimpleMethodCallToPowerManager( |
116 power_manager::kIncreaseKeyboardBrightnessMethod); | 121 power_manager::kIncreaseKeyboardBrightnessMethod); |
117 } | 122 } |
118 | 123 |
119 virtual void SetScreenBrightnessPercent(double percent, | 124 virtual void SetScreenBrightnessPercent(double percent, |
120 bool gradual) override { | 125 bool gradual) override { |
126 POWER_LOG(USER) << "SetScreenBrightnessPercent: " << percent | |
Daniel Erat
2014/12/03 15:07:20
this might be spammy enough that we don't want to
stevenjb
2014/12/05 20:14:06
Yeah, this is spammy, I'll remove it. It turns out
| |
127 << " gradual: " << gradual; | |
121 dbus::MethodCall method_call( | 128 dbus::MethodCall method_call( |
122 power_manager::kPowerManagerInterface, | 129 power_manager::kPowerManagerInterface, |
123 power_manager::kSetScreenBrightnessPercentMethod); | 130 power_manager::kSetScreenBrightnessPercentMethod); |
124 dbus::MessageWriter writer(&method_call); | 131 dbus::MessageWriter writer(&method_call); |
125 writer.AppendDouble(percent); | 132 writer.AppendDouble(percent); |
126 writer.AppendInt32( | 133 writer.AppendInt32( |
127 gradual ? | 134 gradual ? |
128 power_manager::kBrightnessTransitionGradual : | 135 power_manager::kBrightnessTransitionGradual : |
129 power_manager::kBrightnessTransitionInstant); | 136 power_manager::kBrightnessTransitionInstant); |
130 power_manager_proxy_->CallMethod( | 137 power_manager_proxy_->CallMethod( |
131 &method_call, | 138 &method_call, |
132 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, | 139 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
133 dbus::ObjectProxy::EmptyResponseCallback()); | 140 dbus::ObjectProxy::EmptyResponseCallback()); |
134 } | 141 } |
135 | 142 |
136 virtual void GetScreenBrightnessPercent( | 143 virtual void GetScreenBrightnessPercent( |
137 const GetScreenBrightnessPercentCallback& callback) override { | 144 const GetScreenBrightnessPercentCallback& callback) override { |
138 dbus::MethodCall method_call( | 145 dbus::MethodCall method_call( |
139 power_manager::kPowerManagerInterface, | 146 power_manager::kPowerManagerInterface, |
140 power_manager::kGetScreenBrightnessPercentMethod); | 147 power_manager::kGetScreenBrightnessPercentMethod); |
141 power_manager_proxy_->CallMethod( | 148 power_manager_proxy_->CallMethod( |
142 &method_call, | 149 &method_call, |
143 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, | 150 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
144 base::Bind(&PowerManagerClientImpl::OnGetScreenBrightnessPercent, | 151 base::Bind(&PowerManagerClientImpl::OnGetScreenBrightnessPercent, |
145 weak_ptr_factory_.GetWeakPtr(), callback)); | 152 weak_ptr_factory_.GetWeakPtr(), callback)); |
146 } | 153 } |
147 | 154 |
148 virtual void RequestStatusUpdate() override { | 155 virtual void RequestStatusUpdate() override { |
156 POWER_LOG(USER) << "RequestStatusUpdate"; | |
149 dbus::MethodCall method_call( | 157 dbus::MethodCall method_call( |
150 power_manager::kPowerManagerInterface, | 158 power_manager::kPowerManagerInterface, |
151 power_manager::kGetPowerSupplyPropertiesMethod); | 159 power_manager::kGetPowerSupplyPropertiesMethod); |
152 power_manager_proxy_->CallMethod( | 160 power_manager_proxy_->CallMethod( |
153 &method_call, | 161 &method_call, |
154 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, | 162 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
155 base::Bind(&PowerManagerClientImpl::OnGetPowerSupplyPropertiesMethod, | 163 base::Bind(&PowerManagerClientImpl::OnGetPowerSupplyPropertiesMethod, |
156 weak_ptr_factory_.GetWeakPtr())); | 164 weak_ptr_factory_.GetWeakPtr())); |
157 } | 165 } |
158 | 166 |
159 virtual void RequestSuspend() override { | 167 virtual void RequestSuspend() override { |
168 POWER_LOG(USER) << "RequestSuspend"; | |
160 SimpleMethodCallToPowerManager(power_manager::kRequestSuspendMethod); | 169 SimpleMethodCallToPowerManager(power_manager::kRequestSuspendMethod); |
161 } | 170 } |
162 | 171 |
163 virtual void RequestRestart() override { | 172 virtual void RequestRestart() override { |
173 POWER_LOG(USER) << "RequestRestart"; | |
164 SimpleMethodCallToPowerManager(power_manager::kRequestRestartMethod); | 174 SimpleMethodCallToPowerManager(power_manager::kRequestRestartMethod); |
165 } | 175 } |
166 | 176 |
167 virtual void RequestShutdown() override { | 177 virtual void RequestShutdown() override { |
178 POWER_LOG(USER) << "RequestShutdown"; | |
168 SimpleMethodCallToPowerManager(power_manager::kRequestShutdownMethod); | 179 SimpleMethodCallToPowerManager(power_manager::kRequestShutdownMethod); |
169 } | 180 } |
170 | 181 |
171 virtual void NotifyUserActivity( | 182 virtual void NotifyUserActivity( |
172 power_manager::UserActivityType type) override { | 183 power_manager::UserActivityType type) override { |
173 dbus::MethodCall method_call( | 184 dbus::MethodCall method_call( |
174 power_manager::kPowerManagerInterface, | 185 power_manager::kPowerManagerInterface, |
175 power_manager::kHandleUserActivityMethod); | 186 power_manager::kHandleUserActivityMethod); |
176 dbus::MessageWriter writer(&method_call); | 187 dbus::MessageWriter writer(&method_call); |
177 writer.AppendInt32(type); | 188 writer.AppendInt32(type); |
(...skipping 12 matching lines...) Expand all Loading... | |
190 writer.AppendBool(is_fullscreen); | 201 writer.AppendBool(is_fullscreen); |
191 | 202 |
192 power_manager_proxy_->CallMethod( | 203 power_manager_proxy_->CallMethod( |
193 &method_call, | 204 &method_call, |
194 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, | 205 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
195 dbus::ObjectProxy::EmptyResponseCallback()); | 206 dbus::ObjectProxy::EmptyResponseCallback()); |
196 } | 207 } |
197 | 208 |
198 virtual void SetPolicy( | 209 virtual void SetPolicy( |
199 const power_manager::PowerManagementPolicy& policy) override { | 210 const power_manager::PowerManagementPolicy& policy) override { |
211 POWER_LOG(USER) << "SetPolicy"; | |
200 dbus::MethodCall method_call( | 212 dbus::MethodCall method_call( |
201 power_manager::kPowerManagerInterface, | 213 power_manager::kPowerManagerInterface, |
202 power_manager::kSetPolicyMethod); | 214 power_manager::kSetPolicyMethod); |
203 dbus::MessageWriter writer(&method_call); | 215 dbus::MessageWriter writer(&method_call); |
204 if (!writer.AppendProtoAsArrayOfBytes(policy)) { | 216 if (!writer.AppendProtoAsArrayOfBytes(policy)) { |
205 LOG(ERROR) << "Error calling " << power_manager::kSetPolicyMethod; | 217 POWER_LOG(ERROR) << "Error calling " << power_manager::kSetPolicyMethod; |
206 return; | 218 return; |
207 } | 219 } |
208 power_manager_proxy_->CallMethod( | 220 power_manager_proxy_->CallMethod( |
209 &method_call, | 221 &method_call, |
210 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, | 222 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
211 dbus::ObjectProxy::EmptyResponseCallback()); | 223 dbus::ObjectProxy::EmptyResponseCallback()); |
212 } | 224 } |
213 | 225 |
214 virtual void SetIsProjecting(bool is_projecting) override { | 226 virtual void SetIsProjecting(bool is_projecting) override { |
227 POWER_LOG(USER) << "SetIsProjecting"; | |
215 dbus::MethodCall method_call( | 228 dbus::MethodCall method_call( |
216 power_manager::kPowerManagerInterface, | 229 power_manager::kPowerManagerInterface, |
217 power_manager::kSetIsProjectingMethod); | 230 power_manager::kSetIsProjectingMethod); |
218 dbus::MessageWriter writer(&method_call); | 231 dbus::MessageWriter writer(&method_call); |
219 writer.AppendBool(is_projecting); | 232 writer.AppendBool(is_projecting); |
220 power_manager_proxy_->CallMethod( | 233 power_manager_proxy_->CallMethod( |
221 &method_call, | 234 &method_call, |
222 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, | 235 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
223 dbus::ObjectProxy::EmptyResponseCallback()); | 236 dbus::ObjectProxy::EmptyResponseCallback()); |
224 last_is_projecting_ = is_projecting; | 237 last_is_projecting_ = is_projecting; |
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
332 private: | 345 private: |
333 // Returns true if the current thread is the origin thread. | 346 // Returns true if the current thread is the origin thread. |
334 bool OnOriginThread() { | 347 bool OnOriginThread() { |
335 return base::PlatformThread::CurrentId() == origin_thread_id_; | 348 return base::PlatformThread::CurrentId() == origin_thread_id_; |
336 } | 349 } |
337 | 350 |
338 // Called when a dbus signal is initially connected. | 351 // Called when a dbus signal is initially connected. |
339 void SignalConnected(const std::string& interface_name, | 352 void SignalConnected(const std::string& interface_name, |
340 const std::string& signal_name, | 353 const std::string& signal_name, |
341 bool success) { | 354 bool success) { |
342 LOG_IF(WARNING, !success) << "Failed to connect to signal " | 355 if (!success) |
343 << signal_name << "."; | 356 POWER_LOG(ERROR) << "Failed to connect to signal " << signal_name << "."; |
344 } | 357 } |
345 | 358 |
346 // Makes a method call to power manager with no arguments and no response. | 359 // Makes a method call to power manager with no arguments and no response. |
347 void SimpleMethodCallToPowerManager(const std::string& method_name) { | 360 void SimpleMethodCallToPowerManager(const std::string& method_name) { |
348 dbus::MethodCall method_call(power_manager::kPowerManagerInterface, | 361 dbus::MethodCall method_call(power_manager::kPowerManagerInterface, |
349 method_name); | 362 method_name); |
350 power_manager_proxy_->CallMethod( | 363 power_manager_proxy_->CallMethod( |
351 &method_call, | 364 &method_call, |
352 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, | 365 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
353 dbus::ObjectProxy::EmptyResponseCallback()); | 366 dbus::ObjectProxy::EmptyResponseCallback()); |
354 } | 367 } |
355 | 368 |
356 void NameOwnerChangedReceived(const std::string& old_owner, | 369 void NameOwnerChangedReceived(const std::string& old_owner, |
357 const std::string& new_owner) { | 370 const std::string& new_owner) { |
358 VLOG(1) << "Power manager restarted (old owner was " | 371 POWER_LOG(EVENT) << "Power manager restarted. Old owner: " |
359 << (old_owner.empty() ? "[none]" : old_owner.c_str()) | 372 << (old_owner.empty() ? "[none]" : old_owner.c_str()) |
360 << ", new owner is " | 373 << " New owner: " |
361 << (new_owner.empty() ? "[none]" : new_owner.c_str()) << ")"; | 374 << (new_owner.empty() ? "[none]" : new_owner.c_str()); |
362 suspend_is_pending_ = false; | 375 suspend_is_pending_ = false; |
363 pending_suspend_id_ = -1; | 376 pending_suspend_id_ = -1; |
364 suspending_from_dark_resume_ = false; | 377 suspending_from_dark_resume_ = false; |
365 if (!new_owner.empty()) { | 378 if (!new_owner.empty()) { |
366 VLOG(1) << "Sending initial state to power manager"; | 379 POWER_LOG(EVENT) << "Sending initial state to power manager"; |
367 RegisterSuspendDelays(); | 380 RegisterSuspendDelays(); |
368 SetIsProjecting(last_is_projecting_); | 381 SetIsProjecting(last_is_projecting_); |
369 FOR_EACH_OBSERVER(Observer, observers_, PowerManagerRestarted()); | 382 FOR_EACH_OBSERVER(Observer, observers_, PowerManagerRestarted()); |
370 } | 383 } |
371 } | 384 } |
372 | 385 |
373 void BrightnessChangedReceived(dbus::Signal* signal) { | 386 void BrightnessChangedReceived(dbus::Signal* signal) { |
374 dbus::MessageReader reader(signal); | 387 dbus::MessageReader reader(signal); |
375 int32_t brightness_level = 0; | 388 int32_t brightness_level = 0; |
376 bool user_initiated = 0; | 389 bool user_initiated = 0; |
377 if (!(reader.PopInt32(&brightness_level) && | 390 if (!(reader.PopInt32(&brightness_level) && |
378 reader.PopBool(&user_initiated))) { | 391 reader.PopBool(&user_initiated))) { |
379 LOG(ERROR) << "Brightness changed signal had incorrect parameters: " | 392 POWER_LOG(ERROR) << "Brightness changed signal had incorrect parameters: " |
380 << signal->ToString(); | 393 << signal->ToString(); |
381 return; | 394 return; |
382 } | 395 } |
383 VLOG(1) << "Brightness changed to " << brightness_level | 396 POWER_LOG(DEBUG) << "Brightness changed to " << brightness_level |
384 << ": user initiated " << user_initiated; | 397 << ": user initiated " << user_initiated; |
385 FOR_EACH_OBSERVER(Observer, observers_, | 398 FOR_EACH_OBSERVER(Observer, observers_, |
386 BrightnessChanged(brightness_level, user_initiated)); | 399 BrightnessChanged(brightness_level, user_initiated)); |
387 } | 400 } |
388 | 401 |
389 void PeripheralBatteryStatusReceived(dbus::Signal* signal) { | 402 void PeripheralBatteryStatusReceived(dbus::Signal* signal) { |
390 dbus::MessageReader reader(signal); | 403 dbus::MessageReader reader(signal); |
391 power_manager::PeripheralBatteryStatus protobuf_status; | 404 power_manager::PeripheralBatteryStatus protobuf_status; |
392 if (!reader.PopArrayOfBytesAsProto(&protobuf_status)) { | 405 if (!reader.PopArrayOfBytesAsProto(&protobuf_status)) { |
393 LOG(ERROR) << "Unable to decode protocol buffer from " | 406 POWER_LOG(ERROR) << "Unable to decode protocol buffer from " |
394 << power_manager::kPeripheralBatteryStatusSignal << " signal"; | 407 << power_manager::kPeripheralBatteryStatusSignal |
408 << " signal"; | |
395 return; | 409 return; |
396 } | 410 } |
397 | 411 |
398 std::string path = protobuf_status.path(); | 412 std::string path = protobuf_status.path(); |
399 std::string name = protobuf_status.name(); | 413 std::string name = protobuf_status.name(); |
400 int level = protobuf_status.has_level() ? protobuf_status.level() : -1; | 414 int level = protobuf_status.has_level() ? protobuf_status.level() : -1; |
401 | 415 |
402 VLOG(1) << "Device battery status received " << level | 416 POWER_LOG(DEBUG) << "Device battery status received " << level << " for " |
403 << " for " << name << " at " << path; | 417 << name << " at " << path; |
404 | 418 |
405 FOR_EACH_OBSERVER(Observer, observers_, | 419 FOR_EACH_OBSERVER(Observer, observers_, |
406 PeripheralBatteryStatusReceived(path, name, level)); | 420 PeripheralBatteryStatusReceived(path, name, level)); |
407 } | 421 } |
408 | 422 |
409 void PowerSupplyPollReceived(dbus::Signal* signal) { | 423 void PowerSupplyPollReceived(dbus::Signal* signal) { |
410 VLOG(1) << "Received power supply poll signal."; | 424 POWER_LOG(DEBUG) << "Received power supply poll signal."; |
411 dbus::MessageReader reader(signal); | 425 dbus::MessageReader reader(signal); |
412 power_manager::PowerSupplyProperties protobuf; | 426 power_manager::PowerSupplyProperties protobuf; |
413 if (reader.PopArrayOfBytesAsProto(&protobuf)) { | 427 if (reader.PopArrayOfBytesAsProto(&protobuf)) { |
414 HandlePowerSupplyProperties(protobuf); | 428 HandlePowerSupplyProperties(protobuf); |
415 } else { | 429 } else { |
416 LOG(ERROR) << "Unable to decode " | 430 POWER_LOG(ERROR) << "Unable to decode " |
417 << power_manager::kPowerSupplyPollSignal << "signal"; | 431 << power_manager::kPowerSupplyPollSignal << " signal"; |
418 } | 432 } |
419 } | 433 } |
420 | 434 |
421 void OnGetPowerSupplyPropertiesMethod(dbus::Response* response) { | 435 void OnGetPowerSupplyPropertiesMethod(dbus::Response* response) { |
422 if (!response) { | 436 if (!response) { |
423 LOG(ERROR) << "Error calling " | 437 POWER_LOG(ERROR) << "Error calling " |
424 << power_manager::kGetPowerSupplyPropertiesMethod; | 438 << power_manager::kGetPowerSupplyPropertiesMethod; |
425 return; | 439 return; |
426 } | 440 } |
427 | 441 |
428 dbus::MessageReader reader(response); | 442 dbus::MessageReader reader(response); |
429 power_manager::PowerSupplyProperties protobuf; | 443 power_manager::PowerSupplyProperties protobuf; |
430 if (reader.PopArrayOfBytesAsProto(&protobuf)) { | 444 if (reader.PopArrayOfBytesAsProto(&protobuf)) { |
431 HandlePowerSupplyProperties(protobuf); | 445 HandlePowerSupplyProperties(protobuf); |
432 } else { | 446 } else { |
433 LOG(ERROR) << "Unable to decode " | 447 POWER_LOG(ERROR) << "Unable to decode " |
434 << power_manager::kGetPowerSupplyPropertiesMethod | 448 << power_manager::kGetPowerSupplyPropertiesMethod |
435 << " response"; | 449 << " response"; |
436 } | 450 } |
437 } | 451 } |
438 | 452 |
439 void OnGetScreenBrightnessPercent( | 453 void OnGetScreenBrightnessPercent( |
440 const GetScreenBrightnessPercentCallback& callback, | 454 const GetScreenBrightnessPercentCallback& callback, |
441 dbus::Response* response) { | 455 dbus::Response* response) { |
442 if (!response) { | 456 if (!response) { |
443 LOG(ERROR) << "Error calling " | 457 POWER_LOG(ERROR) << "Error calling " |
444 << power_manager::kGetScreenBrightnessPercentMethod; | 458 << power_manager::kGetScreenBrightnessPercentMethod; |
445 return; | 459 return; |
446 } | 460 } |
447 dbus::MessageReader reader(response); | 461 dbus::MessageReader reader(response); |
448 double percent = 0.0; | 462 double percent = 0.0; |
449 if (!reader.PopDouble(&percent)) | 463 if (!reader.PopDouble(&percent)) |
450 LOG(ERROR) << "Error reading response from powerd: " | 464 POWER_LOG(ERROR) << "Error reading response from powerd: " |
451 << response->ToString(); | 465 << response->ToString(); |
452 callback.Run(percent); | 466 callback.Run(percent); |
453 } | 467 } |
454 | 468 |
455 void HandlePowerSupplyProperties( | 469 void HandlePowerSupplyProperties( |
456 const power_manager::PowerSupplyProperties& proto) { | 470 const power_manager::PowerSupplyProperties& proto) { |
457 FOR_EACH_OBSERVER(Observer, observers_, PowerChanged(proto)); | 471 FOR_EACH_OBSERVER(Observer, observers_, PowerChanged(proto)); |
458 const bool on_battery = proto.external_power() == | 472 const bool on_battery = proto.external_power() == |
459 power_manager::PowerSupplyProperties_ExternalPower_DISCONNECTED; | 473 power_manager::PowerSupplyProperties_ExternalPower_DISCONNECTED; |
460 base::PowerMonitorDeviceSource::SetPowerSource(on_battery); | 474 base::PowerMonitorDeviceSource::SetPowerSource(on_battery); |
461 } | 475 } |
462 | 476 |
463 void HandleRegisterSuspendDelayReply(bool dark_suspend, | 477 void HandleRegisterSuspendDelayReply(bool dark_suspend, |
464 const std::string& method_name, | 478 const std::string& method_name, |
465 dbus::Response* response) { | 479 dbus::Response* response) { |
466 if (!response) { | 480 if (!response) { |
467 LOG(ERROR) << "Error calling " << method_name; | 481 POWER_LOG(ERROR) << "Error calling " << method_name; |
468 return; | 482 return; |
469 } | 483 } |
470 | 484 |
471 dbus::MessageReader reader(response); | 485 dbus::MessageReader reader(response); |
472 power_manager::RegisterSuspendDelayReply protobuf; | 486 power_manager::RegisterSuspendDelayReply protobuf; |
473 if (!reader.PopArrayOfBytesAsProto(&protobuf)) { | 487 if (!reader.PopArrayOfBytesAsProto(&protobuf)) { |
474 LOG(ERROR) << "Unable to parse reply from " << method_name; | 488 POWER_LOG(ERROR) << "Unable to parse reply from " << method_name; |
475 return; | 489 return; |
476 } | 490 } |
477 | 491 |
478 if (dark_suspend) { | 492 if (dark_suspend) { |
479 dark_suspend_delay_id_ = protobuf.delay_id(); | 493 dark_suspend_delay_id_ = protobuf.delay_id(); |
480 has_dark_suspend_delay_id_ = true; | 494 has_dark_suspend_delay_id_ = true; |
481 VLOG(1) << "Registered dark suspend delay " << dark_suspend_delay_id_; | 495 POWER_LOG(EVENT) << "Registered dark suspend delay " |
496 << dark_suspend_delay_id_; | |
482 } else { | 497 } else { |
483 suspend_delay_id_ = protobuf.delay_id(); | 498 suspend_delay_id_ = protobuf.delay_id(); |
484 has_suspend_delay_id_ = true; | 499 has_suspend_delay_id_ = true; |
485 VLOG(1) << "Registered suspend delay " << suspend_delay_id_; | 500 POWER_LOG(EVENT) << "Registered suspend delay " << suspend_delay_id_; |
486 } | 501 } |
487 } | 502 } |
488 | 503 |
489 void HandleSuspendImminent(bool in_dark_resume, dbus::Signal* signal) { | 504 void HandleSuspendImminent(bool in_dark_resume, dbus::Signal* signal) { |
490 std::string signal_name = signal->GetMember(); | 505 std::string signal_name = signal->GetMember(); |
491 if ((in_dark_resume && !has_dark_suspend_delay_id_) || | 506 if ((in_dark_resume && !has_dark_suspend_delay_id_) || |
492 (!in_dark_resume && !has_suspend_delay_id_)) { | 507 (!in_dark_resume && !has_suspend_delay_id_)) { |
493 LOG(ERROR) << "Received unrequested " << signal_name << " signal"; | 508 POWER_LOG(ERROR) << "Received unrequested " << signal_name << " signal"; |
494 return; | 509 return; |
495 } | 510 } |
496 | 511 |
497 dbus::MessageReader reader(signal); | 512 dbus::MessageReader reader(signal); |
498 power_manager::SuspendImminent proto; | 513 power_manager::SuspendImminent proto; |
499 if (!reader.PopArrayOfBytesAsProto(&proto)) { | 514 if (!reader.PopArrayOfBytesAsProto(&proto)) { |
500 LOG(ERROR) << "Unable to decode protocol buffer from " << signal_name | 515 POWER_LOG(ERROR) << "Unable to decode protocol buffer from " |
501 << " signal"; | 516 << signal_name << " signal"; |
502 return; | 517 return; |
503 } | 518 } |
504 | 519 |
505 VLOG(1) << "Got " << signal_name << " signal announcing suspend attempt " | 520 POWER_LOG(EVENT) << "Got " << signal_name |
506 << proto.suspend_id(); | 521 << " signal announcing suspend attempt " |
522 << proto.suspend_id(); | |
507 | 523 |
508 // If a previous suspend is pending from the same state we are currently in | 524 // If a previous suspend is pending from the same state we are currently in |
509 // (fully powered on or in dark resume), then something's gone a little | 525 // (fully powered on or in dark resume), then something's gone a little |
510 // wonky. | 526 // wonky. |
511 if (suspend_is_pending_ && | 527 if (suspend_is_pending_ && suspending_from_dark_resume_ == in_dark_resume) { |
512 suspending_from_dark_resume_ == in_dark_resume) { | 528 POWER_LOG(ERROR) << "Got " << signal_name |
513 LOG(WARNING) << "Got " << signal_name << " signal about pending suspend " | 529 << " signal about pending suspend attempt " |
514 << "attempt " << proto.suspend_id() << " while still " | 530 << proto.suspend_id() |
515 << "waiting on attempt " << pending_suspend_id_; | 531 << " while still waiting on attempt " |
532 << pending_suspend_id_; | |
516 } | 533 } |
517 | 534 |
518 pending_suspend_id_ = proto.suspend_id(); | 535 pending_suspend_id_ = proto.suspend_id(); |
519 suspend_is_pending_ = true; | 536 suspend_is_pending_ = true; |
520 suspending_from_dark_resume_ = in_dark_resume; | 537 suspending_from_dark_resume_ = in_dark_resume; |
521 num_pending_suspend_readiness_callbacks_ = 0; | 538 num_pending_suspend_readiness_callbacks_ = 0; |
522 if (suspending_from_dark_resume_) | 539 if (suspending_from_dark_resume_) |
523 FOR_EACH_OBSERVER(Observer, observers_, DarkSuspendImminent()); | 540 FOR_EACH_OBSERVER(Observer, observers_, DarkSuspendImminent()); |
524 else | 541 else |
525 FOR_EACH_OBSERVER(Observer, observers_, SuspendImminent()); | 542 FOR_EACH_OBSERVER(Observer, observers_, SuspendImminent()); |
526 base::PowerMonitorDeviceSource::HandleSystemSuspending(); | 543 base::PowerMonitorDeviceSource::HandleSystemSuspending(); |
527 MaybeReportSuspendReadiness(); | 544 MaybeReportSuspendReadiness(); |
528 } | 545 } |
529 | 546 |
530 void SuspendDoneReceived(dbus::Signal* signal) { | 547 void SuspendDoneReceived(dbus::Signal* signal) { |
531 dbus::MessageReader reader(signal); | 548 dbus::MessageReader reader(signal); |
532 power_manager::SuspendDone proto; | 549 power_manager::SuspendDone proto; |
533 if (!reader.PopArrayOfBytesAsProto(&proto)) { | 550 if (!reader.PopArrayOfBytesAsProto(&proto)) { |
534 LOG(ERROR) << "Unable to decode protocol buffer from " | 551 POWER_LOG(ERROR) << "Unable to decode protocol buffer from " |
535 << power_manager::kSuspendDoneSignal << " signal"; | 552 << power_manager::kSuspendDoneSignal << " signal"; |
536 return; | 553 return; |
537 } | 554 } |
538 | 555 |
539 const base::TimeDelta duration = | 556 const base::TimeDelta duration = |
540 base::TimeDelta::FromInternalValue(proto.suspend_duration()); | 557 base::TimeDelta::FromInternalValue(proto.suspend_duration()); |
541 VLOG(1) << "Got " << power_manager::kSuspendDoneSignal << " signal:" | 558 POWER_LOG(EVENT) << "Got " << power_manager::kSuspendDoneSignal |
542 << " suspend_id=" << proto.suspend_id() | 559 << " signal:" |
543 << " duration=" << duration.InSeconds() << " sec"; | 560 << " suspend_id=" << proto.suspend_id() |
561 << " duration=" << duration.InSeconds() << " sec"; | |
544 | 562 |
545 if (render_process_manager_delegate_) | 563 if (render_process_manager_delegate_) |
546 render_process_manager_delegate_->SuspendDone(); | 564 render_process_manager_delegate_->SuspendDone(); |
547 | 565 |
548 FOR_EACH_OBSERVER( | 566 FOR_EACH_OBSERVER( |
549 PowerManagerClient::Observer, observers_, SuspendDone(duration)); | 567 PowerManagerClient::Observer, observers_, SuspendDone(duration)); |
550 base::PowerMonitorDeviceSource::HandleSystemResumed(); | 568 base::PowerMonitorDeviceSource::HandleSystemResumed(); |
551 } | 569 } |
552 | 570 |
553 void IdleActionImminentReceived(dbus::Signal* signal) { | 571 void IdleActionImminentReceived(dbus::Signal* signal) { |
554 dbus::MessageReader reader(signal); | 572 dbus::MessageReader reader(signal); |
555 power_manager::IdleActionImminent proto; | 573 power_manager::IdleActionImminent proto; |
556 if (!reader.PopArrayOfBytesAsProto(&proto)) { | 574 if (!reader.PopArrayOfBytesAsProto(&proto)) { |
557 LOG(ERROR) << "Unable to decode protocol buffer from " | 575 POWER_LOG(ERROR) << "Unable to decode protocol buffer from " |
558 << power_manager::kIdleActionImminentSignal << " signal"; | 576 << power_manager::kIdleActionImminentSignal << " signal"; |
559 return; | 577 return; |
560 } | 578 } |
561 FOR_EACH_OBSERVER(Observer, observers_, | 579 FOR_EACH_OBSERVER(Observer, observers_, |
562 IdleActionImminent(base::TimeDelta::FromInternalValue( | 580 IdleActionImminent(base::TimeDelta::FromInternalValue( |
563 proto.time_until_idle_action()))); | 581 proto.time_until_idle_action()))); |
564 } | 582 } |
565 | 583 |
566 void IdleActionDeferredReceived(dbus::Signal* signal) { | 584 void IdleActionDeferredReceived(dbus::Signal* signal) { |
567 FOR_EACH_OBSERVER(Observer, observers_, IdleActionDeferred()); | 585 FOR_EACH_OBSERVER(Observer, observers_, IdleActionDeferred()); |
568 } | 586 } |
569 | 587 |
570 void InputEventReceived(dbus::Signal* signal) { | 588 void InputEventReceived(dbus::Signal* signal) { |
571 dbus::MessageReader reader(signal); | 589 dbus::MessageReader reader(signal); |
572 power_manager::InputEvent proto; | 590 power_manager::InputEvent proto; |
573 if (!reader.PopArrayOfBytesAsProto(&proto)) { | 591 if (!reader.PopArrayOfBytesAsProto(&proto)) { |
574 LOG(ERROR) << "Unable to decode protocol buffer from " | 592 POWER_LOG(ERROR) << "Unable to decode protocol buffer from " |
575 << power_manager::kInputEventSignal << " signal"; | 593 << power_manager::kInputEventSignal << " signal"; |
576 return; | 594 return; |
577 } | 595 } |
578 | 596 |
579 base::TimeTicks timestamp = | 597 base::TimeTicks timestamp = |
580 base::TimeTicks::FromInternalValue(proto.timestamp()); | 598 base::TimeTicks::FromInternalValue(proto.timestamp()); |
581 VLOG(1) << "Got " << power_manager::kInputEventSignal << " signal:" | 599 POWER_LOG(EVENT) << "Got " << power_manager::kInputEventSignal << " signal:" |
Daniel Erat
2014/12/03 15:07:20
USER might make more sense here since this corresp
stevenjb
2014/12/05 20:14:06
Done.
| |
582 << " type=" << proto.type() << " timestamp=" << proto.timestamp(); | 600 << " type=" << proto.type() |
601 << " timestamp=" << proto.timestamp(); | |
583 switch (proto.type()) { | 602 switch (proto.type()) { |
584 case power_manager::InputEvent_Type_POWER_BUTTON_DOWN: | 603 case power_manager::InputEvent_Type_POWER_BUTTON_DOWN: |
585 case power_manager::InputEvent_Type_POWER_BUTTON_UP: { | 604 case power_manager::InputEvent_Type_POWER_BUTTON_UP: { |
586 const bool down = | 605 const bool down = |
587 (proto.type() == power_manager::InputEvent_Type_POWER_BUTTON_DOWN); | 606 (proto.type() == power_manager::InputEvent_Type_POWER_BUTTON_DOWN); |
588 FOR_EACH_OBSERVER(PowerManagerClient::Observer, observers_, | 607 FOR_EACH_OBSERVER(PowerManagerClient::Observer, observers_, |
589 PowerButtonEventReceived(down, timestamp)); | 608 PowerButtonEventReceived(down, timestamp)); |
590 | 609 |
591 // Tell powerd that Chrome has handled power button presses. | 610 // Tell powerd that Chrome has handled power button presses. |
592 if (down) { | 611 if (down) { |
(...skipping 22 matching lines...) Expand all Loading... | |
615 | 634 |
616 void RegisterSuspendDelayImpl( | 635 void RegisterSuspendDelayImpl( |
617 const std::string& method_name, | 636 const std::string& method_name, |
618 const power_manager::RegisterSuspendDelayRequest& protobuf_request, | 637 const power_manager::RegisterSuspendDelayRequest& protobuf_request, |
619 dbus::ObjectProxy::ResponseCallback callback) { | 638 dbus::ObjectProxy::ResponseCallback callback) { |
620 dbus::MethodCall method_call( | 639 dbus::MethodCall method_call( |
621 power_manager::kPowerManagerInterface, method_name); | 640 power_manager::kPowerManagerInterface, method_name); |
622 dbus::MessageWriter writer(&method_call); | 641 dbus::MessageWriter writer(&method_call); |
623 | 642 |
624 if (!writer.AppendProtoAsArrayOfBytes(protobuf_request)) { | 643 if (!writer.AppendProtoAsArrayOfBytes(protobuf_request)) { |
625 LOG(ERROR) << "Error constructing message for " << method_name; | 644 POWER_LOG(ERROR) << "Error constructing message for " << method_name; |
626 return; | 645 return; |
627 } | 646 } |
628 | 647 |
629 power_manager_proxy_->CallMethod( | 648 power_manager_proxy_->CallMethod( |
630 &method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, callback); | 649 &method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, callback); |
631 } | 650 } |
632 | 651 |
633 // Registers suspend delays with the power manager. This is usually only | 652 // Registers suspend delays with the power manager. This is usually only |
634 // called at startup, but if the power manager restarts, we need to create new | 653 // called at startup, but if the power manager restarts, we need to create new |
635 // delays. | 654 // delays. |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
690 delay_id = suspend_delay_id_; | 709 delay_id = suspend_delay_id_; |
691 } | 710 } |
692 | 711 |
693 if (render_process_manager_delegate_ && !suspending_from_dark_resume_) | 712 if (render_process_manager_delegate_ && !suspending_from_dark_resume_) |
694 render_process_manager_delegate_->SuspendImminent(); | 713 render_process_manager_delegate_->SuspendImminent(); |
695 | 714 |
696 dbus::MethodCall method_call( | 715 dbus::MethodCall method_call( |
697 power_manager::kPowerManagerInterface, method_name); | 716 power_manager::kPowerManagerInterface, method_name); |
698 dbus::MessageWriter writer(&method_call); | 717 dbus::MessageWriter writer(&method_call); |
699 | 718 |
700 VLOG(1) << "Announcing readiness of suspend delay " << delay_id | 719 POWER_LOG(EVENT) << "Announcing readiness of suspend delay " << delay_id |
701 << " for suspend attempt " << pending_suspend_id_; | 720 << " for suspend attempt " << pending_suspend_id_; |
702 power_manager::SuspendReadinessInfo protobuf_request; | 721 power_manager::SuspendReadinessInfo protobuf_request; |
703 protobuf_request.set_delay_id(delay_id); | 722 protobuf_request.set_delay_id(delay_id); |
704 protobuf_request.set_suspend_id(pending_suspend_id_); | 723 protobuf_request.set_suspend_id(pending_suspend_id_); |
705 | 724 |
706 pending_suspend_id_ = -1; | 725 pending_suspend_id_ = -1; |
707 suspend_is_pending_ = false; | 726 suspend_is_pending_ = false; |
708 | 727 |
709 if (!writer.AppendProtoAsArrayOfBytes(protobuf_request)) { | 728 if (!writer.AppendProtoAsArrayOfBytes(protobuf_request)) { |
710 LOG(ERROR) << "Error constructing message for " << method_name; | 729 POWER_LOG(ERROR) << "Error constructing message for " << method_name; |
711 return; | 730 return; |
712 } | 731 } |
713 power_manager_proxy_->CallMethod( | 732 power_manager_proxy_->CallMethod( |
714 &method_call, | 733 &method_call, |
715 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, | 734 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
716 dbus::ObjectProxy::EmptyResponseCallback()); | 735 dbus::ObjectProxy::EmptyResponseCallback()); |
717 } | 736 } |
718 | 737 |
719 // Origin thread (i.e. the UI thread in production). | 738 // Origin thread (i.e. the UI thread in production). |
720 base::PlatformThreadId origin_thread_id_; | 739 base::PlatformThreadId origin_thread_id_; |
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
800 | 819 |
801 virtual bool HasObserver(const Observer* observer) const override { | 820 virtual bool HasObserver(const Observer* observer) const override { |
802 return observers_.HasObserver(observer); | 821 return observers_.HasObserver(observer); |
803 } | 822 } |
804 | 823 |
805 virtual void SetRenderProcessManagerDelegate( | 824 virtual void SetRenderProcessManagerDelegate( |
806 base::WeakPtr<RenderProcessManagerDelegate> delegate) override { | 825 base::WeakPtr<RenderProcessManagerDelegate> delegate) override { |
807 } | 826 } |
808 | 827 |
809 virtual void DecreaseScreenBrightness(bool allow_off) override { | 828 virtual void DecreaseScreenBrightness(bool allow_off) override { |
810 VLOG(1) << "Requested to descrease screen brightness"; | 829 POWER_LOG(USER) << "Requested to descrease screen brightness"; |
811 SetBrightness(brightness_ - 5.0, true); | 830 SetBrightness(brightness_ - 5.0, true); |
812 } | 831 } |
813 | 832 |
814 virtual void IncreaseScreenBrightness() override { | 833 virtual void IncreaseScreenBrightness() override { |
815 VLOG(1) << "Requested to increase screen brightness"; | 834 POWER_LOG(USER) << "Requested to increase screen brightness"; |
816 SetBrightness(brightness_ + 5.0, true); | 835 SetBrightness(brightness_ + 5.0, true); |
817 } | 836 } |
818 | 837 |
819 virtual void SetScreenBrightnessPercent(double percent, | 838 virtual void SetScreenBrightnessPercent(double percent, |
820 bool gradual) override { | 839 bool gradual) override { |
821 VLOG(1) << "Requested to set screen brightness to " << percent << "% " | 840 POWER_LOG(USER) << "Requested to set screen brightness to " << percent |
822 << (gradual ? "gradually" : "instantaneously"); | 841 << "% " << (gradual ? "gradually" : "instantaneously"); |
823 SetBrightness(percent, false); | 842 SetBrightness(percent, false); |
824 } | 843 } |
825 | 844 |
826 virtual void GetScreenBrightnessPercent( | 845 virtual void GetScreenBrightnessPercent( |
827 const GetScreenBrightnessPercentCallback& callback) override { | 846 const GetScreenBrightnessPercentCallback& callback) override { |
847 POWER_LOG(USER) << "Requested to get screen brightness"; | |
828 callback.Run(brightness_); | 848 callback.Run(brightness_); |
829 } | 849 } |
830 | 850 |
831 virtual void DecreaseKeyboardBrightness() override { | 851 virtual void DecreaseKeyboardBrightness() override { |
832 VLOG(1) << "Requested to descrease keyboard brightness"; | 852 POWER_LOG(USER) << "Requested to descrease keyboard brightness"; |
833 } | 853 } |
834 | 854 |
835 virtual void IncreaseKeyboardBrightness() override { | 855 virtual void IncreaseKeyboardBrightness() override { |
836 VLOG(1) << "Requested to increase keyboard brightness"; | 856 POWER_LOG(USER) << "Requested to increase keyboard brightness"; |
837 } | 857 } |
838 | 858 |
839 virtual void RequestStatusUpdate() override { | 859 virtual void RequestStatusUpdate() override { |
840 base::MessageLoop::current()->PostTask(FROM_HERE, | 860 POWER_LOG(USER) << "Requested status update"; |
841 base::Bind(&PowerManagerClientStubImpl::UpdateStatus, | 861 base::MessageLoop::current()->PostTask( |
842 weak_ptr_factory_.GetWeakPtr())); | 862 FROM_HERE, base::Bind(&PowerManagerClientStubImpl::UpdateStatus, |
863 weak_ptr_factory_.GetWeakPtr())); | |
843 } | 864 } |
844 | 865 |
845 virtual void RequestSuspend() override {} | 866 virtual void RequestSuspend() override {} |
846 virtual void RequestRestart() override {} | 867 virtual void RequestRestart() override {} |
847 virtual void RequestShutdown() override {} | 868 virtual void RequestShutdown() override {} |
848 | 869 |
849 virtual void NotifyUserActivity( | 870 virtual void NotifyUserActivity( |
850 power_manager::UserActivityType type) override {} | 871 power_manager::UserActivityType type) override {} |
851 virtual void NotifyVideoActivity(bool is_fullscreen) override {} | 872 virtual void NotifyVideoActivity(bool is_fullscreen) override {} |
852 virtual void SetPolicy( | 873 virtual void SetPolicy( |
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
992 // static | 1013 // static |
993 PowerManagerClient* PowerManagerClient::Create( | 1014 PowerManagerClient* PowerManagerClient::Create( |
994 DBusClientImplementationType type) { | 1015 DBusClientImplementationType type) { |
995 if (type == REAL_DBUS_CLIENT_IMPLEMENTATION) | 1016 if (type == REAL_DBUS_CLIENT_IMPLEMENTATION) |
996 return new PowerManagerClientImpl(); | 1017 return new PowerManagerClientImpl(); |
997 DCHECK_EQ(STUB_DBUS_CLIENT_IMPLEMENTATION, type); | 1018 DCHECK_EQ(STUB_DBUS_CLIENT_IMPLEMENTATION, type); |
998 return new PowerManagerClientStubImpl(); | 1019 return new PowerManagerClientStubImpl(); |
999 } | 1020 } |
1000 | 1021 |
1001 } // namespace chromeos | 1022 } // namespace chromeos |
OLD | NEW |