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

Unified Diff: chrome/browser/chromeos/status/power_menu_button.cc

Issue 7891021: Use stub impl when libcros fails to load (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix power manager stub impl Created 9 years, 3 months 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/status/power_menu_button.cc
diff --git a/chrome/browser/chromeos/status/power_menu_button.cc b/chrome/browser/chromeos/status/power_menu_button.cc
index 555f67d6962ad035c6585b7900fc1bed043f7e07..152eacb6e4e17add3d41a0bccab2e1116cdbdf3f 100644
--- a/chrome/browser/chromeos/status/power_menu_button.cc
+++ b/chrome/browser/chromeos/status/power_menu_button.cc
@@ -161,9 +161,7 @@ class PowerMenuButton::StatusView : public View {
SkBitmap image;
bool draw_percentage_text = false;
- if (!CrosLibrary::Get()->EnsureLoaded()) {
- image = GetUnknownImage(LARGE);
- } else if (!menu_button_->battery_is_present_) {
+ if (!menu_button_->battery_is_present_) {
image = GetMissingImage(LARGE);
} else {
image = GetImage(
@@ -316,6 +314,9 @@ void PowerMenuButton::OnLocaleChanged() {
// PowerMenuButton, views::ViewMenuDelegate implementation:
void PowerMenuButton::RunMenu(views::View* source, const gfx::Point& pt) {
+ // Explicitly query the power status.
+ CrosLibrary::Get()->GetPowerLibrary()->RequestStatusUpdate();
+
views::MenuItemView* menu = new views::MenuItemView(this);
// MenuRunner takes ownership of |menu|.
menu_runner_.reset(new views::MenuRunner(menu));
@@ -354,31 +355,23 @@ void PowerMenuButton::PowerChanged(PowerLibrary* obj) {
void PowerMenuButton::UpdateIconAndLabelInfo() {
PowerLibrary* cros = CrosLibrary::Get()->GetPowerLibrary();
- if (!cros)
- return;
- bool cros_loaded = CrosLibrary::Get()->EnsureLoaded();
- if (cros_loaded) {
- battery_is_present_ = cros->battery_is_present();
- line_power_on_ = cros->line_power_on();
-
- // If fully charged, always show 100% even if internal number is a bit less.
- if (cros->battery_fully_charged()) {
- // We always call cros->battery_percentage() for test predictability.
- cros->battery_percentage();
- battery_percentage_ = 100.0;
- } else {
- battery_percentage_ = cros->battery_percentage();
- }
+ battery_is_present_ = cros->battery_is_present();
+ line_power_on_ = cros->line_power_on();
- UpdateBatteryTime(&battery_time_to_full_, cros->battery_time_to_full());
- UpdateBatteryTime(&battery_time_to_empty_, cros->battery_time_to_empty());
+ // If fully charged, always show 100% even if internal number is a bit less.
+ if (cros->battery_fully_charged()) {
+ // We always call cros->battery_percentage() for test predictability.
+ cros->battery_percentage();
+ battery_percentage_ = 100.0;
+ } else {
+ battery_percentage_ = cros->battery_percentage();
}
- if (!cros_loaded) {
- battery_index_ = -1;
- SetIcon(GetUnknownImage(SMALL));
- } else if (!battery_is_present_) {
+ UpdateBatteryTime(&battery_time_to_full_, cros->battery_time_to_full());
+ UpdateBatteryTime(&battery_time_to_empty_, cros->battery_time_to_empty());
+
+ if (!battery_is_present_) {
battery_index_ = -1;
SetIcon(GetMissingImage(SMALL));
} else {

Powered by Google App Engine
This is Rietveld 408576698