Closed
Description
Running this code in Dartium prints 1
:
var batteryManager = await window.navigator.getBattery();
print(batteryManager.level);
Compiling it to JS and running it in another browser throws an exception:
Uncaught js_helper.dart:1729
wrapException @ js_helper.dart:1729
call$0 @ async_patch.dart:561
_microtaskLoop @ schedule_microtask.dart:41
dart._startMicrotaskLoop @ schedule_microtask.dart:50
call$1 @ async_patch.dart:54
call$0 @ js_helper.dart:2409
eval$1 @ isolate_helper.dart:462
_callInIsolate @ isolate_helper.dart:54
invokeClosure @ js_helper.dart:2409
(anonymous function) @ js_helper.dart:2429
Additionally, batteryManager
remains a [object Promise]
, even after multiple awaits. It's never returning the BatteryManager
-object.
The same exceptions happens if I run this code:
window.navigator.getBattery().then((_) {
print('test');
});
Running this JS code natively works fine:
navigator.getBattery().then(function(battery) {
console.log(battery.level);
});
Dart VM version: 1.20.0-dev.1.0 (Tue Aug 30 01:45:01 2016) on "windows_x64"