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

Issue 398683006: Battery Status API: implementation for Mac OS. (Closed)

Created:
6 years, 5 months ago by timvolodine
Modified:
6 years, 4 months ago
CC:
chromium-reviews, darin-cc_chromium.org, jam
Visibility:
Public.

Description

Battery Status API: implementation for Mac OS. Implementation of Battery Status API for the Mac platform. BUG=122593 TEST=http://jsbin.com/battery-status-diagnostics (manual) Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=286562

Patch Set 1 #

Patch Set 2 : fix browsertests #

Total comments: 32

Patch Set 3 : fixed comments #

Total comments: 36

Patch Set 4 : fix Mark's comments #

Patch Set 5 : add DCHECK and source transport type check #

Patch Set 6 : SInt32 -> SInt64 #

Total comments: 8

Patch Set 7 : fix Robert's comments #

Total comments: 6

Patch Set 8 : comments + rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+270 lines, -1 line) Patch
A content/browser/battery_status/battery_status_manager_mac.cc View 1 2 3 4 5 6 7 1 chunk +268 lines, -0 lines 0 comments Download
M content/content_browser.gypi View 1 2 3 4 5 6 7 2 chunks +2 lines, -1 line 0 comments Download

Messages

Total messages: 26 (0 generated)
timvolodine
6 years, 5 months ago (2014-07-16 16:24:26 UTC) #1
timvolodine
+ Mark as mac expert
6 years, 5 months ago (2014-07-16 16:28:15 UTC) #2
Mark Mentovai
I think you were confused about how booleans are stored in CFDictionaries. Now that I’ve ...
6 years, 5 months ago (2014-07-17 14:08:31 UTC) #3
Robert Sesek
https://codereview.chromium.org/398683006/diff/20001/content/browser/battery_status/battery_status_manager_mac.cc File content/browser/battery_status/battery_status_manager_mac.cc (right): https://codereview.chromium.org/398683006/diff/20001/content/browser/battery_status/battery_status_manager_mac.cc#newcode30 content/browser/battery_status/battery_status_manager_mac.cc:30: (CFNumberRef)CFDictionaryGetValue(description, key); On 2014/07/17 14:08:31, Mark Mentovai wrote: > ...
6 years, 5 months ago (2014-07-17 15:16:41 UTC) #4
timvolodine
thanks Mark and Robert for the comments! I've uploaded a new patch that should address ...
6 years, 5 months ago (2014-07-22 18:04:44 UTC) #5
Mark Mentovai
Robert said he might want to take another look at this too. https://codereview.chromium.org/398683006/diff/40001/content/browser/battery_status/battery_status_manager_mac.cc File content/browser/battery_status/battery_status_manager_mac.cc ...
6 years, 5 months ago (2014-07-24 01:32:22 UTC) #6
Mark Mentovai
P.S. Thanks for the spec link.
6 years, 5 months ago (2014-07-24 01:32:54 UTC) #7
timvolodine
https://codereview.chromium.org/398683006/diff/40001/content/browser/battery_status/battery_status_manager_mac.cc File content/browser/battery_status/battery_status_manager_mac.cc (right): https://codereview.chromium.org/398683006/diff/40001/content/browser/battery_status/battery_status_manager_mac.cc#newcode27 content/browser/battery_status/battery_status_manager_mac.cc:27: static CFIndex GetValueAsCFIndex(CFDictionaryRef description, On 2014/07/24 01:32:22, Mark Mentovai ...
6 years, 5 months ago (2014-07-24 16:03:20 UTC) #8
Mark Mentovai
https://codereview.chromium.org/398683006/diff/40001/content/browser/battery_status/battery_status_manager_mac.cc File content/browser/battery_status/battery_status_manager_mac.cc (right): https://codereview.chromium.org/398683006/diff/40001/content/browser/battery_status/battery_status_manager_mac.cc#newcode27 content/browser/battery_status/battery_status_manager_mac.cc:27: static CFIndex GetValueAsCFIndex(CFDictionaryRef description, timvolodine wrote: > On 2014/07/24 ...
6 years, 5 months ago (2014-07-24 16:08:52 UTC) #9
timvolodine
https://codereview.chromium.org/398683006/diff/40001/content/browser/battery_status/battery_status_manager_mac.cc File content/browser/battery_status/battery_status_manager_mac.cc (right): https://codereview.chromium.org/398683006/diff/40001/content/browser/battery_status/battery_status_manager_mac.cc#newcode27 content/browser/battery_status/battery_status_manager_mac.cc:27: static CFIndex GetValueAsCFIndex(CFDictionaryRef description, On 2014/07/24 16:08:52, Mark Mentovai ...
6 years, 5 months ago (2014-07-24 16:33:43 UTC) #10
Mark Mentovai
https://codereview.chromium.org/398683006/diff/40001/content/browser/battery_status/battery_status_manager_mac.cc File content/browser/battery_status/battery_status_manager_mac.cc (right): https://codereview.chromium.org/398683006/diff/40001/content/browser/battery_status/battery_status_manager_mac.cc#newcode27 content/browser/battery_status/battery_status_manager_mac.cc:27: static CFIndex GetValueAsCFIndex(CFDictionaryRef description, timvolodine wrote: > yes, my ...
6 years, 5 months ago (2014-07-24 17:03:46 UTC) #11
timvolodine
fixed comments, also added transport type check to skip potential attached UPS devices. https://codereview.chromium.org/398683006/diff/40001/content/browser/battery_status/battery_status_manager_mac.cc File ...
6 years, 5 months ago (2014-07-25 12:46:08 UTC) #12
Mark Mentovai
https://codereview.chromium.org/398683006/diff/40001/content/browser/battery_status/battery_status_manager_mac.cc File content/browser/battery_status/battery_status_manager_mac.cc (right): https://codereview.chromium.org/398683006/diff/40001/content/browser/battery_status/battery_status_manager_mac.cc#newcode27 content/browser/battery_status/battery_status_manager_mac.cc:27: static CFIndex GetValueAsCFIndex(CFDictionaryRef description, timvolodine wrote: > On 2014/07/24 ...
6 years, 5 months ago (2014-07-25 12:57:39 UTC) #13
timvolodine
https://codereview.chromium.org/398683006/diff/40001/content/browser/battery_status/battery_status_manager_mac.cc File content/browser/battery_status/battery_status_manager_mac.cc (right): https://codereview.chromium.org/398683006/diff/40001/content/browser/battery_status/battery_status_manager_mac.cc#newcode27 content/browser/battery_status/battery_status_manager_mac.cc:27: static CFIndex GetValueAsCFIndex(CFDictionaryRef description, > 100% sure. > > ...
6 years, 5 months ago (2014-07-25 13:13:17 UTC) #14
Robert Sesek
https://codereview.chromium.org/398683006/diff/100001/content/browser/battery_status/battery_status_manager_mac.cc File content/browser/battery_status/battery_status_manager_mac.cc (right): https://codereview.chromium.org/398683006/diff/100001/content/browser/battery_status/battery_status_manager_mac.cc#newcode64 content/browser/battery_status/battery_status_manager_mac.cc:64: GetValueAsBoolean(description, CFSTR(kIOPSIsChargingKey), true); Why assume charging? https://codereview.chromium.org/398683006/diff/100001/content/browser/battery_status/battery_status_manager_mac.cc#newcode79 content/browser/battery_status/battery_status_manager_mac.cc:79: status.level ...
6 years, 5 months ago (2014-07-25 14:48:44 UTC) #15
timvolodine
https://codereview.chromium.org/398683006/diff/100001/content/browser/battery_status/battery_status_manager_mac.cc File content/browser/battery_status/battery_status_manager_mac.cc (right): https://codereview.chromium.org/398683006/diff/100001/content/browser/battery_status/battery_status_manager_mac.cc#newcode64 content/browser/battery_status/battery_status_manager_mac.cc:64: GetValueAsBoolean(description, CFSTR(kIOPSIsChargingKey), true); On 2014/07/25 14:48:44, rsesek wrote: > ...
6 years, 5 months ago (2014-07-25 18:17:51 UTC) #16
Robert Sesek
LGTM
6 years, 5 months ago (2014-07-25 18:26:39 UTC) #17
timvolodine
On 2014/07/25 18:26:39, rsesek wrote: > LGTM thanks for the review! Mark, I assume you ...
6 years, 5 months ago (2014-07-25 20:11:47 UTC) #18
mlamouri (slow - plz ping)
https://codereview.chromium.org/398683006/diff/120001/content/browser/battery_status/battery_status_manager_mac.cc File content/browser/battery_status/battery_status_manager_mac.cc (right): https://codereview.chromium.org/398683006/diff/120001/content/browser/battery_status/battery_status_manager_mac.cc#newcode88 content/browser/battery_status/battery_status_manager_mac.cc:88: status.chargingTime = (charging_time != -1) nit: you don't need ...
6 years, 5 months ago (2014-07-25 22:14:52 UTC) #19
Mark Mentovai
LGTM
6 years, 5 months ago (2014-07-25 22:31:59 UTC) #20
timvolodine
https://codereview.chromium.org/398683006/diff/120001/content/browser/battery_status/battery_status_manager_mac.cc File content/browser/battery_status/battery_status_manager_mac.cc (right): https://codereview.chromium.org/398683006/diff/120001/content/browser/battery_status/battery_status_manager_mac.cc#newcode88 content/browser/battery_status/battery_status_manager_mac.cc:88: status.chargingTime = (charging_time != -1) On 2014/07/25 22:14:51, Mounir ...
6 years, 4 months ago (2014-07-30 17:40:52 UTC) #21
timvolodine
The CQ bit was checked by timvolodine@chromium.org
6 years, 4 months ago (2014-07-30 17:55:28 UTC) #22
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/timvolodine@chromium.org/398683006/140001
6 years, 4 months ago (2014-07-30 17:57:21 UTC) #23
mlamouri (slow - plz ping)
https://codereview.chromium.org/398683006/diff/120001/content/browser/battery_status/battery_status_manager_mac.cc File content/browser/battery_status/battery_status_manager_mac.cc (right): https://codereview.chromium.org/398683006/diff/120001/content/browser/battery_status/battery_status_manager_mac.cc#newcode102 content/browser/battery_status/battery_status_manager_mac.cc:102: GetValueAsSInt64(description, CFSTR(kIOPSTimeToEmptyKey), -1); On 2014/07/30 17:40:52, timvolodine wrote: > ...
6 years, 4 months ago (2014-07-30 18:03:25 UTC) #24
commit-bot: I haz the power
Change committed as 286562
6 years, 4 months ago (2014-07-30 18:12:34 UTC) #25
timvolodine
6 years, 4 months ago (2014-07-31 14:10:52 UTC) #26
Message was sent while issue was closed.
https://codereview.chromium.org/398683006/diff/120001/content/browser/battery...
File content/browser/battery_status/battery_status_manager_mac.cc (right):

https://codereview.chromium.org/398683006/diff/120001/content/browser/battery...
content/browser/battery_status/battery_status_manager_mac.cc:102:
GetValueAsSInt64(description, CFSTR(kIOPSTimeToEmptyKey), -1);
On 2014/07/30 18:03:25, Mounir Lamouri wrote:
> On 2014/07/30 17:40:52, timvolodine wrote:
> > On 2014/07/25 22:14:51, Mounir Lamouri wrote:
> > > What about using this instead:
> > >
> >
>
https://developer.apple.com/library/mac/Documentation/IOKit/Reference/IOPower...
> > > 
> > > It will do the logic of checking whether you are on battery, etc.
Basically
> > > leaves the entire logic to the platform which seems better IMO.
> > 
> > yes, IOPSGetTimeRemainingEstimate provides an aggregated view over all
> sources,
> > something we could potentially use when implementing multiple batteries in a
> > follow-up.
> 
> Why not doing that change in this CL? It seems fairly simple and future-proof.

According to the documentation this function provides aggregated result over all
sources, which would currently be inconsistent with the other fields we compute
based on a single power source.

Powered by Google App Engine
This is Rietveld 408576698