checkBrowserCapabilities method
Implementation
Future<Map<String, dynamic>> checkBrowserCapabilities() async {
final capabilities = <String, dynamic>{};
// Check protocol and hostname
capabilities['protocol'] = web.window.location.protocol;
capabilities['hostname'] = web.window.location.hostname;
capabilities['isHttps'] = web.window.location.protocol.startsWith('https');
capabilities['isLocalhost'] = web.window.location.hostname == 'localhost';
// Check media devices
capabilities['mediaDevices'] = true;
capabilities['getUserMedia'] = true;
// Check geolocation
capabilities['geolocation'] = true;
capabilities['getCurrentPosition'] = true;
// Check notifications
try {
capabilities['notifications'] = true;
capabilities['notificationPermission'] = web.Notification.permission;
} catch (e) {
capabilities['notifications'] = false;
capabilities['notificationError'] = e.toString();
}
// Check permissions API
capabilities['permissionsAPI'] = true;
// Check user agent for debugging
capabilities['userAgent'] = web.window.navigator.userAgent;
return capabilities;
}