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

Issue 2351593004: Implement base::PowerMonitor::IsOnBatteryPower() for OSX. (Closed)

Created:
4 years, 3 months ago by DaleCurtis
Modified:
4 years, 2 months ago
Reviewers:
Robert Sesek, Nico, shrike
CC:
chromium-reviews, rohitrao (ping after 24h)
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Implement base::PowerMonitor::IsOnBatteryPower() for OSX. For whatever reason this was never implemented; this is slimmed down variant of the implementation in devices/battery/. During this process I noticed the initial status for "is on battery power" is incorrect. On Android, ChromeOS the initial state is later supplied by Java and DBus respectively. On Windows it was using a OneShotTimer. This replaces the Windows implementation with a new protected setter which can be used by the device source implementations to set the initial value before a PowerMonitor exists. BUG=649166 TEST=OSX properly detects battery changes. Initial state correct. Committed: https://crrev.com/8621728865773df979e061a3b4ab5e6ef80a2cc2 Cr-Commit-Position: refs/heads/master@{#421350}

Patch Set 1 : Fix logic. #

Total comments: 6

Patch Set 2 : Use notifications. Fix initial status on all platforms. #

Patch Set 3 : Fix build files. #

Patch Set 4 : Fix ios build files. #

Patch Set 5 : Really fix ios... #

Patch Set 6 : Fix Android and iOS? #

Patch Set 7 : Invert setter. #

Total comments: 5
Unified diffs Side-by-side diffs Delta from patch set Stats (+98 lines, -62 lines) Patch
M base/BUILD.gn View 1 2 3 4 8 chunks +12 lines, -12 lines 0 comments Download
M base/power_monitor/power_monitor_device_source.h View 1 2 chunks +0 lines, -18 lines 2 comments Download
M base/power_monitor/power_monitor_device_source.cc View 1 2 3 4 5 6 2 chunks +8 lines, -17 lines 0 comments Download
M base/power_monitor/power_monitor_device_source_android.cc View 1 2 3 4 5 1 chunk +3 lines, -1 line 0 comments Download
M base/power_monitor/power_monitor_device_source_ios.mm View 1 2 3 4 5 1 chunk +5 lines, -0 lines 2 comments Download
M base/power_monitor/power_monitor_device_source_mac.mm View 1 4 chunks +53 lines, -5 lines 1 comment Download
M base/power_monitor/power_monitor_source.h View 1 2 3 4 5 6 1 chunk +7 lines, -2 lines 0 comments Download
M base/power_monitor/power_monitor_source.cc View 1 2 3 4 5 6 2 chunks +10 lines, -7 lines 0 comments Download

Messages

