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

Side by Side Diff: backlight_controller.cc

Issue 6733005: Backlight off should not transition to dim or off states (Closed) Base URL: ssh://git@gitrw.chromium.org:9222/power_manager.git
Patch Set: Created 9 years, 9 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | powerd.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium OS Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium OS 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 "power_manager/backlight_controller.h" 5 #include "power_manager/backlight_controller.h"
6 6
7 #include <gdk/gdkx.h> 7 #include <gdk/gdkx.h>
8 #include <math.h> 8 #include <math.h>
9 #include <X11/extensions/dpms.h> 9 #include <X11/extensions/dpms.h>
10 10
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
121 SetPowerState(BACKLIGHT_ACTIVE_OFF); 121 SetPowerState(BACKLIGHT_ACTIVE_OFF);
122 // Allow large swing in brightness_offset for absolute brightness 122 // Allow large swing in brightness_offset for absolute brightness
123 // outside of clamped brightness region. 123 // outside of clamped brightness region.
124 int64 absolute_brightness = als_brightness_level_ + *brightness_offset_; 124 int64 absolute_brightness = als_brightness_level_ + *brightness_offset_;
125 *brightness_offset_ += new_brightness - absolute_brightness; 125 *brightness_offset_ += new_brightness - absolute_brightness;
126 WriteBrightness(); 126 WriteBrightness();
127 } 127 }
128 } 128 }
129 } 129 }
130 130
131
132 bool BacklightController::SetPowerState(PowerState state) { 131 bool BacklightController::SetPowerState(PowerState state) {
133 if (state == state_ || !is_initialized_) 132 if (state == state_ || !is_initialized_)
134 return false; 133 return false;
135 CHECK(state != BACKLIGHT_UNINITIALIZED); 134 CHECK(state != BACKLIGHT_UNINITIALIZED);
136 135
136 // If backlight is turned off, do not transition to dim or off states.
137 // From ACTIVE_OFF state only transition to ACTIVE_ON and SUSPEND states.
138 if (state_ == BACKLIGHT_ACTIVE_OFF && (state == BACKLIGHT_IDLE_OFF ||
139 state == BACKLIGHT_DIM))
140 return false;
141
137 LOG(INFO) << PowerStateToString(state_) << " -> " 142 LOG(INFO) << PowerStateToString(state_) << " -> "
138 << PowerStateToString(state); 143 << PowerStateToString(state);
139 ReadBrightness(); 144 ReadBrightness();
140 state_ = state; 145 state_ = state;
141 bool changed_brightness = WriteBrightness(); 146 bool changed_brightness = WriteBrightness();
142 147
143 if (light_sensor_) 148 if (light_sensor_)
144 light_sensor_->EnableOrDisableSensor(state_); 149 light_sensor_->EnableOrDisableSensor(state_);
145 150
146 if (GDK_DISPLAY() == NULL) 151 if (GDK_DISPLAY() == NULL)
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after
299 WritePrefs(); 304 WritePrefs();
300 } 305 }
301 306
302 void BacklightController::TurnScreenOff() { 307 void BacklightController::TurnScreenOff() {
303 if (state_ == BACKLIGHT_IDLE_OFF && GDK_DISPLAY() != NULL) 308 if (state_ == BACKLIGHT_IDLE_OFF && GDK_DISPLAY() != NULL)
304 CHECK(DPMSForceLevel(GDK_DISPLAY(), DPMSModeOff)); 309 CHECK(DPMSForceLevel(GDK_DISPLAY(), DPMSModeOff));
305 } 310 }
306 311
307 312
308 } // namespace power_manager 313 } // namespace power_manager
OLDNEW
« no previous file with comments | « no previous file | powerd.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698