checkPermissionStatus method

  1. @override
Future<PermissionStatus> checkPermissionStatus(
  1. Permission permission
)
override

Implementation

@override
Future<PermissionStatus> checkPermissionStatus(Permission permission) async {
  if (permission == Permission.notification) {
    return _readNotificationPermission();
  }

  final String? name = _permissionsApiName(permission);
  if (name == null) return PermissionStatus.denied;

  try {
    final web.PermissionStatus status = await web.window.navigator.permissions
        .query(_PermissionDescriptor(name: name).jsify()! as JSObject)
        .toDart;
    return _mapBrowserState(status.state);
  } catch (_) {
    return PermissionStatus.denied;
  }
}