Skip to content

Exception in JS when accessing result of window.navigator.getBattery() #27253

Closed
@denniskaselow

Description

@denniskaselow

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"

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions