Chromium Code Reviews| Index: ui/views/win/hwnd_message_handler.cc |
| diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc |
| index 501488cf712084b343c2f9b2d1583faf86eaa290..44e3173cc31f3293abc3db05f8783e8eb0cb5559 100644 |
| --- a/ui/views/win/hwnd_message_handler.cc |
| +++ b/ui/views/win/hwnd_message_handler.cc |
| @@ -8,7 +8,7 @@ |
| #include <shellapi.h> |
| #include "base/bind.h" |
| -#include "base/system_monitor/system_monitor.h" |
| +#include "base/power_monitor/power_monitor.h" |
| #include "base/win/windows_version.h" |
| #include "ui/base/events/event.h" |
| #include "ui/base/keycodes/keyboard_code_conversion_win.h" |
| @@ -1851,9 +1851,37 @@ void HWNDMessageHandler::OnPaint(HDC dc) { |
| } |
| LRESULT HWNDMessageHandler::OnPowerBroadcast(DWORD power_event, DWORD data) { |
| - base::SystemMonitor* monitor = base::SystemMonitor::Get(); |
| - if (monitor) |
| - monitor->ProcessWmPowerBroadcastMessage(power_event); |
| + base::PowerMonitor* monitor = base::PowerMonitor::Get(); |
| + if (monitor) { |
| + base::PowerMonitor::PowerEvent power_event; |
|
vandebo (ex-Chrome)
2012/10/11 00:58:43
this variable shadows the function argument.
Hongbo Min
2012/10/11 07:57:53
Keep the original way by using ProcessWmPowerBroad
|
| + switch (event_id) { |
| + case PBT_APMPOWERSTATUSCHANGE: // The power status changed. |
| + power_event = POWER_STATE_EVENT; |
| + break; |
| + case PBT_APMRESUMEAUTOMATIC: // Resume from suspend. |
| + //case PBT_APMRESUMESUSPEND: // User-initiated resume from suspend. |
| + // We don't notify for this latter event |
| + // because if it occurs it is always sent |
| + // as a second event after |
| + // PBT_APMRESUMEAUTOMATIC. |
| + power_event = RESUME_EVENT; |
| + break; |
| + case PBT_APMSUSPEND: // System has been suspended. |
| + power_event = SUSPEND_EVENT; |
| + break; |
| + default: |
| + return; |
| + |
| + // Other Power Events: |
| + // PBT_APMBATTERYLOW - removed in Vista. |
| + // PBT_APMOEMEVENT - removed in Vista. |
| + // PBT_APMQUERYSUSPEND - removed in Vista. |
| + // PBT_APMQUERYSUSPENDFAILED - removed in Vista. |
| + // PBT_APMRESUMECRITICAL - removed in Vista. |
| + // PBT_POWERSETTINGCHANGE - user changed the power settings. |
| + } |
| + monitor->HandlePowerEvent(power_event); |
| + } |
| SetMsgHandled(FALSE); |
| return 0; |
| } |