diff options
-rw-r--r-- | ash/shell.cc | 3 | ||||
-rw-r--r-- | ash/system/power/tray_power.cc | 2 | ||||
-rw-r--r-- | ash/system/tray/system_tray_delegate.h | 3 | ||||
-rw-r--r-- | chrome/browser/chromeos/system/ash_system_tray_delegate.cc | 6 | ||||
-rw-r--r-- | chromeos/dbus/power_manager_client.cc | 3 |
5 files changed, 14 insertions, 3 deletions
diff --git a/ash/shell.cc b/ash/shell.cc index d3b1919..80d6077 100644 --- a/ash/shell.cc +++ b/ash/shell.cc @@ -312,6 +312,9 @@ class DummySystemTrayDelegate : public SystemTrayDelegate { return PowerSupplyStatus(); } + virtual void RequestStatusUpdate() const OVERRIDE { + } + virtual void ShowSettings() OVERRIDE { } diff --git a/ash/system/power/tray_power.cc b/ash/system/power/tray_power.cc index 18c3364..ee0229f 100644 --- a/ash/system/power/tray_power.cc +++ b/ash/system/power/tray_power.cc @@ -222,6 +222,8 @@ views::View* TrayPower::CreateDefaultView(user::LoginStatus status) { SkColorSetARGB(0, 0, 0, 0))); container->AddChildView(power_.get()); } + ash::Shell::GetInstance()->tray_delegate()->RequestStatusUpdate(); + return container; } diff --git a/ash/system/tray/system_tray_delegate.h b/ash/system/tray/system_tray_delegate.h index dbc5722..382c7ec 100644 --- a/ash/system/tray/system_tray_delegate.h +++ b/ash/system/tray/system_tray_delegate.h @@ -92,6 +92,9 @@ class SystemTrayDelegate { // Gets the current power supply status. virtual PowerSupplyStatus GetPowerSupplyStatus() const = 0; + // Requests a status update. + virtual void RequestStatusUpdate() const = 0; + // Shows settings. virtual void ShowSettings() = 0; diff --git a/chrome/browser/chromeos/system/ash_system_tray_delegate.cc b/chrome/browser/chromeos/system/ash_system_tray_delegate.cc index 164bd9e..ee00072 100644 --- a/chrome/browser/chromeos/system/ash_system_tray_delegate.cc +++ b/chrome/browser/chromeos/system/ash_system_tray_delegate.cc @@ -239,10 +239,12 @@ class SystemTrayDelegate : public ash::SystemTrayDelegate, } virtual PowerSupplyStatus GetPowerSupplyStatus() const OVERRIDE { - // Explicitly query the power status. + return power_supply_status_; + } + + virtual void RequestStatusUpdate() const OVERRIDE { DBusThreadManager::Get()->GetPowerManagerClient()->RequestStatusUpdate( PowerManagerClient::UPDATE_USER); - return power_supply_status_; } virtual void ShowSettings() OVERRIDE { diff --git a/chromeos/dbus/power_manager_client.cc b/chromeos/dbus/power_manager_client.cc index 010b45c..addc5b8 100644 --- a/chromeos/dbus/power_manager_client.cc +++ b/chromeos/dbus/power_manager_client.cc @@ -575,7 +575,8 @@ class PowerManagerClientStubImpl : public PowerManagerClient { return; } } - battery_percentage_ += (discharging_ ? -1 : 1); + battery_percentage_ += (discharging_ ? -5 : 5); + battery_percentage_ = std::min(std::max(battery_percentage_, 0), 100); const int kSecondsToEmptyFullBattery(3 * 60 * 60); // 3 hours. |