Total messages: 55 (33 generated)
Nico
https://codereview.chromium.org/2351593004/diff/20001/base/BUILD.gn File base/BUILD.gn (right): https://codereview.chromium.org/2351593004/diff/20001/base/BUILD.gn#newcode1310 base/BUILD.gn:1310: sources -= [ "power_monitor/power_monitor_device_source_posix.cc" ] (fwiw, instead of "add ...
4 years, 3 months ago (2016-09-20 00:04:13 UTC) #2
Nico
https://codereview.chromium.org/2351593004/diff/20001/base/power_monitor/power_monitor_device_source_mac.mm File base/power_monitor/power_monitor_device_source_mac.mm (right): https://codereview.chromium.org/2351593004/diff/20001/base/power_monitor/power_monitor_device_source_mac.mm#newcode24 base/power_monitor/power_monitor_device_source_mac.mm:24: bool PowerMonitorDeviceSource::IsOnBatteryPowerImpl() { how often do we poll this? ...
4 years, 3 months ago (2016-09-20 00:05:08 UTC) #4
DaleCurtis
https://codereview.chromium.org/2351593004/diff/20001/base/power_monitor/power_monitor_device_source_mac.mm File base/power_monitor/power_monitor_device_source_mac.mm (right): https://codereview.chromium.org/2351593004/diff/20001/base/power_monitor/power_monitor_device_source_mac.mm#newcode24 base/power_monitor/power_monitor_device_source_mac.mm:24: bool PowerMonitorDeviceSource::IsOnBatteryPowerImpl() { On 2016/09/20 at 00:05:08, Nico wrote: ...
4 years, 3 months ago (2016-09-20 00:15:13 UTC) #5
shrike
+rsesek@ rsesek@ - is this another case where we should be waiting for a notification ...
4 years, 3 months ago (2016-09-20 17:09:10 UTC) #8
DaleCurtis
I'm planning to use a notification + cached value update like battery status monitor does; ...
4 years, 3 months ago (2016-09-20 18:18:40 UTC) #9
Robert Sesek
https://codereview.chromium.org/2351593004/diff/20001/base/power_monitor/power_monitor_device_source_mac.mm File base/power_monitor/power_monitor_device_source_mac.mm (right): https://codereview.chromium.org/2351593004/diff/20001/base/power_monitor/power_monitor_device_source_mac.mm#newcode24 base/power_monitor/power_monitor_device_source_mac.mm:24: bool PowerMonitorDeviceSource::IsOnBatteryPowerImpl() { On 2016/09/20 00:15:13, DaleCurtis wrote: > ...
4 years, 3 months ago (2016-09-20 18:19:56 UTC) #11
Robert Sesek
On 2016/09/20 18:18:40, DaleCurtis wrote: > I'm planning to use a notification + cached value ...
4 years, 3 months ago (2016-09-20 18:23:35 UTC) #12
shrike
On 2016/09/20 18:23:35, Robert Sesek wrote: > On 2016/09/20 18:18:40, DaleCurtis wrote: > > I'm ...
4 years, 3 months ago (2016-09-20 18:56:19 UTC) #13
DaleCurtis
On 2016/09/20 at 18:56:19, shrike wrote: > On 2016/09/20 18:23:35, Robert Sesek wrote: > > ...
4 years, 3 months ago (2016-09-20 19:07:25 UTC) #14
shrike
On 2016/09/20 19:07:25, DaleCurtis wrote: > I meant client's polling the PowerMonitor. But, actually I ...
4 years, 3 months ago (2016-09-20 19:08:31 UTC) #15
DaleCurtis
Okay this should be ready to go for review. Notably I've also fixed the initial ...
4 years, 3 months ago (2016-09-21 22:49:13 UTC) #17
DaleCurtis
https://codereview.chromium.org/2351593004/diff/20001/base/BUILD.gn File base/BUILD.gn (right): https://codereview.chromium.org/2351593004/diff/20001/base/BUILD.gn#newcode1310 base/BUILD.gn:1310: sources -= [ "power_monitor/power_monitor_device_source_posix.cc" ] On 2016/09/20 at 00:04:13, ...
4 years, 3 months ago (2016-09-21 22:49:39 UTC) #18
DaleCurtis
Hmm, looks like Android and iOS need some work. Will ping when fixed.
4 years, 3 months ago (2016-09-22 02:13:56 UTC) #35
DaleCurtis
Phew, 7 iterations later all the bots now pass. PTAL.
4 years, 3 months ago (2016-09-23 23:53:49 UTC) #42
Robert Sesek
LGTM https://codereview.chromium.org/2351593004/diff/140001/base/power_monitor/power_monitor_device_source.h File base/power_monitor/power_monitor_device_source.h (right): https://codereview.chromium.org/2351593004/diff/140001/base/power_monitor/power_monitor_device_source.h#newcode28 base/power_monitor/power_monitor_device_source.h:28: class BASE_EXPORT PowerMonitorDeviceSource : public PowerMonitorSource { This ...
4 years, 2 months ago (2016-09-26 22:21:19 UTC) #46
DaleCurtis
thakis: Ping?
4 years, 2 months ago (2016-09-27 17:04:17 UTC) #47
Nico
lgtm https://codereview.chromium.org/2351593004/diff/140001/base/power_monitor/power_monitor_device_source_ios.mm File base/power_monitor/power_monitor_device_source_ios.mm (right): https://codereview.chromium.org/2351593004/diff/140001/base/power_monitor/power_monitor_device_source_ios.mm#newcode11 base/power_monitor/power_monitor_device_source_ios.mm:11: bool PowerMonitorDeviceSource::IsOnBatteryPowerImpl() { Is this used by anything ...
4 years, 2 months ago (2016-09-27 20:19:27 UTC) #48
DaleCurtis
Thanks for review! https://codereview.chromium.org/2351593004/diff/140001/base/power_monitor/power_monitor_device_source_ios.mm File base/power_monitor/power_monitor_device_source_ios.mm (right): https://codereview.chromium.org/2351593004/diff/140001/base/power_monitor/power_monitor_device_source_ios.mm#newcode11 base/power_monitor/power_monitor_device_source_ios.mm:11: bool PowerMonitorDeviceSource::IsOnBatteryPowerImpl() { On 2016/09/27 at ...
4 years, 2 months ago (2016-09-27 20:53:42 UTC) #50
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2351593004/140001
4 years, 2 months ago (2016-09-27 20:54:03 UTC) #51
Nico
https://codereview.chromium.org/2351593004/diff/140001/base/power_monitor/power_monitor_device_source.h File base/power_monitor/power_monitor_device_source.h (right): https://codereview.chromium.org/2351593004/diff/140001/base/power_monitor/power_monitor_device_source.h#newcode84 base/power_monitor/power_monitor_device_source.h:84: bool IsOnBatteryPowerImpl() override; Ah, because this is in the ...
4 years, 2 months ago (2016-09-27 20:59:33 UTC) #52
commit-bot: I haz the power
Committed patchset #7 (id:140001)
4 years, 2 months ago (2016-09-27 21:56:13 UTC) #53
commit-bot: I haz the power
4 years, 2 months ago (2016-09-27 22:00:00 UTC) #55
Message was sent while issue was closed.
Patchset 7 (id:??) landed as
https://crrev.com/8621728865773df979e061a3b4ab5e6ef80a2cc2
Cr-Commit-Position: refs/heads/master@{#421350}

Powered by Google App Engine
This is Rietveld 408576698