hasPermission method
Implementation
Future<bool> hasPermission({bool request = true}) async {
final permissions = web.window.navigator.permissions;
final permissionStatus = await permissions
.query(_PermissionDescriptor(name: 'microphone'))
.toDart;
final isGranted = permissionStatus.state == 'granted';
if (!isGranted && request) return _requestPermission();
return isGranted;
}