summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ash/shell.cc3
-rw-r--r--ash/system/power/tray_power.cc2
-rw-r--r--ash/system/tray/system_tray_delegate.h3
-rw-r--r--chrome/browser/chromeos/system/ash_system_tray_delegate.cc6
-rw-r--r--chromeos/dbus/power_manager_client.cc3
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.