code format

This commit is contained in:
Lorenzo Pichilli 2022-10-11 16:19:36 +02:00
parent a3c20be1e7
commit 3b2add4199
201 changed files with 1578 additions and 1437 deletions

View File

@ -21,9 +21,7 @@ void customActionButton() {
id: 1, id: 1,
description: 'Action Button description', description: 'Action Button description',
icon: actionButtonIcon.buffer.asUint8List(), icon: actionButtonIcon.buffer.asUint8List(),
action: (url, title) { action: (url, title) {}));
}));
expect(chromeSafariBrowser.isOpened(), false); expect(chromeSafariBrowser.isOpened(), false);
await chromeSafariBrowser.open(url: TEST_URL_1); await chromeSafariBrowser.open(url: TEST_URL_1);

View File

@ -17,11 +17,7 @@ void customMenuItem() {
test('add custom menu item', () async { test('add custom menu item', () async {
var chromeSafariBrowser = MyChromeSafariBrowser(); var chromeSafariBrowser = MyChromeSafariBrowser();
chromeSafariBrowser.addMenuItem(ChromeSafariBrowserMenuItem( chromeSafariBrowser.addMenuItem(ChromeSafariBrowserMenuItem(
id: 2, id: 2, label: 'Custom item menu 1', action: (url, title) {}));
label: 'Custom item menu 1',
action: (url, title) {
}));
expect(chromeSafariBrowser.isOpened(), false); expect(chromeSafariBrowser.isOpened(), false);
await chromeSafariBrowser.open(url: TEST_URL_1); await chromeSafariBrowser.open(url: TEST_URL_1);

View File

@ -3,16 +3,23 @@ final TEST_CROSS_PLATFORM_URL_1 = Uri.parse('https://flutter.dev/');
final TEST_CROSS_PLATFORM_URL_2 = Uri.parse('https://www.bing.com/'); final TEST_CROSS_PLATFORM_URL_2 = Uri.parse('https://www.bing.com/');
final TEST_URL_1 = Uri.parse('https://github.com/flutter'); final TEST_URL_1 = Uri.parse('https://github.com/flutter');
final TEST_URL_2 = Uri.parse('https://www.google.com/'); final TEST_URL_2 = Uri.parse('https://www.google.com/');
final TEST_URL_3 = Uri.parse('https://github.com/pichillilorenzo/flutter_inappwebview'); final TEST_URL_3 =
Uri.parse('https://github.com/pichillilorenzo/flutter_inappwebview');
final TEST_URL_4 = Uri.parse('https://www.youtube.com/'); final TEST_URL_4 = Uri.parse('https://www.youtube.com/');
final TEST_URL_EXAMPLE = Uri.parse('https://www.example.com/'); final TEST_URL_EXAMPLE = Uri.parse('https://www.example.com/');
final TEST_URL_HTTP_EXAMPLE = Uri.parse('http://www.example.com/'); final TEST_URL_HTTP_EXAMPLE = Uri.parse('http://www.example.com/');
final TEST_URL_404 = Uri.parse('https://google.com/404'); final TEST_URL_404 = Uri.parse('https://google.com/404');
final TEST_WEB_PLATFORM_BASE_URL = Uri.parse(Uri.base.toString().replaceFirst("/#/", "/")); final TEST_WEB_PLATFORM_BASE_URL =
final TEST_WEB_PLATFORM_URL_1 = Uri.parse(TEST_WEB_PLATFORM_BASE_URL.toString() + 'page.html'); Uri.parse(Uri.base.toString().replaceFirst("/#/", "/"));
final TEST_WEB_PLATFORM_URL_2 = Uri.parse(TEST_WEB_PLATFORM_BASE_URL.toString() + 'page-2.html'); final TEST_WEB_PLATFORM_URL_1 =
final TEST_WEB_PLATFORM_URL_3 = Uri.parse(TEST_WEB_PLATFORM_BASE_URL.toString() + 'heavy-page.html'); Uri.parse(TEST_WEB_PLATFORM_BASE_URL.toString() + 'page.html');
final TEST_WEB_PLATFORM_URL_2 =
Uri.parse(TEST_WEB_PLATFORM_BASE_URL.toString() + 'page-2.html');
final TEST_WEB_PLATFORM_URL_3 =
Uri.parse(TEST_WEB_PLATFORM_BASE_URL.toString() + 'heavy-page.html');
final TEST_NOT_A_WEBSITE_URL = Uri.parse('https://www.notawebsite..com/'); final TEST_NOT_A_WEBSITE_URL = Uri.parse('https://www.notawebsite..com/');
final TEST_CHROME_SAFE_BROWSING_MALWARE = Uri.parse('chrome://safe-browsing/match?type=malware'); final TEST_CHROME_SAFE_BROWSING_MALWARE =
Uri.parse('chrome://safe-browsing/match?type=malware');
final TEST_PERMISSION_SITE = Uri.parse('https://permission.site/'); final TEST_PERMISSION_SITE = Uri.parse('https://permission.site/');
final TEST_SERVICE_WORKER_URL = Uri.parse('https://mdn.github.io/dom-examples/service-worker/simple-service-worker/'); final TEST_SERVICE_WORKER_URL = Uri.parse(
'https://mdn.github.io/dom-examples/service-worker/simple-service-worker/');

View File

@ -9,10 +9,10 @@ void findInteractions() {
final shouldSkip = kIsWeb final shouldSkip = kIsWeb
? true ? true
: ![ : ![
TargetPlatform.android, TargetPlatform.android,
TargetPlatform.iOS, TargetPlatform.iOS,
TargetPlatform.macOS, TargetPlatform.macOS,
].contains(defaultTargetPlatform); ].contains(defaultTargetPlatform);
testWidgets('find interactions', (WidgetTester tester) async { testWidgets('find interactions', (WidgetTester tester) async {
final Completer controllerCompleter = Completer<InAppWebViewController>(); final Completer controllerCompleter = Completer<InAppWebViewController>();
@ -27,9 +27,7 @@ void findInteractions() {
initialFile: "test_assets/in_app_webview_initial_file_test.html", initialFile: "test_assets/in_app_webview_initial_file_test.html",
findInteractionController: findInteractionController, findInteractionController: findInteractionController,
initialSettings: InAppWebViewSettings( initialSettings: InAppWebViewSettings(
clearCache: true, clearCache: true, isFindInteractionEnabled: true),
isFindInteractionEnabled: true
),
onWebViewCreated: (controller) { onWebViewCreated: (controller) {
controllerCompleter.complete(controller); controllerCompleter.complete(controller);
}, },
@ -46,17 +44,23 @@ void findInteractions() {
await Future.delayed(Duration(seconds: 1)); await Future.delayed(Duration(seconds: 1));
const firstSearchText = "InAppWebViewInitialFileTest"; const firstSearchText = "InAppWebViewInitialFileTest";
await expectLater(findInteractionController.findAllAsync(find: firstSearchText), completes); await expectLater(
if ([TargetPlatform.iOS, TargetPlatform.macOS].contains(defaultTargetPlatform)) { findInteractionController.findAllAsync(find: firstSearchText),
completes);
if ([TargetPlatform.iOS, TargetPlatform.macOS]
.contains(defaultTargetPlatform)) {
expect(await findInteractionController.getSearchText(), firstSearchText); expect(await findInteractionController.getSearchText(), firstSearchText);
final session = await findInteractionController.getActiveFindSession(); final session = await findInteractionController.getActiveFindSession();
expect(session!.resultCount, 2); expect(session!.resultCount, 2);
} }
await expectLater(findInteractionController.findNext(forward: true), completes); await expectLater(
await expectLater(findInteractionController.findNext(forward: false), completes); findInteractionController.findNext(forward: true), completes);
await expectLater(
findInteractionController.findNext(forward: false), completes);
await expectLater(findInteractionController.clearMatches(), completes); await expectLater(findInteractionController.clearMatches(), completes);
if ([TargetPlatform.iOS, TargetPlatform.macOS].contains(defaultTargetPlatform)) { if ([TargetPlatform.iOS, TargetPlatform.macOS]
.contains(defaultTargetPlatform)) {
const secondSearchText = "text"; const secondSearchText = "text";
await expectLater( await expectLater(
findInteractionController.setSearchText(secondSearchText), completes); findInteractionController.setSearchText(secondSearchText), completes);
@ -64,7 +68,8 @@ void findInteractions() {
findInteractionController.presentFindNavigator(), completes); findInteractionController.presentFindNavigator(), completes);
expect(await findInteractionController.getSearchText(), secondSearchText); expect(await findInteractionController.getSearchText(), secondSearchText);
expect(await findInteractionController.isFindNavigatorVisible(), true); expect(await findInteractionController.isFindNavigatorVisible(), true);
await expectLater(findInteractionController.updateResultCount(), completes); await expectLater(
findInteractionController.updateResultCount(), completes);
await expectLater( await expectLater(
findInteractionController.dismissFindNavigator(), completes); findInteractionController.dismissFindNavigator(), completes);
expect(await findInteractionController.isFindNavigatorVisible(), false); expect(await findInteractionController.isFindNavigatorVisible(), false);
@ -91,9 +96,7 @@ void findInteractions() {
key: GlobalKey(), key: GlobalKey(),
initialFile: "test_assets/in_app_webview_initial_file_test.html", initialFile: "test_assets/in_app_webview_initial_file_test.html",
initialSettings: InAppWebViewSettings( initialSettings: InAppWebViewSettings(
clearCache: true, clearCache: true, isFindInteractionEnabled: false),
isFindInteractionEnabled: false
),
findInteractionController: findInteractionController, findInteractionController: findInteractionController,
onWebViewCreated: (controller) { onWebViewCreated: (controller) {
controllerCompleter.complete(controller); controllerCompleter.complete(controller);

View File

@ -7,20 +7,20 @@ import 'package:flutter_test/flutter_test.dart';
import '../constants.dart'; import '../constants.dart';
void runAndDispose() { void runAndDispose() {
final shouldSkip = kIsWeb ? false : final shouldSkip = kIsWeb
![ ? false
TargetPlatform.android, : ![
TargetPlatform.iOS, TargetPlatform.android,
TargetPlatform.macOS, TargetPlatform.iOS,
].contains(defaultTargetPlatform); TargetPlatform.macOS,
].contains(defaultTargetPlatform);
test('run and dispose', () async { test('run and dispose', () async {
final Completer controllerCompleter = Completer<InAppWebViewController>(); final Completer controllerCompleter = Completer<InAppWebViewController>();
final Completer<void> pageLoaded = Completer<void>(); final Completer<void> pageLoaded = Completer<void>();
var headlessWebView = new HeadlessInAppWebView( var headlessWebView = new HeadlessInAppWebView(
initialUrlRequest: initialUrlRequest: URLRequest(url: TEST_CROSS_PLATFORM_URL_1),
URLRequest(url: TEST_CROSS_PLATFORM_URL_1),
onWebViewCreated: (controller) { onWebViewCreated: (controller) {
controllerCompleter.complete(controller); controllerCompleter.complete(controller);
}, },
@ -32,8 +32,7 @@ void runAndDispose() {
await headlessWebView.run(); await headlessWebView.run();
expect(headlessWebView.isRunning(), true); expect(headlessWebView.isRunning(), true);
final InAppWebViewController controller = final InAppWebViewController controller = await controllerCompleter.future;
await controllerCompleter.future;
await pageLoaded.future; await pageLoaded.future;
final String? url = (await controller.getUrl())?.toString(); final String? url = (await controller.getUrl())?.toString();

View File

@ -20,8 +20,7 @@ void takeScreenshot() {
final Completer<void> pageLoaded = Completer<void>(); final Completer<void> pageLoaded = Completer<void>();
var headlessWebView = new HeadlessInAppWebView( var headlessWebView = new HeadlessInAppWebView(
initialUrlRequest: initialUrlRequest: URLRequest(url: TEST_URL_1),
URLRequest(url: TEST_URL_1),
onWebViewCreated: (controller) { onWebViewCreated: (controller) {
controllerCompleter.complete(controller); controllerCompleter.complete(controller);
}, },
@ -32,8 +31,7 @@ void takeScreenshot() {
await headlessWebView.run(); await headlessWebView.run();
expect(headlessWebView.isRunning(), true); expect(headlessWebView.isRunning(), true);
final InAppWebViewController controller = final InAppWebViewController controller = await controllerCompleter.future;
await controllerCompleter.future;
await pageLoaded.future; await pageLoaded.future;
final String? url = (await controller.getUrl())?.toString(); final String? url = (await controller.getUrl())?.toString();

View File

@ -60,10 +60,10 @@ void initialUrlRequest() {
final shouldSkipTest1 = kIsWeb final shouldSkipTest1 = kIsWeb
? false ? false
: ![ : ![
TargetPlatform.android, TargetPlatform.android,
TargetPlatform.iOS, TargetPlatform.iOS,
TargetPlatform.macOS, TargetPlatform.macOS,
].contains(defaultTargetPlatform); ].contains(defaultTargetPlatform);
testWidgets('basic', (WidgetTester tester) async { testWidgets('basic', (WidgetTester tester) async {
final Completer<void> pageLoaded = Completer<void>(); final Completer<void> pageLoaded = Completer<void>();
@ -87,7 +87,7 @@ void initialUrlRequest() {
await pageLoaded.future; await pageLoaded.future;
final InAppWebViewController controller = final InAppWebViewController controller =
await controllerCompleter.future; await controllerCompleter.future;
final String? currentUrl = (await controller.getUrl())?.toString(); final String? currentUrl = (await controller.getUrl())?.toString();
expect(currentUrl, TEST_CROSS_PLATFORM_URL_1.toString()); expect(currentUrl, TEST_CROSS_PLATFORM_URL_1.toString());

View File

@ -8,11 +8,12 @@ import 'package:flutter_test/flutter_test.dart';
import 'package:path_provider/path_provider.dart'; import 'package:path_provider/path_provider.dart';
void loadFileUrl() { void loadFileUrl() {
final shouldSkip = kIsWeb ? true : final shouldSkip = kIsWeb
![ ? true
TargetPlatform.iOS, : ![
TargetPlatform.macOS, TargetPlatform.iOS,
].contains(defaultTargetPlatform); TargetPlatform.macOS,
].contains(defaultTargetPlatform);
group('load file URL', () { group('load file URL', () {
late Directory appSupportDir; late Directory appSupportDir;
@ -83,8 +84,8 @@ void loadFileUrl() {
initialUrlRequest: initialUrlRequest:
URLRequest(url: Uri.parse('file://${fileHtml.path}')), URLRequest(url: Uri.parse('file://${fileHtml.path}')),
initialSettings: InAppWebViewSettings( initialSettings: InAppWebViewSettings(
allowingReadAccessTo: allowingReadAccessTo:
Uri.parse('file://${appSupportDir.path}/')), Uri.parse('file://${appSupportDir.path}/')),
onConsoleMessage: (controller, consoleMessage) { onConsoleMessage: (controller, consoleMessage) {
consoleMessageCompleter.complete(consoleMessage); consoleMessageCompleter.complete(consoleMessage);
}, },

View File

@ -9,12 +9,13 @@ import 'package:flutter_test/flutter_test.dart';
import '../constants.dart'; import '../constants.dart';
void loadUrl() { void loadUrl() {
final shouldSkip1 = kIsWeb ? false : final shouldSkip1 = kIsWeb
![ ? false
TargetPlatform.android, : ![
TargetPlatform.iOS, TargetPlatform.android,
TargetPlatform.macOS, TargetPlatform.iOS,
].contains(defaultTargetPlatform); TargetPlatform.macOS,
].contains(defaultTargetPlatform);
var initialUrl = !kIsWeb ? TEST_URL_1 : TEST_WEB_PLATFORM_URL_1; var initialUrl = !kIsWeb ? TEST_URL_1 : TEST_WEB_PLATFORM_URL_1;
@ -28,23 +29,23 @@ void loadUrl() {
textDirection: TextDirection.ltr, textDirection: TextDirection.ltr,
child: InAppWebView( child: InAppWebView(
key: GlobalKey(), key: GlobalKey(),
initialUrlRequest: initialUrlRequest: URLRequest(url: initialUrl),
URLRequest(url: initialUrl),
onWebViewCreated: (controller) { onWebViewCreated: (controller) {
controllerCompleter.complete(controller); controllerCompleter.complete(controller);
}, },
onLoadStop: (controller, url) { onLoadStop: (controller, url) {
if (url.toString() == initialUrl.toString() && !firstUrlLoad.isCompleted) { if (url.toString() == initialUrl.toString() &&
!firstUrlLoad.isCompleted) {
firstUrlLoad.complete(url.toString()); firstUrlLoad.complete(url.toString());
} else if (url.toString() == TEST_CROSS_PLATFORM_URL_1.toString() && !loadedUrl.isCompleted) { } else if (url.toString() == TEST_CROSS_PLATFORM_URL_1.toString() &&
!loadedUrl.isCompleted) {
loadedUrl.complete(url.toString()); loadedUrl.complete(url.toString());
} }
}, },
), ),
), ),
); );
final InAppWebViewController controller = final InAppWebViewController controller = await controllerCompleter.future;
await controllerCompleter.future;
expect(await firstUrlLoad.future, initialUrl.toString()); expect(await firstUrlLoad.future, initialUrl.toString());
await controller.loadUrl( await controller.loadUrl(
@ -52,11 +53,12 @@ void loadUrl() {
expect(await loadedUrl.future, TEST_CROSS_PLATFORM_URL_1.toString()); expect(await loadedUrl.future, TEST_CROSS_PLATFORM_URL_1.toString());
}, skip: shouldSkip1); }, skip: shouldSkip1);
final shouldSkip2 = kIsWeb ? true : final shouldSkip2 = kIsWeb
![ ? true
TargetPlatform.iOS, : ![
TargetPlatform.macOS, TargetPlatform.iOS,
].contains(defaultTargetPlatform); TargetPlatform.macOS,
].contains(defaultTargetPlatform);
testWidgets('loadSimulatedRequest', (WidgetTester tester) async { testWidgets('loadSimulatedRequest', (WidgetTester tester) async {
final Completer controllerCompleter = Completer<InAppWebViewController>(); final Completer controllerCompleter = Completer<InAppWebViewController>();
@ -68,31 +70,34 @@ void loadUrl() {
textDirection: TextDirection.ltr, textDirection: TextDirection.ltr,
child: InAppWebView( child: InAppWebView(
key: GlobalKey(), key: GlobalKey(),
initialUrlRequest: initialUrlRequest: URLRequest(url: initialUrl),
URLRequest(url: initialUrl),
onWebViewCreated: (controller) { onWebViewCreated: (controller) {
controllerCompleter.complete(controller); controllerCompleter.complete(controller);
}, },
onLoadStop: (controller, url) { onLoadStop: (controller, url) {
if (url.toString() == initialUrl.toString() && !firstUrlLoad.isCompleted) { if (url.toString() == initialUrl.toString() &&
!firstUrlLoad.isCompleted) {
firstUrlLoad.complete(url.toString()); firstUrlLoad.complete(url.toString());
} else if (url.toString() == TEST_CROSS_PLATFORM_URL_1.toString() && !loadedUrl.isCompleted) { } else if (url.toString() == TEST_CROSS_PLATFORM_URL_1.toString() &&
!loadedUrl.isCompleted) {
loadedUrl.complete(url.toString()); loadedUrl.complete(url.toString());
} }
}, },
), ),
), ),
); );
final InAppWebViewController controller = final InAppWebViewController controller = await controllerCompleter.future;
await controllerCompleter.future;
expect(await firstUrlLoad.future, initialUrl.toString()); expect(await firstUrlLoad.future, initialUrl.toString());
final htmlCode = "<h1>Hello</h1>"; final htmlCode = "<h1>Hello</h1>";
await controller.loadSimulatedRequest( await controller.loadSimulatedRequest(
urlRequest: URLRequest(url: TEST_CROSS_PLATFORM_URL_1), urlRequest: URLRequest(url: TEST_CROSS_PLATFORM_URL_1),
data: Uint8List.fromList(utf8.encode(htmlCode)) data: Uint8List.fromList(utf8.encode(htmlCode)));
);
expect(await loadedUrl.future, TEST_CROSS_PLATFORM_URL_1.toString()); expect(await loadedUrl.future, TEST_CROSS_PLATFORM_URL_1.toString());
expect((await controller.evaluateJavascript(source: "document.body.innerHTML")).toString().trim(), htmlCode); expect(
(await controller.evaluateJavascript(source: "document.body.innerHTML"))
.toString()
.trim(),
htmlCode);
}, skip: shouldSkip2); }, skip: shouldSkip2);
} }

View File

@ -35,6 +35,7 @@ void onJsBeforeUnload() {
); );
final String url = await onJsBeforeUnloadCompleter.future; final String url = await onJsBeforeUnloadCompleter.future;
expect(url, endsWith("test_assets/in_app_webview_on_js_before_unload.html")); expect(
url, endsWith("test_assets/in_app_webview_on_js_before_unload.html"));
}, skip: shouldSkip); }, skip: shouldSkip);
} }

View File

@ -19,7 +19,8 @@ void onReceivedError() {
group('onReceivedError', () { group('onReceivedError', () {
testWidgets('invalid url', (WidgetTester tester) async { testWidgets('invalid url', (WidgetTester tester) async {
final Completer<String> errorUrlCompleter = Completer<String>(); final Completer<String> errorUrlCompleter = Completer<String>();
final Completer<WebResourceErrorType> errorCodeCompleter = Completer<WebResourceErrorType>(); final Completer<WebResourceErrorType> errorCodeCompleter =
Completer<WebResourceErrorType>();
await tester.pumpWidget( await tester.pumpWidget(
Directionality( Directionality(

View File

@ -103,8 +103,8 @@ void programmaticScroll() {
final shouldSkipTest2 = kIsWeb final shouldSkipTest2 = kIsWeb
? true ? true
: ![ : ![
TargetPlatform.android, TargetPlatform.android,
].contains(defaultTargetPlatform); ].contains(defaultTargetPlatform);
testWidgets( testWidgets(
'set and get scroll position on Android without Hybrid Composition', 'set and get scroll position on Android without Hybrid Composition',

View File

@ -166,9 +166,9 @@ void videoPlaybackPolicy() {
final shouldSkipTest3 = kIsWeb final shouldSkipTest3 = kIsWeb
? true ? true
: ![ : ![
TargetPlatform.iOS, TargetPlatform.iOS,
TargetPlatform.macOS, TargetPlatform.macOS,
].contains(defaultTargetPlatform); ].contains(defaultTargetPlatform);
testWidgets( testWidgets(
'Video plays fullscreen when allowsInlineMediaPlayback is false', 'Video plays fullscreen when allowsInlineMediaPlayback is false',
@ -213,9 +213,9 @@ void videoPlaybackPolicy() {
final shouldSkipTest4 = kIsWeb final shouldSkipTest4 = kIsWeb
? true ? true
: ![ : ![
TargetPlatform.iOS, TargetPlatform.iOS,
TargetPlatform.macOS, TargetPlatform.macOS,
].contains(defaultTargetPlatform); ].contains(defaultTargetPlatform);
// on Android, entering fullscreen requires user interaction // on Android, entering fullscreen requires user interaction
testWidgets('exit fullscreen event', (WidgetTester tester) async { testWidgets('exit fullscreen event', (WidgetTester tester) async {
Completer<InAppWebViewController> controllerCompleter = Completer<InAppWebViewController> controllerCompleter =

View File

@ -152,7 +152,8 @@ void webHistory() {
var url = await pageLoads.stream.first; var url = await pageLoads.stream.first;
expect(url, TEST_WEB_PLATFORM_URL_1.toString()); expect(url, TEST_WEB_PLATFORM_URL_1.toString());
await controller.evaluateJavascript(source: "document.getElementById('link-page-2').click();"); await controller.evaluateJavascript(
source: "document.getElementById('link-page-2').click();");
url = await pageLoads.stream.first; url = await pageLoads.stream.first;
expect(url, TEST_WEB_PLATFORM_URL_2.toString()); expect(url, TEST_WEB_PLATFORM_URL_2.toString());

View File

@ -19,15 +19,15 @@ void clearAndSetProxyOverride() {
final Completer controllerCompleter = Completer<InAppWebViewController>(); final Completer controllerCompleter = Completer<InAppWebViewController>();
final Completer<String> pageLoaded = Completer<String>(); final Completer<String> pageLoaded = Completer<String>();
var proxyAvailable = await WebViewFeature.isFeatureSupported( var proxyAvailable =
WebViewFeature.PROXY_OVERRIDE); await WebViewFeature.isFeatureSupported(WebViewFeature.PROXY_OVERRIDE);
if (proxyAvailable) { if (proxyAvailable) {
ProxyController proxyController = ProxyController proxyController = ProxyController.instance();
ProxyController.instance();
await proxyController.clearProxyOverride(); await proxyController.clearProxyOverride();
await proxyController.setProxyOverride(settings: ProxySettings( await proxyController.setProxyOverride(
settings: ProxySettings(
proxyRules: [ProxyRule(url: "${environment["NODE_SERVER_IP"]}:8083")], proxyRules: [ProxyRule(url: "${environment["NODE_SERVER_IP"]}:8083")],
)); ));
} }
@ -53,8 +53,17 @@ void clearAndSetProxyOverride() {
final String url = await pageLoaded.future; final String url = await pageLoaded.future;
expect(url, TEST_URL_HTTP_EXAMPLE.toString()); expect(url, TEST_URL_HTTP_EXAMPLE.toString());
expect(await controller.evaluateJavascript(source: "document.getElementById('url').innerHTML;"), TEST_URL_HTTP_EXAMPLE.toString()); expect(
expect(await controller.evaluateJavascript(source: "document.getElementById('method').innerHTML;"), "GET"); await controller.evaluateJavascript(
expect(await controller.evaluateJavascript(source: "document.getElementById('headers').innerHTML;"), isNotNull); source: "document.getElementById('url').innerHTML;"),
TEST_URL_HTTP_EXAMPLE.toString());
expect(
await controller.evaluateJavascript(
source: "document.getElementById('method').innerHTML;"),
"GET");
expect(
await controller.evaluateJavascript(
source: "document.getElementById('headers').innerHTML;"),
isNotNull);
}, skip: shouldSkip); }, skip: shouldSkip);
} }

View File

@ -3,7 +3,8 @@ import 'package:flutter_inappwebview/flutter_inappwebview.dart';
import 'package:integration_test/integration_test.dart'; import 'package:integration_test/integration_test.dart';
import 'in_app_webview/main.dart' as in_app_webview_tests; import 'in_app_webview/main.dart' as in_app_webview_tests;
import 'find_interaction_controller/main.dart' as find_interaction_controller_tests; import 'find_interaction_controller/main.dart'
as find_interaction_controller_tests;
import 'service_worker_controller/main.dart' as service_worker_controller_tests; import 'service_worker_controller/main.dart' as service_worker_controller_tests;
import 'proxy_controller/main.dart' as proxy_controller_tests; import 'proxy_controller/main.dart' as proxy_controller_tests;
import 'headless_in_app_webview/main.dart' as headless_in_app_webview_tests; import 'headless_in_app_webview/main.dart' as headless_in_app_webview_tests;

View File

@ -184,7 +184,8 @@ class ServiceWorkerController {
///This method should only be called if [WebViewFeature.isFeatureSupported] returns `true` for [WebViewFeature.REQUESTED_WITH_HEADER_CONTROL]. ///This method should only be called if [WebViewFeature.isFeatureSupported] returns `true` for [WebViewFeature.REQUESTED_WITH_HEADER_CONTROL].
/// ///
///**Official Android API**: https://developer.android.com/reference/androidx/webkit/ServiceWorkerWebSettingsCompat#setRequestedWithHeaderMode(int) ///**Official Android API**: https://developer.android.com/reference/androidx/webkit/ServiceWorkerWebSettingsCompat#setRequestedWithHeaderMode(int)
static Future<void> setRequestedWithHeaderMode(RequestedWithHeaderMode mode) async { static Future<void> setRequestedWithHeaderMode(
RequestedWithHeaderMode mode) async {
Map<String, dynamic> args = <String, dynamic>{}; Map<String, dynamic> args = <String, dynamic>{};
args.putIfAbsent("mode", () => mode.toNativeValue()); args.putIfAbsent("mode", () => mode.toNativeValue());
await _channel.invokeMethod('setRequestedWithHeaderMode', args); await _channel.invokeMethod('setRequestedWithHeaderMode', args);

View File

@ -134,7 +134,8 @@ class WebViewFeature_ {
///This feature covers [ServiceWorkerClient.shouldInterceptRequest]. ///This feature covers [ServiceWorkerClient.shouldInterceptRequest].
static const SERVICE_WORKER_SHOULD_INTERCEPT_REQUEST = static const SERVICE_WORKER_SHOULD_INTERCEPT_REQUEST =
const WebViewFeature_._internal("SERVICE_WORKER_SHOULD_INTERCEPT_REQUEST"); const WebViewFeature_._internal(
"SERVICE_WORKER_SHOULD_INTERCEPT_REQUEST");
/// ///
static const SHOULD_OVERRIDE_WITH_REDIRECTS = static const SHOULD_OVERRIDE_WITH_REDIRECTS =
@ -210,7 +211,8 @@ class WebViewFeature_ {
///This feature covers [InAppWebViewSettings.enterpriseAuthenticationAppLinkPolicyEnabled]. ///This feature covers [InAppWebViewSettings.enterpriseAuthenticationAppLinkPolicyEnabled].
static const ENTERPRISE_AUTHENTICATION_APP_LINK_POLICY = static const ENTERPRISE_AUTHENTICATION_APP_LINK_POLICY =
const WebViewFeature_._internal("ENTERPRISE_AUTHENTICATION_APP_LINK_POLICY"); const WebViewFeature_._internal(
"ENTERPRISE_AUTHENTICATION_APP_LINK_POLICY");
///Return whether a feature is supported at run-time. On devices running Android version `Build.VERSION_CODES.LOLLIPOP` and higher, ///Return whether a feature is supported at run-time. On devices running Android version `Build.VERSION_CODES.LOLLIPOP` and higher,
///this will check whether a feature is supported, depending on the combination of the desired feature, the Android version of device, ///this will check whether a feature is supported, depending on the combination of the desired feature, the Android version of device,
@ -249,7 +251,8 @@ class AndroidWebViewFeature_ {
const AndroidWebViewFeature_._internal("DISABLED_ACTION_MODE_MENU_ITEMS"); const AndroidWebViewFeature_._internal("DISABLED_ACTION_MODE_MENU_ITEMS");
/// ///
static const FORCE_DARK = const AndroidWebViewFeature_._internal("FORCE_DARK"); static const FORCE_DARK =
const AndroidWebViewFeature_._internal("FORCE_DARK");
/// ///
static const FORCE_DARK_STRATEGY = static const FORCE_DARK_STRATEGY =
@ -305,7 +308,8 @@ class AndroidWebViewFeature_ {
/// ///
static const SAFE_BROWSING_PRIVACY_POLICY_URL = static const SAFE_BROWSING_PRIVACY_POLICY_URL =
const AndroidWebViewFeature_._internal("SAFE_BROWSING_PRIVACY_POLICY_URL"); const AndroidWebViewFeature_._internal(
"SAFE_BROWSING_PRIVACY_POLICY_URL");
/// ///
static const SAFE_BROWSING_RESPONSE_BACK_TO_SAFETY = static const SAFE_BROWSING_RESPONSE_BACK_TO_SAFETY =
@ -400,7 +404,8 @@ class AndroidWebViewFeature_ {
/// ///
static const WEB_RESOURCE_REQUEST_IS_REDIRECT = static const WEB_RESOURCE_REQUEST_IS_REDIRECT =
const AndroidWebViewFeature_._internal("WEB_RESOURCE_REQUEST_IS_REDIRECT"); const AndroidWebViewFeature_._internal(
"WEB_RESOURCE_REQUEST_IS_REDIRECT");
/// ///
static const WEB_VIEW_RENDERER_CLIENT_BASIC_USAGE = static const WEB_VIEW_RENDERER_CLIENT_BASIC_USAGE =
@ -417,7 +422,7 @@ class AndroidWebViewFeature_ {
///This feature covers [InAppWebViewSettings.willSuppressErrorPage]. ///This feature covers [InAppWebViewSettings.willSuppressErrorPage].
static const SUPPRESS_ERROR_PAGE = static const SUPPRESS_ERROR_PAGE =
const AndroidWebViewFeature_._internal("SUPPRESS_ERROR_PAGE"); const AndroidWebViewFeature_._internal("SUPPRESS_ERROR_PAGE");
///This feature covers [InAppWebViewSettings.algorithmicDarkeningAllowed]. ///This feature covers [InAppWebViewSettings.algorithmicDarkeningAllowed].
static const ALGORITHMIC_DARKENING = static const ALGORITHMIC_DARKENING =
@ -429,7 +434,8 @@ class AndroidWebViewFeature_ {
///This feature covers [InAppWebViewSettings.enterpriseAuthenticationAppLinkPolicyEnabled]. ///This feature covers [InAppWebViewSettings.enterpriseAuthenticationAppLinkPolicyEnabled].
static const ENTERPRISE_AUTHENTICATION_APP_LINK_POLICY = static const ENTERPRISE_AUTHENTICATION_APP_LINK_POLICY =
const AndroidWebViewFeature_._internal("ENTERPRISE_AUTHENTICATION_APP_LINK_POLICY"); const AndroidWebViewFeature_._internal(
"ENTERPRISE_AUTHENTICATION_APP_LINK_POLICY");
///Return whether a feature is supported at run-time. On devices running Android version `Build.VERSION_CODES.LOLLIPOP` and higher, ///Return whether a feature is supported at run-time. On devices running Android version `Build.VERSION_CODES.LOLLIPOP` and higher,
///this will check whether a feature is supported, depending on the combination of the desired feature, the Android version of device, ///this will check whether a feature is supported, depending on the combination of the desired feature, the Android version of device,

View File

@ -150,7 +150,8 @@ class ContentBlockerTrigger {
} }
}); });
List<String> loadContextStringList = List<String>.from(map["load-context"] ?? []); List<String> loadContextStringList =
List<String>.from(map["load-context"] ?? []);
loadContextStringList.forEach((typeValue) { loadContextStringList.forEach((typeValue) {
var context = ContentBlockerTriggerLoadContext.fromNativeValue(typeValue); var context = ContentBlockerTriggerLoadContext.fromNativeValue(typeValue);
if (context != null) { if (context != null) {
@ -185,15 +186,17 @@ class ContentBlockerAction {
///It specify a string that defines a selector list. Use CSS identifiers as the individual selector values, separated by commas. ///It specify a string that defines a selector list. Use CSS identifiers as the individual selector values, separated by commas.
String? selector; String? selector;
ContentBlockerAction( ContentBlockerAction({required this.type, this.selector}) {
{required this.type, this.selector}) {
if (this.type == ContentBlockerActionType.CSS_DISPLAY_NONE) { if (this.type == ContentBlockerActionType.CSS_DISPLAY_NONE) {
assert(this.selector != null); assert(this.selector != null);
} }
} }
Map<String, dynamic> toMap() { Map<String, dynamic> toMap() {
Map<String, dynamic> map = {"type": type.toNativeValue(), "selector": selector}; Map<String, dynamic> map = {
"type": type.toNativeValue(),
"selector": selector
};
map.keys map.keys
.where((key) => .where((key) =>

View File

@ -161,7 +161,8 @@ class CookieManager {
if (isSecure != null && isSecure) cookieValue += "; Secure"; if (isSecure != null && isSecure) cookieValue += "; Secure";
if (sameSite != null) cookieValue += "; SameSite=" + sameSite.toNativeValue(); if (sameSite != null)
cookieValue += "; SameSite=" + sameSite.toNativeValue();
cookieValue += ";"; cookieValue += ";";
@ -243,7 +244,8 @@ class CookieManager {
expiresDate: cookieMap["expiresDate"], expiresDate: cookieMap["expiresDate"],
isSessionOnly: cookieMap["isSessionOnly"], isSessionOnly: cookieMap["isSessionOnly"],
domain: cookieMap["domain"], domain: cookieMap["domain"],
sameSite: HTTPCookieSameSitePolicy.fromNativeValue(cookieMap["sameSite"]), sameSite:
HTTPCookieSameSitePolicy.fromNativeValue(cookieMap["sameSite"]),
isSecure: cookieMap["isSecure"], isSecure: cookieMap["isSecure"],
isHttpOnly: cookieMap["isHttpOnly"], isHttpOnly: cookieMap["isHttpOnly"],
path: cookieMap["path"])); path: cookieMap["path"]));
@ -364,8 +366,8 @@ class CookieManager {
expiresDate: cookies[i]["expiresDate"], expiresDate: cookies[i]["expiresDate"],
isSessionOnly: cookies[i]["isSessionOnly"], isSessionOnly: cookies[i]["isSessionOnly"],
domain: cookies[i]["domain"], domain: cookies[i]["domain"],
sameSite: sameSite: HTTPCookieSameSitePolicy.fromNativeValue(
HTTPCookieSameSitePolicy.fromNativeValue(cookies[i]["sameSite"]), cookies[i]["sameSite"]),
isSecure: cookies[i]["isSecure"], isSecure: cookies[i]["isSecure"],
isHttpOnly: cookies[i]["isHttpOnly"], isHttpOnly: cookies[i]["isHttpOnly"],
path: cookies[i]["path"]); path: cookies[i]["path"]);
@ -533,7 +535,8 @@ class CookieManager {
expiresDate: cookieMap["expiresDate"], expiresDate: cookieMap["expiresDate"],
isSessionOnly: cookieMap["isSessionOnly"], isSessionOnly: cookieMap["isSessionOnly"],
domain: cookieMap["domain"], domain: cookieMap["domain"],
sameSite: HTTPCookieSameSitePolicy.fromNativeValue(cookieMap["sameSite"]), sameSite:
HTTPCookieSameSitePolicy.fromNativeValue(cookieMap["sameSite"]),
isSecure: cookieMap["isSecure"], isSecure: cookieMap["isSecure"],
isHttpOnly: cookieMap["isHttpOnly"], isHttpOnly: cookieMap["isHttpOnly"],
path: cookieMap["path"])); path: cookieMap["path"]));
@ -595,7 +598,8 @@ class IOSCookieManager {
expiresDate: cookieMap["expiresDate"], expiresDate: cookieMap["expiresDate"],
isSessionOnly: cookieMap["isSessionOnly"], isSessionOnly: cookieMap["isSessionOnly"],
domain: cookieMap["domain"], domain: cookieMap["domain"],
sameSite: HTTPCookieSameSitePolicy.fromNativeValue(cookieMap["sameSite"]), sameSite:
HTTPCookieSameSitePolicy.fromNativeValue(cookieMap["sameSite"]),
isSecure: cookieMap["isSecure"], isSecure: cookieMap["isSecure"],
isHttpOnly: cookieMap["isHttpOnly"], isHttpOnly: cookieMap["isHttpOnly"],
path: cookieMap["path"])); path: cookieMap["path"]));

View File

@ -24,10 +24,9 @@ class DebugLoggingSettings {
///Use [print] instead of `developer.log` to log messages. ///Use [print] instead of `developer.log` to log messages.
bool usePrint; bool usePrint;
DebugLoggingSettings({ DebugLoggingSettings(
this.enabled = kDebugMode, {this.enabled = kDebugMode,
this.excludeFilter = const [], this.excludeFilter = const [],
this.maxLogMessageLength = -1, this.maxLogMessageLength = -1,
this.usePrint = false this.usePrint = false});
});
} }

View File

@ -103,8 +103,7 @@ class InAppBrowser {
_debugLog(String method, dynamic args) { _debugLog(String method, dynamic args) {
if (InAppBrowser.debugLoggingSettings.enabled) { if (InAppBrowser.debugLoggingSettings.enabled) {
for (var regExp for (var regExp in InAppBrowser.debugLoggingSettings.excludeFilter) {
in InAppBrowser.debugLoggingSettings.excludeFilter) {
if (regExp.hasMatch(method)) return; if (regExp.hasMatch(method)) return;
} }
var maxLogMessageLength = var maxLogMessageLength =
@ -773,7 +772,8 @@ class InAppBrowser {
///**Supported Platforms/Implementations**: ///**Supported Platforms/Implementations**:
///- Android native WebView ///- Android native WebView
///- iOS ///- iOS
Future<bool?>? onPrintRequest(Uri? url, PrintJobController? printJobController) { Future<bool?>? onPrintRequest(
Uri? url, PrintJobController? printJobController) {
return null; return null;
} }

View File

@ -318,7 +318,8 @@ class AndroidInAppWebViewOptions
"defaultFixedFontSize": defaultFixedFontSize, "defaultFixedFontSize": defaultFixedFontSize,
"defaultFontSize": defaultFontSize, "defaultFontSize": defaultFontSize,
"defaultTextEncodingName": defaultTextEncodingName, "defaultTextEncodingName": defaultTextEncodingName,
"disabledActionModeMenuItems": disabledActionModeMenuItems?.toNativeValue(), "disabledActionModeMenuItems":
disabledActionModeMenuItems?.toNativeValue(),
"fantasyFontFamily": fantasyFontFamily, "fantasyFontFamily": fantasyFontFamily,
"fixedFontFamily": fixedFontFamily, "fixedFontFamily": fixedFontFamily,
"forceDark": forceDark?.toNativeValue(), "forceDark": forceDark?.toNativeValue(),
@ -380,7 +381,8 @@ class AndroidInAppWebViewOptions
instance.defaultFontSize = map["defaultFontSize"]; instance.defaultFontSize = map["defaultFontSize"];
instance.defaultTextEncodingName = map["defaultTextEncodingName"]; instance.defaultTextEncodingName = map["defaultTextEncodingName"];
instance.disabledActionModeMenuItems = instance.disabledActionModeMenuItems =
AndroidActionModeMenuItem.fromNativeValue(map["disabledActionModeMenuItems"]); AndroidActionModeMenuItem.fromNativeValue(
map["disabledActionModeMenuItems"]);
instance.fantasyFontFamily = map["fantasyFontFamily"]; instance.fantasyFontFamily = map["fantasyFontFamily"];
instance.fixedFontFamily = map["fixedFontFamily"]; instance.fixedFontFamily = map["fixedFontFamily"];
instance.forceDark = AndroidForceDark.fromNativeValue(map["forceDark"]); instance.forceDark = AndroidForceDark.fromNativeValue(map["forceDark"]);

View File

@ -24,12 +24,12 @@ class IOSInAppWebViewController {
@Deprecated("Use InAppWebViewController.createPdf instead") @Deprecated("Use InAppWebViewController.createPdf instead")
Future<Uint8List?> createPdf( Future<Uint8List?> createPdf(
{@Deprecated("Use pdfConfiguration instead") {@Deprecated("Use pdfConfiguration instead")
// ignore: deprecated_member_use_from_same_package // ignore: deprecated_member_use_from_same_package
IOSWKPDFConfiguration? iosWKPdfConfiguration, IOSWKPDFConfiguration? iosWKPdfConfiguration,
PDFConfiguration? pdfConfiguration}) async { PDFConfiguration? pdfConfiguration}) async {
Map<String, dynamic> args = <String, dynamic>{}; Map<String, dynamic> args = <String, dynamic>{};
args.putIfAbsent('pdfConfiguration', args.putIfAbsent('pdfConfiguration',
() => pdfConfiguration?.toMap() ?? iosWKPdfConfiguration?.toMap()); () => pdfConfiguration?.toMap() ?? iosWKPdfConfiguration?.toMap());
return await _channel.invokeMethod('createPdf', args); return await _channel.invokeMethod('createPdf', args);
} }

View File

@ -349,8 +349,8 @@ class IOSInAppWebViewOptions
map["automaticallyAdjustsScrollIndicatorInsets"]; map["automaticallyAdjustsScrollIndicatorInsets"];
instance.accessibilityIgnoresInvertColors = instance.accessibilityIgnoresInvertColors =
map["accessibilityIgnoresInvertColors"]; map["accessibilityIgnoresInvertColors"];
instance.decelerationRate = instance.decelerationRate = IOSUIScrollViewDecelerationRate.fromNativeValue(
IOSUIScrollViewDecelerationRate.fromNativeValue(map["decelerationRate"])!; map["decelerationRate"])!;
instance.alwaysBounceVertical = map["alwaysBounceVertical"]; instance.alwaysBounceVertical = map["alwaysBounceVertical"];
instance.alwaysBounceHorizontal = map["alwaysBounceHorizontal"]; instance.alwaysBounceHorizontal = map["alwaysBounceHorizontal"];
instance.scrollsToTop = map["scrollsToTop"]; instance.scrollsToTop = map["scrollsToTop"];

View File

@ -87,7 +87,7 @@ class HeadlessInAppWebView implements WebView, Disposable {
this.onReceivedServerTrustAuthRequest, this.onReceivedServerTrustAuthRequest,
this.onReceivedClientCertRequest, this.onReceivedClientCertRequest,
@Deprecated('Use FindInteractionController.onFindResultReceived instead') @Deprecated('Use FindInteractionController.onFindResultReceived instead')
this.onFindResultReceived, this.onFindResultReceived,
this.shouldInterceptAjaxRequest, this.shouldInterceptAjaxRequest,
this.onAjaxReadyStateChange, this.onAjaxReadyStateChange,
this.onAjaxProgress, this.onAjaxProgress,

View File

@ -79,7 +79,7 @@ class InAppWebView extends StatefulWidget implements WebView {
this.onReceivedServerTrustAuthRequest, this.onReceivedServerTrustAuthRequest,
this.onReceivedClientCertRequest, this.onReceivedClientCertRequest,
@Deprecated('Use FindInteractionController.onFindResultReceived instead') @Deprecated('Use FindInteractionController.onFindResultReceived instead')
this.onFindResultReceived, this.onFindResultReceived,
this.shouldInterceptAjaxRequest, this.shouldInterceptAjaxRequest,
this.onAjaxReadyStateChange, this.onAjaxReadyStateChange,
this.onAjaxProgress, this.onAjaxProgress,

View File

@ -534,7 +534,8 @@ class InAppWebViewController {
if (_webview != null) { if (_webview != null) {
if (_webview!.onFormResubmission != null) if (_webview!.onFormResubmission != null)
return (await _webview!.onFormResubmission!(this, uri))?.toNativeValue(); return (await _webview!.onFormResubmission!(this, uri))
?.toNativeValue();
else { else {
// ignore: deprecated_member_use_from_same_package // ignore: deprecated_member_use_from_same_package
return (await _webview!.androidOnFormResubmission!(this, uri)) return (await _webview!.androidOnFormResubmission!(this, uri))
@ -802,8 +803,12 @@ class InAppWebViewController {
} }
break; break;
case "onFindResultReceived": case "onFindResultReceived":
if ((_webview != null && (_webview!.onFindResultReceived != null || if ((_webview != null &&
(_webview!.findInteractionController != null && _webview!.findInteractionController!.onFindResultReceived != null))) || (_webview!.onFindResultReceived != null ||
(_webview!.findInteractionController != null &&
_webview!.findInteractionController!
.onFindResultReceived !=
null))) ||
_inAppBrowser != null) { _inAppBrowser != null) {
int activeMatchOrdinal = call.arguments["activeMatchOrdinal"]; int activeMatchOrdinal = call.arguments["activeMatchOrdinal"];
int numberOfMatches = call.arguments["numberOfMatches"]; int numberOfMatches = call.arguments["numberOfMatches"];
@ -813,19 +818,23 @@ class InAppWebViewController {
_webview!.findInteractionController!.onFindResultReceived != _webview!.findInteractionController!.onFindResultReceived !=
null) null)
_webview!.findInteractionController!.onFindResultReceived!( _webview!.findInteractionController!.onFindResultReceived!(
_webview!.findInteractionController!, activeMatchOrdinal, _webview!.findInteractionController!,
numberOfMatches, isDoneCounting); activeMatchOrdinal,
numberOfMatches,
isDoneCounting);
else else
_webview!.onFindResultReceived!( _webview!.onFindResultReceived!(
this, activeMatchOrdinal, numberOfMatches, isDoneCounting); this, activeMatchOrdinal, numberOfMatches, isDoneCounting);
} } else {
else {
if (_inAppBrowser!.findInteractionController != null && if (_inAppBrowser!.findInteractionController != null &&
_inAppBrowser!.findInteractionController! _inAppBrowser!
.onFindResultReceived != null) .findInteractionController!.onFindResultReceived !=
null)
_inAppBrowser!.findInteractionController!.onFindResultReceived!( _inAppBrowser!.findInteractionController!.onFindResultReceived!(
_webview!.findInteractionController!, activeMatchOrdinal, _webview!.findInteractionController!,
numberOfMatches, isDoneCounting); activeMatchOrdinal,
numberOfMatches,
isDoneCounting);
else else
_inAppBrowser!.onFindResultReceived( _inAppBrowser!.onFindResultReceived(
activeMatchOrdinal, numberOfMatches, isDoneCounting); activeMatchOrdinal, numberOfMatches, isDoneCounting);
@ -1243,9 +1252,11 @@ class InAppWebViewController {
AjaxRequest request = AjaxRequest.fromMap(arguments)!; AjaxRequest request = AjaxRequest.fromMap(arguments)!;
if (_webview != null && _webview!.onAjaxReadyStateChange != null) if (_webview != null && _webview!.onAjaxReadyStateChange != null)
return (await _webview!.onAjaxReadyStateChange!(this, request))?.toNativeValue(); return (await _webview!.onAjaxReadyStateChange!(this, request))
?.toNativeValue();
else else
return (await _inAppBrowser!.onAjaxReadyStateChange(request))?.toNativeValue(); return (await _inAppBrowser!.onAjaxReadyStateChange(request))
?.toNativeValue();
} }
return null; return null;
case "onAjaxProgress": case "onAjaxProgress":
@ -1255,9 +1266,11 @@ class InAppWebViewController {
AjaxRequest request = AjaxRequest.fromMap(arguments)!; AjaxRequest request = AjaxRequest.fromMap(arguments)!;
if (_webview != null && _webview!.onAjaxProgress != null) if (_webview != null && _webview!.onAjaxProgress != null)
return (await _webview!.onAjaxProgress!(this, request))?.toNativeValue(); return (await _webview!.onAjaxProgress!(this, request))
?.toNativeValue();
else else
return (await _inAppBrowser!.onAjaxProgress(request))?.toNativeValue(); return (await _inAppBrowser!.onAjaxProgress(request))
?.toNativeValue();
} }
return null; return null;
case "shouldInterceptFetchRequest": case "shouldInterceptFetchRequest":
@ -2293,7 +2306,8 @@ class InAppWebViewController {
///- Android native WebView ([Official API - PrintManager.print](https://developer.android.com/reference/android/print/PrintManager#print(java.lang.String,%20android.print.PrintDocumentAdapter,%20android.print.PrintAttributes))) ///- Android native WebView ([Official API - PrintManager.print](https://developer.android.com/reference/android/print/PrintManager#print(java.lang.String,%20android.print.PrintDocumentAdapter,%20android.print.PrintAttributes)))
///- iOS ([Official API - UIPrintInteractionController.present](https://developer.apple.com/documentation/uikit/uiprintinteractioncontroller/1618149-present)) ///- iOS ([Official API - UIPrintInteractionController.present](https://developer.apple.com/documentation/uikit/uiprintinteractioncontroller/1618149-present))
///- Web ([Official API - Window.print](https://developer.mozilla.org/en-US/docs/Web/API/Window/print)) ///- Web ([Official API - Window.print](https://developer.mozilla.org/en-US/docs/Web/API/Window/print))
Future<PrintJobController?> printCurrentPage({PrintJobSettings? settings}) async { Future<PrintJobController?> printCurrentPage(
{PrintJobSettings? settings}) async {
Map<String, dynamic> args = <String, dynamic>{}; Map<String, dynamic> args = <String, dynamic>{};
args.putIfAbsent("settings", () => settings?.toMap()); args.putIfAbsent("settings", () => settings?.toMap());
String? jobId = await _channel.invokeMethod('printCurrentPage', args); String? jobId = await _channel.invokeMethod('printCurrentPage', args);
@ -2838,7 +2852,8 @@ class InAppWebViewController {
if (defaultTargetPlatform == TargetPlatform.android) { if (defaultTargetPlatform == TargetPlatform.android) {
assert(filePath.endsWith("." + WebArchiveFormat.MHT.toNativeValue())); assert(filePath.endsWith("." + WebArchiveFormat.MHT.toNativeValue()));
} else if (defaultTargetPlatform == TargetPlatform.iOS) { } else if (defaultTargetPlatform == TargetPlatform.iOS) {
assert(filePath.endsWith("." + WebArchiveFormat.WEBARCHIVE.toNativeValue())); assert(filePath
.endsWith("." + WebArchiveFormat.WEBARCHIVE.toNativeValue()));
} }
} }
@ -3390,7 +3405,10 @@ class InAppWebViewController {
/// ///
///**Supported Platforms/Implementations**: ///**Supported Platforms/Implementations**:
///- iOS ([Official API - WKWebView.loadSimulatedRequest(_:response:responseData:)](https://developer.apple.com/documentation/webkit/wkwebview/3763094-loadsimulatedrequest) and [Official API - WKWebView.loadSimulatedRequest(_:responseHTML:)](https://developer.apple.com/documentation/webkit/wkwebview/3763095-loadsimulatedrequest)). ///- iOS ([Official API - WKWebView.loadSimulatedRequest(_:response:responseData:)](https://developer.apple.com/documentation/webkit/wkwebview/3763094-loadsimulatedrequest) and [Official API - WKWebView.loadSimulatedRequest(_:responseHTML:)](https://developer.apple.com/documentation/webkit/wkwebview/3763095-loadsimulatedrequest)).
Future<void> loadSimulatedRequest({required URLRequest urlRequest, required Uint8List data, URLResponse? urlResponse}) async { Future<void> loadSimulatedRequest(
{required URLRequest urlRequest,
required Uint8List data,
URLResponse? urlResponse}) async {
Map<String, dynamic> args = <String, dynamic>{}; Map<String, dynamic> args = <String, dynamic>{};
args.putIfAbsent('urlRequest', () => urlRequest.toMap()); args.putIfAbsent('urlRequest', () => urlRequest.toMap());
args.putIfAbsent('data', () => data); args.putIfAbsent('data', () => data);

View File

@ -12,7 +12,6 @@ import '../android/webview_feature.dart';
import '../in_app_webview/in_app_webview_controller.dart'; import '../in_app_webview/in_app_webview_controller.dart';
import '../context_menu.dart'; import '../context_menu.dart';
///This class represents all the WebView settings available. ///This class represents all the WebView settings available.
class InAppWebViewSettings { class InAppWebViewSettings {
///Set to `true` to be able to listen at the [WebView.shouldOverrideUrlLoading] event. The default value is `false`. ///Set to `true` to be able to listen at the [WebView.shouldOverrideUrlLoading] event. The default value is `false`.
@ -1184,7 +1183,8 @@ class InAppWebViewSettings {
this.fantasyFontFamily = "fantasy", this.fantasyFontFamily = "fantasy",
this.fixedFontFamily = "monospace", this.fixedFontFamily = "monospace",
this.forceDark = ForceDark.OFF, this.forceDark = ForceDark.OFF,
this.forceDarkStrategy = ForceDarkStrategy.PREFER_WEB_THEME_OVER_USER_AGENT_DARKENING, this.forceDarkStrategy =
ForceDarkStrategy.PREFER_WEB_THEME_OVER_USER_AGENT_DARKENING,
this.geolocationEnabled = true, this.geolocationEnabled = true,
this.layoutAlgorithm, this.layoutAlgorithm,
this.loadWithOverviewMode = true, this.loadWithOverviewMode = true,
@ -1277,11 +1277,16 @@ class InAppWebViewSettings {
!this.resourceCustomSchemes.contains("https")); !this.resourceCustomSchemes.contains("https"));
assert( assert(
allowingReadAccessTo == null || allowingReadAccessTo!.isScheme("file")); allowingReadAccessTo == null || allowingReadAccessTo!.isScheme("file"));
assert((minimumViewportInset == null && maximumViewportInset == null) || assert(
minimumViewportInset != null && maximumViewportInset != null && (minimumViewportInset == null && maximumViewportInset == null) ||
minimumViewportInset!.isNonNegative && maximumViewportInset!.isNonNegative && minimumViewportInset != null &&
minimumViewportInset!.vertical <= maximumViewportInset!.vertical && maximumViewportInset != null &&
minimumViewportInset!.horizontal <= maximumViewportInset!.horizontal, minimumViewportInset!.isNonNegative &&
maximumViewportInset!.isNonNegative &&
minimumViewportInset!.vertical <=
maximumViewportInset!.vertical &&
minimumViewportInset!.horizontal <=
maximumViewportInset!.horizontal,
"minimumViewportInset cannot be larger than maximumViewportInset"); "minimumViewportInset cannot be larger than maximumViewportInset");
} }
@ -1341,7 +1346,8 @@ class InAppWebViewSettings {
"defaultFixedFontSize": defaultFixedFontSize, "defaultFixedFontSize": defaultFixedFontSize,
"defaultFontSize": defaultFontSize, "defaultFontSize": defaultFontSize,
"defaultTextEncodingName": defaultTextEncodingName, "defaultTextEncodingName": defaultTextEncodingName,
"disabledActionModeMenuItems": disabledActionModeMenuItems?.toNativeValue(), "disabledActionModeMenuItems":
disabledActionModeMenuItems?.toNativeValue(),
"fantasyFontFamily": fantasyFontFamily, "fantasyFontFamily": fantasyFontFamily,
"fixedFontFamily": fixedFontFamily, "fixedFontFamily": fixedFontFamily,
"forceDark": forceDark?.toNativeValue(), "forceDark": forceDark?.toNativeValue(),
@ -1381,7 +1387,8 @@ class InAppWebViewSettings {
"willSuppressErrorPage": willSuppressErrorPage, "willSuppressErrorPage": willSuppressErrorPage,
"algorithmicDarkeningAllowed": algorithmicDarkeningAllowed, "algorithmicDarkeningAllowed": algorithmicDarkeningAllowed,
"requestedWithHeaderMode": requestedWithHeaderMode?.toNativeValue(), "requestedWithHeaderMode": requestedWithHeaderMode?.toNativeValue(),
"enterpriseAuthenticationAppLinkPolicyEnabled": enterpriseAuthenticationAppLinkPolicyEnabled, "enterpriseAuthenticationAppLinkPolicyEnabled":
enterpriseAuthenticationAppLinkPolicyEnabled,
"disallowOverScroll": disallowOverScroll, "disallowOverScroll": disallowOverScroll,
"enableViewportScale": enableViewportScale, "enableViewportScale": enableViewportScale,
"suppressesIncrementalRendering": suppressesIncrementalRendering, "suppressesIncrementalRendering": suppressesIncrementalRendering,
@ -1450,7 +1457,8 @@ class InAppWebViewSettings {
List<String> dataDetectorTypesList = List<String> dataDetectorTypesList =
List<String>.from(map["dataDetectorTypes"] ?? []); List<String>.from(map["dataDetectorTypes"] ?? []);
dataDetectorTypesList.forEach((dataDetectorTypeValue) { dataDetectorTypesList.forEach((dataDetectorTypeValue) {
var dataDetectorType = DataDetectorTypes.fromNativeValue(dataDetectorTypeValue); var dataDetectorType =
DataDetectorTypes.fromNativeValue(dataDetectorTypeValue);
if (dataDetectorType != null) { if (dataDetectorType != null) {
dataDetectorTypes.add(dataDetectorType); dataDetectorTypes.add(dataDetectorType);
} }
@ -1523,11 +1531,13 @@ class InAppWebViewSettings {
settings.defaultFontSize = map["defaultFontSize"]; settings.defaultFontSize = map["defaultFontSize"];
settings.defaultTextEncodingName = map["defaultTextEncodingName"]; settings.defaultTextEncodingName = map["defaultTextEncodingName"];
settings.disabledActionModeMenuItems = settings.disabledActionModeMenuItems =
ActionModeMenuItem.fromNativeValue(map["disabledActionModeMenuItems"]); ActionModeMenuItem.fromNativeValue(
map["disabledActionModeMenuItems"]);
settings.fantasyFontFamily = map["fantasyFontFamily"]; settings.fantasyFontFamily = map["fantasyFontFamily"];
settings.fixedFontFamily = map["fixedFontFamily"]; settings.fixedFontFamily = map["fixedFontFamily"];
settings.forceDark = ForceDark.fromNativeValue(map["forceDark"]); settings.forceDark = ForceDark.fromNativeValue(map["forceDark"]);
settings.forceDarkStrategy = ForceDarkStrategy.fromNativeValue(map["forceDarkStrategy"]); settings.forceDarkStrategy =
ForceDarkStrategy.fromNativeValue(map["forceDarkStrategy"]);
settings.geolocationEnabled = map["geolocationEnabled"]; settings.geolocationEnabled = map["geolocationEnabled"];
settings.layoutAlgorithm = settings.layoutAlgorithm =
LayoutAlgorithm.fromNativeValue(map["layoutAlgorithm"]); LayoutAlgorithm.fromNativeValue(map["layoutAlgorithm"]);
@ -1545,17 +1555,20 @@ class InAppWebViewSettings {
settings.hardwareAcceleration = map["hardwareAcceleration"]; settings.hardwareAcceleration = map["hardwareAcceleration"];
settings.supportMultipleWindows = map["supportMultipleWindows"]; settings.supportMultipleWindows = map["supportMultipleWindows"];
settings.regexToCancelSubFramesLoading = settings.regexToCancelSubFramesLoading =
map["regexToCancelSubFramesLoading"]; map["regexToCancelSubFramesLoading"];
settings.useHybridComposition = map["useHybridComposition"]; settings.useHybridComposition = map["useHybridComposition"];
settings.useShouldInterceptRequest = map["useShouldInterceptRequest"]; settings.useShouldInterceptRequest = map["useShouldInterceptRequest"];
settings.useOnRenderProcessGone = map["useOnRenderProcessGone"]; settings.useOnRenderProcessGone = map["useOnRenderProcessGone"];
settings.overScrollMode = OverScrollMode.fromNativeValue(map["overScrollMode"]); settings.overScrollMode =
OverScrollMode.fromNativeValue(map["overScrollMode"]);
settings.networkAvailable = map["networkAvailable"]; settings.networkAvailable = map["networkAvailable"];
settings.scrollBarStyle = ScrollBarStyle.fromNativeValue(map["scrollBarStyle"]); settings.scrollBarStyle =
ScrollBarStyle.fromNativeValue(map["scrollBarStyle"]);
settings.verticalScrollbarPosition = settings.verticalScrollbarPosition =
VerticalScrollbarPosition.fromNativeValue(map["verticalScrollbarPosition"]); VerticalScrollbarPosition.fromNativeValue(
map["verticalScrollbarPosition"]);
settings.scrollBarDefaultDelayBeforeFade = settings.scrollBarDefaultDelayBeforeFade =
map["scrollBarDefaultDelayBeforeFade"]; map["scrollBarDefaultDelayBeforeFade"];
settings.scrollbarFadingEnabled = map["scrollbarFadingEnabled"]; settings.scrollbarFadingEnabled = map["scrollbarFadingEnabled"];
settings.scrollBarFadeDuration = map["scrollBarFadeDuration"]; settings.scrollBarFadeDuration = map["scrollBarFadeDuration"];
settings.rendererPriorityPolicy = RendererPriorityPolicy.fromMap( settings.rendererPriorityPolicy = RendererPriorityPolicy.fromMap(
@ -1570,37 +1583,40 @@ class InAppWebViewSettings {
settings.horizontalScrollbarTrackColor = settings.horizontalScrollbarTrackColor =
UtilColor.fromHex(map["horizontalScrollbarTrackColor"]); UtilColor.fromHex(map["horizontalScrollbarTrackColor"]);
settings.willSuppressErrorPage = map["willSuppressErrorPage"]; settings.willSuppressErrorPage = map["willSuppressErrorPage"];
settings.algorithmicDarkeningAllowed = map["algorithmicDarkeningAllowed"]; settings.algorithmicDarkeningAllowed =
settings.requestedWithHeaderMode = RequestedWithHeaderMode.fromNativeValue(map["requestedWithHeaderMode"]); map["algorithmicDarkeningAllowed"];
settings.enterpriseAuthenticationAppLinkPolicyEnabled = map["enterpriseAuthenticationAppLinkPolicyEnabled"]; settings.requestedWithHeaderMode =
} RequestedWithHeaderMode.fromNativeValue(
else if (defaultTargetPlatform == TargetPlatform.iOS || map["requestedWithHeaderMode"]);
settings.enterpriseAuthenticationAppLinkPolicyEnabled =
map["enterpriseAuthenticationAppLinkPolicyEnabled"];
} else if (defaultTargetPlatform == TargetPlatform.iOS ||
defaultTargetPlatform == TargetPlatform.macOS) { defaultTargetPlatform == TargetPlatform.macOS) {
settings.disallowOverScroll = map["disallowOverScroll"]; settings.disallowOverScroll = map["disallowOverScroll"];
settings.enableViewportScale = map["enableViewportScale"]; settings.enableViewportScale = map["enableViewportScale"];
settings.suppressesIncrementalRendering = settings.suppressesIncrementalRendering =
map["suppressesIncrementalRendering"]; map["suppressesIncrementalRendering"];
settings.allowsAirPlayForMediaPlayback = settings.allowsAirPlayForMediaPlayback =
map["allowsAirPlayForMediaPlayback"]; map["allowsAirPlayForMediaPlayback"];
settings.allowsBackForwardNavigationGestures = settings.allowsBackForwardNavigationGestures =
map["allowsBackForwardNavigationGestures"]; map["allowsBackForwardNavigationGestures"];
settings.allowsLinkPreview = map["allowsLinkPreview"]; settings.allowsLinkPreview = map["allowsLinkPreview"];
settings.ignoresViewportScaleLimits = map["ignoresViewportScaleLimits"]; settings.ignoresViewportScaleLimits = map["ignoresViewportScaleLimits"];
settings.allowsInlineMediaPlayback = map["allowsInlineMediaPlayback"]; settings.allowsInlineMediaPlayback = map["allowsInlineMediaPlayback"];
settings.allowsPictureInPictureMediaPlayback = settings.allowsPictureInPictureMediaPlayback =
map["allowsPictureInPictureMediaPlayback"]; map["allowsPictureInPictureMediaPlayback"];
settings.isFraudulentWebsiteWarningEnabled = settings.isFraudulentWebsiteWarningEnabled =
map["isFraudulentWebsiteWarningEnabled"]; map["isFraudulentWebsiteWarningEnabled"];
settings.selectionGranularity = settings.selectionGranularity =
SelectionGranularity.fromNativeValue(map["selectionGranularity"])!; SelectionGranularity.fromNativeValue(map["selectionGranularity"])!;
settings.dataDetectorTypes = dataDetectorTypes; settings.dataDetectorTypes = dataDetectorTypes;
settings.sharedCookiesEnabled = map["sharedCookiesEnabled"]; settings.sharedCookiesEnabled = map["sharedCookiesEnabled"];
settings.automaticallyAdjustsScrollIndicatorInsets = settings.automaticallyAdjustsScrollIndicatorInsets =
map["automaticallyAdjustsScrollIndicatorInsets"]; map["automaticallyAdjustsScrollIndicatorInsets"];
settings.accessibilityIgnoresInvertColors = settings.accessibilityIgnoresInvertColors =
map["accessibilityIgnoresInvertColors"]; map["accessibilityIgnoresInvertColors"];
settings.decelerationRate = settings.decelerationRate = ScrollViewDecelerationRate.fromNativeValue(
ScrollViewDecelerationRate.fromNativeValue(map["decelerationRate"])!; map["decelerationRate"])!;
settings.alwaysBounceVertical = map["alwaysBounceVertical"]; settings.alwaysBounceVertical = map["alwaysBounceVertical"];
settings.alwaysBounceHorizontal = map["alwaysBounceHorizontal"]; settings.alwaysBounceHorizontal = map["alwaysBounceHorizontal"];
settings.scrollsToTop = map["scrollsToTop"]; settings.scrollsToTop = map["scrollsToTop"];
@ -1608,31 +1624,33 @@ class InAppWebViewSettings {
settings.maximumZoomScale = map["maximumZoomScale"]; settings.maximumZoomScale = map["maximumZoomScale"];
settings.minimumZoomScale = map["minimumZoomScale"]; settings.minimumZoomScale = map["minimumZoomScale"];
settings.contentInsetAdjustmentBehavior = settings.contentInsetAdjustmentBehavior =
ScrollViewContentInsetAdjustmentBehavior.fromNativeValue( ScrollViewContentInsetAdjustmentBehavior.fromNativeValue(
map["contentInsetAdjustmentBehavior"])!; map["contentInsetAdjustmentBehavior"])!;
settings.isDirectionalLockEnabled = map["isDirectionalLockEnabled"]; settings.isDirectionalLockEnabled = map["isDirectionalLockEnabled"];
settings.mediaType = map["mediaType"]; settings.mediaType = map["mediaType"];
settings.pageZoom = map["pageZoom"]; settings.pageZoom = map["pageZoom"];
settings.limitsNavigationsToAppBoundDomains = settings.limitsNavigationsToAppBoundDomains =
map["limitsNavigationsToAppBoundDomains"]; map["limitsNavigationsToAppBoundDomains"];
settings.useOnNavigationResponse = map["useOnNavigationResponse"]; settings.useOnNavigationResponse = map["useOnNavigationResponse"];
settings.applePayAPIEnabled = map["applePayAPIEnabled"]; settings.applePayAPIEnabled = map["applePayAPIEnabled"];
settings.allowingReadAccessTo = map["allowingReadAccessTo"] != null settings.allowingReadAccessTo = map["allowingReadAccessTo"] != null
? Uri.parse(map["allowingReadAccessTo"]) ? Uri.parse(map["allowingReadAccessTo"])
: null; : null;
settings.disableLongPressContextMenuOnLinks = settings.disableLongPressContextMenuOnLinks =
map["disableLongPressContextMenuOnLinks"]; map["disableLongPressContextMenuOnLinks"];
settings.disableInputAccessoryView = map["disableInputAccessoryView"]; settings.disableInputAccessoryView = map["disableInputAccessoryView"];
settings.underPageBackgroundColor = settings.underPageBackgroundColor =
UtilColor.fromHex(map["underPageBackgroundColor"]); UtilColor.fromHex(map["underPageBackgroundColor"]);
settings.isTextInteractionEnabled = map["isTextInteractionEnabled"]; settings.isTextInteractionEnabled = map["isTextInteractionEnabled"];
settings.isSiteSpecificQuirksModeEnabled = settings.isSiteSpecificQuirksModeEnabled =
map["isSiteSpecificQuirksModeEnabled"]; map["isSiteSpecificQuirksModeEnabled"];
settings.upgradeKnownHostsToHTTPS = map["upgradeKnownHostsToHTTPS"]; settings.upgradeKnownHostsToHTTPS = map["upgradeKnownHostsToHTTPS"];
settings.isElementFullscreenEnabled = map["isElementFullscreenEnabled"]; settings.isElementFullscreenEnabled = map["isElementFullscreenEnabled"];
settings.isFindInteractionEnabled = map["isFindInteractionEnabled"]; settings.isFindInteractionEnabled = map["isFindInteractionEnabled"];
settings.minimumViewportInset = MapEdgeInsets.fromMap(map["minimumViewportInset"]?.cast<String, double>()); settings.minimumViewportInset = MapEdgeInsets.fromMap(
settings.maximumViewportInset = MapEdgeInsets.fromMap(map["maximumViewportInset"]?.cast<String, double>()); map["minimumViewportInset"]?.cast<String, double>());
settings.maximumViewportInset = MapEdgeInsets.fromMap(
map["maximumViewportInset"]?.cast<String, double>());
} }
} }
return settings; return settings;

View File

@ -993,7 +993,7 @@ abstract class WebView {
this.onReceivedServerTrustAuthRequest, this.onReceivedServerTrustAuthRequest,
this.onReceivedClientCertRequest, this.onReceivedClientCertRequest,
@Deprecated('Use FindInteractionController.onFindResultReceived instead') @Deprecated('Use FindInteractionController.onFindResultReceived instead')
this.onFindResultReceived, this.onFindResultReceived,
this.shouldInterceptAjaxRequest, this.shouldInterceptAjaxRequest,
this.onAjaxReadyStateChange, this.onAjaxReadyStateChange,
this.onAjaxProgress, this.onAjaxProgress,

View File

@ -4,7 +4,8 @@ import '../in_app_webview/in_app_webview_controller.dart';
import '../types/disposable.dart'; import '../types/disposable.dart';
///A completion handler for the [PrintJobController]. ///A completion handler for the [PrintJobController].
typedef PrintJobCompletionHandler = Future<void> Function(bool completed, String? error)?; typedef PrintJobCompletionHandler = Future<void> Function(
bool completed, String? error)?;
///Class representing a print job eventually returned by [InAppWebViewController.printCurrentPage]. ///Class representing a print job eventually returned by [InAppWebViewController.printCurrentPage].
class PrintJobController implements Disposable { class PrintJobController implements Disposable {
@ -19,8 +20,7 @@ class PrintJobController implements Disposable {
///- iOS ([Official API - UIPrintInteractionController.CompletionHandler](https://developer.apple.com/documentation/uikit/uiprintinteractioncontroller/completionhandler)) ///- iOS ([Official API - UIPrintInteractionController.CompletionHandler](https://developer.apple.com/documentation/uikit/uiprintinteractioncontroller/completionhandler))
PrintJobCompletionHandler onComplete; PrintJobCompletionHandler onComplete;
PrintJobController( PrintJobController({required this.id}) {
{required this.id}) {
this._channel = MethodChannel( this._channel = MethodChannel(
'com.pichillilorenzo/flutter_inappwebview_printjobcontroller_$id'); 'com.pichillilorenzo/flutter_inappwebview_printjobcontroller_$id');
this._channel.setMethodCallHandler((call) async { this._channel.setMethodCallHandler((call) async {
@ -94,8 +94,7 @@ class PrintJobController implements Disposable {
Future<PrintJobInfo?> getInfo() async { Future<PrintJobInfo?> getInfo() async {
Map<String, dynamic> args = <String, dynamic>{}; Map<String, dynamic> args = <String, dynamic>{};
Map<String, dynamic>? infoMap = Map<String, dynamic>? infoMap =
(await _channel.invokeMethod('getInfo', args)) (await _channel.invokeMethod('getInfo', args))?.cast<String, dynamic>();
?.cast<String, dynamic>();
return PrintJobInfo.fromMap(infoMap); return PrintJobInfo.fromMap(infoMap);
} }

View File

@ -180,30 +180,29 @@ class PrintJobSettings {
///Gets a [PrintJobSettings] instance from a [Map] value. ///Gets a [PrintJobSettings] instance from a [Map] value.
factory PrintJobSettings.fromMap(Map<String, dynamic> map) { factory PrintJobSettings.fromMap(Map<String, dynamic> map) {
return PrintJobSettings( return PrintJobSettings(
handledByClient: map["handledByClient"], handledByClient: map["handledByClient"],
jobName: map["jobName"], jobName: map["jobName"],
animated: map["animated"], animated: map["animated"],
orientation: PrintJobOrientation.fromNativeValue(map["orientation"]), orientation: PrintJobOrientation.fromNativeValue(map["orientation"]),
numberOfPages: map["numberOfPages"], numberOfPages: map["numberOfPages"],
forceRenderingQuality: forceRenderingQuality: PrintJobRenderingQuality.fromNativeValue(
PrintJobRenderingQuality.fromNativeValue(map["forceRenderingQuality"]), map["forceRenderingQuality"]),
margins: margins: MapEdgeInsets.fromMap(map["margins"]?.cast<String, dynamic>()),
MapEdgeInsets.fromMap(map["margins"]?.cast<String, dynamic>()), mediaSize:
mediaSize: PrintJobMediaSize.fromMap(map["mediaSize"]?.cast<String, dynamic>()),
PrintJobMediaSize.fromMap(map["mediaSize"]?.cast<String, dynamic>()), colorMode: PrintJobColorMode.fromNativeValue(map["colorMode"]),
colorMode: PrintJobColorMode.fromNativeValue(map["colorMode"]), duplexMode: PrintJobDuplexMode.fromNativeValue(map["duplexMode"]),
duplexMode: PrintJobDuplexMode.fromNativeValue(map["duplexMode"]), outputType: PrintJobOutputType.fromNativeValue(map["outputType"]),
outputType: PrintJobOutputType.fromNativeValue(map["outputType"]), resolution: PrintJobResolution.fromMap(
resolution: map["resolution"]?.cast<String, dynamic>()),
PrintJobResolution.fromMap(map["resolution"]?.cast<String, dynamic>()), showsNumberOfCopies: map["showsNumberOfCopies"],
showsNumberOfCopies: map["showsNumberOfCopies"], showsPaperSelectionForLoadedPapers:
showsPaperSelectionForLoadedPapers: map["showsPaperSelectionForLoadedPapers"],
map["showsPaperSelectionForLoadedPapers"], showsPaperOrientation: map["showsPaperOrientation"],
showsPaperOrientation: map["showsPaperOrientation"], maximumContentHeight: map["maximumContentHeight"],
maximumContentHeight: map["maximumContentHeight"], maximumContentWidth: map["maximumContentWidth"],
maximumContentWidth: map["maximumContentWidth"], footerHeight: map["footerHeight"],
footerHeight: map["footerHeight"], headerHeight: map["headerHeight"],
headerHeight: map["headerHeight"],
); );
} }

View File

@ -60,7 +60,7 @@ class PullToRefreshController {
_debugLog(String method, dynamic args) { _debugLog(String method, dynamic args) {
if (PullToRefreshController.debugLoggingSettings.enabled) { if (PullToRefreshController.debugLoggingSettings.enabled) {
for (var regExp for (var regExp
in PullToRefreshController.debugLoggingSettings.excludeFilter) { in PullToRefreshController.debugLoggingSettings.excludeFilter) {
if (regExp.hasMatch(method)) return; if (regExp.hasMatch(method)) return;
} }
var maxLogMessageLength = var maxLogMessageLength =

View File

@ -3,9 +3,7 @@ import 'package:flutter_inappwebview_internal_annotations/flutter_inappwebview_i
part 'action_mode_menu_item.g.dart'; part 'action_mode_menu_item.g.dart';
///Class used to disable the action mode menu items. ///Class used to disable the action mode menu items.
@ExchangeableEnum( @ExchangeableEnum(bitwiseOrOperator: true)
bitwiseOrOperator: true
)
class ActionModeMenuItem_ { class ActionModeMenuItem_ {
// ignore: unused_field // ignore: unused_field
final int _value; final int _value;
@ -30,9 +28,7 @@ class ActionModeMenuItem_ {
/// ///
///Use [ActionModeMenuItem] instead. ///Use [ActionModeMenuItem] instead.
@Deprecated("Use ActionModeMenuItem instead") @Deprecated("Use ActionModeMenuItem instead")
@ExchangeableEnum( @ExchangeableEnum(bitwiseOrOperator: true)
bitwiseOrOperator: true
)
class AndroidActionModeMenuItem_ { class AndroidActionModeMenuItem_ {
// ignore: unused_field // ignore: unused_field
final int _value; final int _value;
@ -46,9 +42,9 @@ class AndroidActionModeMenuItem_ {
///Disable menu item "Web Search". ///Disable menu item "Web Search".
static const MENU_ITEM_WEB_SEARCH = static const MENU_ITEM_WEB_SEARCH =
const AndroidActionModeMenuItem_._internal(2); const AndroidActionModeMenuItem_._internal(2);
///Disable all the action mode menu items for text processing. ///Disable all the action mode menu items for text processing.
static const MENU_ITEM_PROCESS_TEXT = static const MENU_ITEM_PROCESS_TEXT =
const AndroidActionModeMenuItem_._internal(4); const AndroidActionModeMenuItem_._internal(4);
} }

View File

@ -79,23 +79,22 @@ class AjaxRequest_ {
AjaxRequest_( AjaxRequest_(
{this.data, {this.data,
this.method, this.method,
this.url, this.url,
this.isAsync, this.isAsync,
this.user, this.user,
this.password, this.password,
this.withCredentials, this.withCredentials,
this.headers, this.headers,
this.readyState, this.readyState,
this.status, this.status,
this.responseURL, this.responseURL,
this.responseType, this.responseType,
this.response, this.response,
this.responseText, this.responseText,
this.responseXML, this.responseXML,
this.statusText, this.statusText,
this.responseHeaders, this.responseHeaders,
this.event, this.event,
this.action = AjaxRequestAction_.PROCEED}); this.action = AjaxRequestAction_.PROCEED});
} }

View File

@ -24,5 +24,6 @@ class AjaxRequestEvent_ {
///When downloading a resource using HTTP, this only represent the content itself, not headers and other overhead. ///When downloading a resource using HTTP, this only represent the content itself, not headers and other overhead.
int? total; int? total;
AjaxRequestEvent_({this.type, this.lengthComputable, this.loaded, this.total}); AjaxRequestEvent_(
{this.type, this.lengthComputable, this.loaded, this.total});
} }

View File

@ -11,7 +11,7 @@ class AttributedStringTextEffectStyle_ {
///A graphical text effect that gives glyphs the appearance of letterpress printing, which involves pressing the type into the paper. ///A graphical text effect that gives glyphs the appearance of letterpress printing, which involves pressing the type into the paper.
static const LETTERPRESS_STYLE = static const LETTERPRESS_STYLE =
const AttributedStringTextEffectStyle_._internal("letterpressStyle"); const AttributedStringTextEffectStyle_._internal("letterpressStyle");
} }
///An iOS-specific Class that represents the supported proxy types. ///An iOS-specific Class that represents the supported proxy types.
@ -25,5 +25,5 @@ class IOSNSAttributedStringTextEffectStyle_ {
///A graphical text effect that gives glyphs the appearance of letterpress printing, which involves pressing the type into the paper. ///A graphical text effect that gives glyphs the appearance of letterpress printing, which involves pressing the type into the paper.
static const LETTERPRESS_STYLE = static const LETTERPRESS_STYLE =
const IOSNSAttributedStringTextEffectStyle_._internal("letterpressStyle"); const IOSNSAttributedStringTextEffectStyle_._internal("letterpressStyle");
} }

View File

@ -18,9 +18,9 @@ class ClientCertChallenge_ extends URLAuthenticationChallenge_ {
@SupportedPlatforms(platforms: [ @SupportedPlatforms(platforms: [
AndroidPlatform( AndroidPlatform(
apiName: "ClientCertRequest.getPrincipals", apiName: "ClientCertRequest.getPrincipals",
apiUrl: "https://developer.android.com/reference/android/webkit/ClientCertRequest#getPrincipals()", apiUrl:
available: "21" "https://developer.android.com/reference/android/webkit/ClientCertRequest#getPrincipals()",
) available: "21")
]) ])
List<String>? principals; List<String>? principals;
@ -32,17 +32,17 @@ class ClientCertChallenge_ extends URLAuthenticationChallenge_ {
@SupportedPlatforms(platforms: [ @SupportedPlatforms(platforms: [
AndroidPlatform( AndroidPlatform(
apiName: "ClientCertRequest.getKeyTypes", apiName: "ClientCertRequest.getKeyTypes",
apiUrl: "https://developer.android.com/reference/android/webkit/ClientCertRequest#getKeyTypes()", apiUrl:
available: "21" "https://developer.android.com/reference/android/webkit/ClientCertRequest#getKeyTypes()",
) available: "21")
]) ])
List<String>? keyTypes; List<String>? keyTypes;
ClientCertChallenge_( ClientCertChallenge_(
{required URLProtectionSpace_ protectionSpace, {required URLProtectionSpace_ protectionSpace,
@Deprecated('Use principals instead') this.androidPrincipals, @Deprecated('Use principals instead') this.androidPrincipals,
this.principals, this.principals,
@Deprecated('Use keyTypes instead') this.androidKeyTypes, @Deprecated('Use keyTypes instead') this.androidKeyTypes,
this.keyTypes}) this.keyTypes})
: super(protectionSpace: protectionSpace); : super(protectionSpace: protectionSpace);
} }

View File

@ -21,9 +21,7 @@ class ClientCertResponse_ {
String? androidKeyStoreType; String? androidKeyStoreType;
///An Android-specific property used by Java [KeyStore](https://developer.android.com/reference/java/security/KeyStore) class to get the instance. ///An Android-specific property used by Java [KeyStore](https://developer.android.com/reference/java/security/KeyStore) class to get the instance.
@SupportedPlatforms(platforms: [ @SupportedPlatforms(platforms: [AndroidPlatform()])
AndroidPlatform()
])
String? keyStoreType; String? keyStoreType;
///Indicate the [ClientCertResponseAction] to take in response of the client certificate challenge. ///Indicate the [ClientCertResponseAction] to take in response of the client certificate challenge.
@ -32,11 +30,11 @@ class ClientCertResponse_ {
@ExchangeableObjectConstructor() @ExchangeableObjectConstructor()
ClientCertResponse_( ClientCertResponse_(
{required this.certificatePath, {required this.certificatePath,
this.certificatePassword = "", this.certificatePassword = "",
@Deprecated('Use keyStoreType instead') @Deprecated('Use keyStoreType instead')
this.androidKeyStoreType = "PKCS12", this.androidKeyStoreType = "PKCS12",
this.keyStoreType = "PKCS12", this.keyStoreType = "PKCS12",
this.action = ClientCertResponseAction_.CANCEL}) { this.action = ClientCertResponseAction_.CANCEL}) {
if (this.action == ClientCertResponseAction_.PROCEED) if (this.action == ClientCertResponseAction_.PROCEED)
assert(certificatePath.isNotEmpty); assert(certificatePath.isNotEmpty);

View File

@ -18,9 +18,9 @@ class ContentBlockerActionType_ {
/// ///
///**NOTE**: on Android, JavaScript must be enabled. ///**NOTE**: on Android, JavaScript must be enabled.
static const CSS_DISPLAY_NONE = static const CSS_DISPLAY_NONE =
const ContentBlockerActionType_._internal('css-display-none'); const ContentBlockerActionType_._internal('css-display-none');
///Changes a URL from http to https. URLs with a specified (nondefault) port and links using other protocols are unaffected. ///Changes a URL from http to https. URLs with a specified (nondefault) port and links using other protocols are unaffected.
static const MAKE_HTTPS = static const MAKE_HTTPS =
const ContentBlockerActionType_._internal('make-https'); const ContentBlockerActionType_._internal('make-https');
} }

View File

@ -13,9 +13,9 @@ class ContentBlockerTriggerLoadType_ {
///FIRST_PARTY is triggered only if the resource has the same scheme, domain, and port as the main page resource. ///FIRST_PARTY is triggered only if the resource has the same scheme, domain, and port as the main page resource.
static const FIRST_PARTY = static const FIRST_PARTY =
const ContentBlockerTriggerLoadType_._internal('first-party'); const ContentBlockerTriggerLoadType_._internal('first-party');
///THIRD_PARTY is triggered if the resource is not from the same domain as the main page resource. ///THIRD_PARTY is triggered if the resource is not from the same domain as the main page resource.
static const THIRD_PARTY = static const THIRD_PARTY =
const ContentBlockerTriggerLoadType_._internal('third-party'); const ContentBlockerTriggerLoadType_._internal('third-party');
} }

View File

@ -25,7 +25,7 @@ class ContentWorld {
///The default world for clients. ///The default world for clients.
static final ContentWorld DEFAULT_CLIENT = static final ContentWorld DEFAULT_CLIENT =
ContentWorld.world(name: "defaultClient"); ContentWorld.world(name: "defaultClient");
///The content world for the current webpages content. ///The content world for the current webpages content.
///This property contains the content world for scripts that the current webpage executes. ///This property contains the content world for scripts that the current webpage executes.

View File

@ -51,12 +51,12 @@ class Cookie_ {
Cookie_( Cookie_(
{required this.name, {required this.name,
required this.value, required this.value,
this.expiresDate, this.expiresDate,
this.isSessionOnly, this.isSessionOnly,
this.domain, this.domain,
this.sameSite, this.sameSite,
this.isSecure, this.isSecure,
this.isHttpOnly, this.isHttpOnly,
this.path}); this.path});
} }

View File

@ -20,11 +20,7 @@ class CreateWindowAction_ extends NavigationAction_ {
bool? androidIsDialog; bool? androidIsDialog;
///Indicates if the new window should be a dialog, rather than a full-size window. ///Indicates if the new window should be a dialog, rather than a full-size window.
@SupportedPlatforms( @SupportedPlatforms(platforms: [AndroidPlatform()])
platforms: [
AndroidPlatform()
]
)
bool? isDialog; bool? isDialog;
///Use [windowFeatures] instead. ///Use [windowFeatures] instead.
@ -32,55 +28,53 @@ class CreateWindowAction_ extends NavigationAction_ {
IOSWKWindowFeatures_? iosWindowFeatures; IOSWKWindowFeatures_? iosWindowFeatures;
///Window features requested by the webpage. ///Window features requested by the webpage.
@SupportedPlatforms( @SupportedPlatforms(platforms: [
platforms: [ IOSPlatform(
IOSPlatform( apiName: "WKWindowFeatures",
apiName: "WKWindowFeatures", apiUrl:
apiUrl: "https://developer.apple.com/documentation/webkit/wkwindowfeatures" "https://developer.apple.com/documentation/webkit/wkwindowfeatures")
) ])
]
)
WindowFeatures_? windowFeatures; WindowFeatures_? windowFeatures;
CreateWindowAction_( CreateWindowAction_(
{required this.windowId, {required this.windowId,
@Deprecated('Use isDialog instead') @Deprecated('Use isDialog instead')
this.androidIsDialog, this.androidIsDialog,
this.isDialog, this.isDialog,
@Deprecated('Use windowFeatures instead') @Deprecated('Use windowFeatures instead')
this.iosWindowFeatures, this.iosWindowFeatures,
this.windowFeatures, this.windowFeatures,
required URLRequest_ request, required URLRequest_ request,
required bool isForMainFrame, required bool isForMainFrame,
@Deprecated('Use hasGesture instead') @Deprecated('Use hasGesture instead')
bool? androidHasGesture, bool? androidHasGesture,
@Deprecated('Use isRedirect instead') @Deprecated('Use isRedirect instead')
bool? androidIsRedirect, bool? androidIsRedirect,
bool? hasGesture, bool? hasGesture,
bool? isRedirect, bool? isRedirect,
@Deprecated('Use navigationType instead') @Deprecated('Use navigationType instead')
// ignore: deprecated_member_use_from_same_package // ignore: deprecated_member_use_from_same_package
IOSWKNavigationType_? iosWKNavigationType, IOSWKNavigationType_? iosWKNavigationType,
NavigationType_? navigationType, NavigationType_? navigationType,
@Deprecated('Use sourceFrame instead') @Deprecated('Use sourceFrame instead')
// ignore: deprecated_member_use_from_same_package // ignore: deprecated_member_use_from_same_package
IOSWKFrameInfo_? iosSourceFrame, IOSWKFrameInfo_? iosSourceFrame,
FrameInfo_? sourceFrame, FrameInfo_? sourceFrame,
@Deprecated('Use targetFrame instead') @Deprecated('Use targetFrame instead')
// ignore: deprecated_member_use_from_same_package // ignore: deprecated_member_use_from_same_package
IOSWKFrameInfo_? iosTargetFrame, IOSWKFrameInfo_? iosTargetFrame,
FrameInfo_? targetFrame}) FrameInfo_? targetFrame})
: super( : super(
request: request, request: request,
isForMainFrame: isForMainFrame, isForMainFrame: isForMainFrame,
androidHasGesture: androidHasGesture, androidHasGesture: androidHasGesture,
hasGesture: hasGesture, hasGesture: hasGesture,
androidIsRedirect: androidIsRedirect, androidIsRedirect: androidIsRedirect,
isRedirect: isRedirect, isRedirect: isRedirect,
iosWKNavigationType: iosWKNavigationType, iosWKNavigationType: iosWKNavigationType,
navigationType: navigationType, navigationType: navigationType,
iosSourceFrame: iosSourceFrame, iosSourceFrame: iosSourceFrame,
sourceFrame: sourceFrame, sourceFrame: sourceFrame,
iosTargetFrame: iosTargetFrame, iosTargetFrame: iosTargetFrame,
targetFrame: targetFrame); targetFrame: targetFrame);
} }

View File

@ -18,5 +18,6 @@ class CrossOrigin_ {
static const ANONYMOUS = const CrossOrigin_._internal("anonymous"); static const ANONYMOUS = const CrossOrigin_._internal("anonymous");
///CORS requests for this element will have the credentials flag set to 'include'. ///CORS requests for this element will have the credentials flag set to 'include'.
static const USE_CREDENTIALS = const CrossOrigin_._internal("use-credentials"); static const USE_CREDENTIALS =
const CrossOrigin_._internal("use-credentials");
} }

View File

@ -43,11 +43,11 @@ class CSSLinkHtmlTagAttributes_ {
CSSLinkHtmlTagAttributes_( CSSLinkHtmlTagAttributes_(
{this.id, {this.id,
this.media, this.media,
this.crossOrigin, this.crossOrigin,
this.integrity, this.integrity,
this.referrerPolicy, this.referrerPolicy,
this.disabled, this.disabled,
this.alternate, this.alternate,
this.title}); this.title});
} }

View File

@ -21,6 +21,6 @@ class CustomSchemeResponse_ {
CustomSchemeResponse_( CustomSchemeResponse_(
{required this.data, {required this.data,
required this.contentType, required this.contentType,
this.contentEncoding = 'utf-8'}); this.contentEncoding = 'utf-8'});
} }

View File

@ -13,7 +13,8 @@ class DataDetectorTypes_ {
static const NONE = const DataDetectorTypes_._internal("NONE"); static const NONE = const DataDetectorTypes_._internal("NONE");
///Phone numbers are detected and turned into links. ///Phone numbers are detected and turned into links.
static const PHONE_NUMBER = const DataDetectorTypes_._internal("PHONE_NUMBER"); static const PHONE_NUMBER =
const DataDetectorTypes_._internal("PHONE_NUMBER");
///URLs in text are detected and turned into links. ///URLs in text are detected and turned into links.
static const LINK = const DataDetectorTypes_._internal("LINK"); static const LINK = const DataDetectorTypes_._internal("LINK");
@ -23,23 +24,23 @@ class DataDetectorTypes_ {
///Dates and times that are in the future are detected and turned into links. ///Dates and times that are in the future are detected and turned into links.
static const CALENDAR_EVENT = static const CALENDAR_EVENT =
const DataDetectorTypes_._internal("CALENDAR_EVENT"); const DataDetectorTypes_._internal("CALENDAR_EVENT");
///Tracking numbers are detected and turned into links. ///Tracking numbers are detected and turned into links.
static const TRACKING_NUMBER = static const TRACKING_NUMBER =
const DataDetectorTypes_._internal("TRACKING_NUMBER"); const DataDetectorTypes_._internal("TRACKING_NUMBER");
///Flight numbers are detected and turned into links. ///Flight numbers are detected and turned into links.
static const FLIGHT_NUMBER = static const FLIGHT_NUMBER =
const DataDetectorTypes_._internal("FLIGHT_NUMBER"); const DataDetectorTypes_._internal("FLIGHT_NUMBER");
///Lookup suggestions are detected and turned into links. ///Lookup suggestions are detected and turned into links.
static const LOOKUP_SUGGESTION = static const LOOKUP_SUGGESTION =
const DataDetectorTypes_._internal("LOOKUP_SUGGESTION"); const DataDetectorTypes_._internal("LOOKUP_SUGGESTION");
///Spotlight suggestions are detected and turned into links. ///Spotlight suggestions are detected and turned into links.
static const SPOTLIGHT_SUGGESTION = static const SPOTLIGHT_SUGGESTION =
const DataDetectorTypes_._internal("SPOTLIGHT_SUGGESTION"); const DataDetectorTypes_._internal("SPOTLIGHT_SUGGESTION");
///All of the above data types are turned into links when detected. Choosing this value will automatically include any new detection type that is added. ///All of the above data types are turned into links when detected. Choosing this value will automatically include any new detection type that is added.
static const ALL = const DataDetectorTypes_._internal("ALL"); static const ALL = const DataDetectorTypes_._internal("ALL");
@ -62,7 +63,7 @@ class IOSWKDataDetectorTypes_ {
///Phone numbers are detected and turned into links. ///Phone numbers are detected and turned into links.
static const PHONE_NUMBER = static const PHONE_NUMBER =
const IOSWKDataDetectorTypes_._internal("PHONE_NUMBER"); const IOSWKDataDetectorTypes_._internal("PHONE_NUMBER");
///URLs in text are detected and turned into links. ///URLs in text are detected and turned into links.
static const LINK = const IOSWKDataDetectorTypes_._internal("LINK"); static const LINK = const IOSWKDataDetectorTypes_._internal("LINK");
@ -72,23 +73,23 @@ class IOSWKDataDetectorTypes_ {
///Dates and times that are in the future are detected and turned into links. ///Dates and times that are in the future are detected and turned into links.
static const CALENDAR_EVENT = static const CALENDAR_EVENT =
const IOSWKDataDetectorTypes_._internal("CALENDAR_EVENT"); const IOSWKDataDetectorTypes_._internal("CALENDAR_EVENT");
///Tracking numbers are detected and turned into links. ///Tracking numbers are detected and turned into links.
static const TRACKING_NUMBER = static const TRACKING_NUMBER =
const IOSWKDataDetectorTypes_._internal("TRACKING_NUMBER"); const IOSWKDataDetectorTypes_._internal("TRACKING_NUMBER");
///Flight numbers are detected and turned into links. ///Flight numbers are detected and turned into links.
static const FLIGHT_NUMBER = static const FLIGHT_NUMBER =
const IOSWKDataDetectorTypes_._internal("FLIGHT_NUMBER"); const IOSWKDataDetectorTypes_._internal("FLIGHT_NUMBER");
///Lookup suggestions are detected and turned into links. ///Lookup suggestions are detected and turned into links.
static const LOOKUP_SUGGESTION = static const LOOKUP_SUGGESTION =
const IOSWKDataDetectorTypes_._internal("LOOKUP_SUGGESTION"); const IOSWKDataDetectorTypes_._internal("LOOKUP_SUGGESTION");
///Spotlight suggestions are detected and turned into links. ///Spotlight suggestions are detected and turned into links.
static const SPOTLIGHT_SUGGESTION = static const SPOTLIGHT_SUGGESTION =
const IOSWKDataDetectorTypes_._internal("SPOTLIGHT_SUGGESTION"); const IOSWKDataDetectorTypes_._internal("SPOTLIGHT_SUGGESTION");
///All of the above data types are turned into links when detected. Choosing this value will automatically include any new detection type that is added. ///All of the above data types are turned into links when detected. Choosing this value will automatically include any new detection type that is added.
static const ALL = const IOSWKDataDetectorTypes_._internal("ALL"); static const ALL = const IOSWKDataDetectorTypes_._internal("ALL");

View File

@ -30,10 +30,10 @@ class DownloadStartRequest_ {
DownloadStartRequest_( DownloadStartRequest_(
{required this.url, {required this.url,
this.userAgent, this.userAgent,
this.contentDisposition, this.contentDisposition,
this.mimeType, this.mimeType,
required this.contentLength, required this.contentLength,
this.suggestedFilename, this.suggestedFilename,
this.textEncodingName}); this.textEncodingName});
} }

View File

@ -43,9 +43,7 @@ class FetchRequest_ {
String? mode; String? mode;
///The request credentials used by the request. ///The request credentials used by the request.
@ExchangeableObjectProperty( @ExchangeableObjectProperty(deserializer: _fetchRequestCredentialDeserializer)
deserializer: _fetchRequestCredentialDeserializer
)
FetchRequestCredential_? credentials; FetchRequestCredential_? credentials;
///The cache mode used by the request. ///The cache mode used by the request.
@ -71,16 +69,16 @@ class FetchRequest_ {
FetchRequest_( FetchRequest_(
{this.url, {this.url,
this.method, this.method,
this.headers, this.headers,
this.body, this.body,
this.mode, this.mode,
this.credentials, this.credentials,
this.cache, this.cache,
this.redirect, this.redirect,
this.referrer, this.referrer,
this.referrerPolicy, this.referrerPolicy,
this.integrity, this.integrity,
this.keepalive, this.keepalive,
this.action = FetchRequestAction_.PROCEED}); this.action = FetchRequestAction_.PROCEED});
} }

View File

@ -16,9 +16,8 @@ class FindSession_ {
/// Defines how results are reported through the find panel's UI. /// Defines how results are reported through the find panel's UI.
SearchResultDisplayStyle_ searchResultDisplayStyle; SearchResultDisplayStyle_ searchResultDisplayStyle;
FindSession_({ FindSession_(
required this.resultCount, {required this.resultCount,
required this.highlightedResultIndex, required this.highlightedResultIndex,
required this.searchResultDisplayStyle required this.searchResultDisplayStyle});
});
} }

View File

@ -15,7 +15,8 @@ class ForceDarkStrategy_ {
///To avoid mixing two different darkening strategies, the `prefers-color-scheme` media query will evaluate to light. ///To avoid mixing two different darkening strategies, the `prefers-color-scheme` media query will evaluate to light.
/// ///
///See [specification](https://drafts.csswg.org/css-color-adjust-1/) for more information. ///See [specification](https://drafts.csswg.org/css-color-adjust-1/) for more information.
static const USER_AGENT_DARKENING_ONLY = const ForceDarkStrategy_._internal(0); static const USER_AGENT_DARKENING_ONLY =
const ForceDarkStrategy_._internal(0);
///In this mode [WebView] content will always be darkened using dark theme provided by web page. ///In this mode [WebView] content will always be darkened using dark theme provided by web page.
///If web page does not provide dark theme support [WebView] content will be rendered with a default theme. ///If web page does not provide dark theme support [WebView] content will be rendered with a default theme.
@ -29,5 +30,6 @@ class ForceDarkStrategy_ {
///If the metadata is not presented [WebView] content will be darkened by a user agent and `prefers-color-scheme` media query will evaluate to light. ///If the metadata is not presented [WebView] content will be darkened by a user agent and `prefers-color-scheme` media query will evaluate to light.
/// ///
///See [specification](https://drafts.csswg.org/css-color-adjust-1/) for more information. ///See [specification](https://drafts.csswg.org/css-color-adjust-1/) for more information.
static const PREFER_WEB_THEME_OVER_USER_AGENT_DARKENING = const ForceDarkStrategy_._internal(2); static const PREFER_WEB_THEME_OVER_USER_AGENT_DARKENING =
const ForceDarkStrategy_._internal(2);
} }

View File

@ -22,7 +22,7 @@ class HttpAuthResponse_ {
HttpAuthResponse_( HttpAuthResponse_(
{this.username = "", {this.username = "",
this.password = "", this.password = "",
this.permanentPersistence = false, this.permanentPersistence = false,
this.action = HttpAuthResponseAction_.CANCEL}); this.action = HttpAuthResponseAction_.CANCEL});
} }

View File

@ -10,6 +10,7 @@ class HttpAuthResponseAction_ {
// ignore: unused_field // ignore: unused_field
final int _value; final int _value;
const HttpAuthResponseAction_._internal(this._value); const HttpAuthResponseAction_._internal(this._value);
///Instructs the WebView to cancel the authentication request. ///Instructs the WebView to cancel the authentication request.
static const CANCEL = const HttpAuthResponseAction_._internal(0); static const CANCEL = const HttpAuthResponseAction_._internal(0);
@ -18,5 +19,5 @@ class HttpAuthResponseAction_ {
///Uses the credentials stored for the current host. ///Uses the credentials stored for the current host.
static const USE_SAVED_HTTP_AUTH_CREDENTIALS = static const USE_SAVED_HTTP_AUTH_CREDENTIALS =
const HttpAuthResponseAction_._internal(2); const HttpAuthResponseAction_._internal(2);
} }

View File

@ -45,11 +45,11 @@ class HttpAuthenticationChallenge_ extends URLAuthenticationChallenge_ {
HttpAuthenticationChallenge_( HttpAuthenticationChallenge_(
{required this.previousFailureCount, {required this.previousFailureCount,
required URLProtectionSpace_ protectionSpace, required URLProtectionSpace_ protectionSpace,
@Deprecated("Use failureResponse instead") this.iosFailureResponse, @Deprecated("Use failureResponse instead") this.iosFailureResponse,
this.failureResponse, this.failureResponse,
this.proposedCredential, this.proposedCredential,
@Deprecated("Use error instead") this.iosError, @Deprecated("Use error instead") this.iosError,
this.error}) this.error})
: super(protectionSpace: protectionSpace); : super(protectionSpace: protectionSpace);
} }

View File

@ -26,13 +26,13 @@ class InAppWebViewHitTestResultType_ {
///[InAppWebViewHitTestResult] for hitting a HTML::a tag with src=http. ///[InAppWebViewHitTestResult] for hitting a HTML::a tag with src=http.
static const SRC_ANCHOR_TYPE = static const SRC_ANCHOR_TYPE =
const InAppWebViewHitTestResultType_._internal(7); const InAppWebViewHitTestResultType_._internal(7);
///[InAppWebViewHitTestResult] for hitting a HTML::a tag with src=http + HTML::img. ///[InAppWebViewHitTestResult] for hitting a HTML::a tag with src=http + HTML::img.
static const SRC_IMAGE_ANCHOR_TYPE = static const SRC_IMAGE_ANCHOR_TYPE =
const InAppWebViewHitTestResultType_._internal(8); const InAppWebViewHitTestResultType_._internal(8);
///[InAppWebViewHitTestResult] for hitting an edit text area. ///[InAppWebViewHitTestResult] for hitting an edit text area.
static const EDIT_TEXT_TYPE = static const EDIT_TEXT_TYPE =
const InAppWebViewHitTestResultType_._internal(9); const InAppWebViewHitTestResultType_._internal(9);
} }

View File

@ -24,16 +24,14 @@ class InAppWebViewInitialData_ {
Uri? androidHistoryUrl; Uri? androidHistoryUrl;
///The URL to use as the history entry. If `null` defaults to `about:blank`. If non-null, this must be a valid URL. ///The URL to use as the history entry. If `null` defaults to `about:blank`. If non-null, this must be a valid URL.
@SupportedPlatforms(platforms: [ @SupportedPlatforms(platforms: [AndroidPlatform()])
AndroidPlatform()
])
Uri? historyUrl; Uri? historyUrl;
InAppWebViewInitialData_( InAppWebViewInitialData_(
{required this.data, {required this.data,
this.mimeType = "text/html", this.mimeType = "text/html",
this.encoding = "utf8", this.encoding = "utf8",
this.baseUrl, this.baseUrl,
@Deprecated('Use historyUrl instead') this.androidHistoryUrl, @Deprecated('Use historyUrl instead') this.androidHistoryUrl,
this.historyUrl}); this.historyUrl});
} }

View File

@ -20,9 +20,9 @@ class InAppWebViewRect_ {
@ExchangeableObjectConstructor() @ExchangeableObjectConstructor()
InAppWebViewRect_( InAppWebViewRect_(
{required this.x, {required this.x,
required this.y, required this.y,
required this.width, required this.width,
required this.height}) { required this.height}) {
assert(this.x >= 0 && this.y >= 0 && this.width >= 0 && this.height >= 0); assert(this.x >= 0 && this.y >= 0 && this.width >= 0 && this.height >= 0);
} }
} }

View File

@ -23,7 +23,7 @@ class JsAlertRequest_ {
JsAlertRequest_( JsAlertRequest_(
{this.url, {this.url,
this.message, this.message,
@Deprecated("Use isMainFrame instead") this.iosIsMainFrame, @Deprecated("Use isMainFrame instead") this.iosIsMainFrame,
this.isMainFrame}); this.isMainFrame});
} }

View File

@ -23,7 +23,7 @@ class JsAlertResponse_ {
JsAlertResponse_( JsAlertResponse_(
{this.message = "", {this.message = "",
this.handledByClient = false, this.handledByClient = false,
this.confirmButtonTitle = "", this.confirmButtonTitle = "",
this.action = JsAlertResponseAction_.CONFIRM}); this.action = JsAlertResponseAction_.CONFIRM});
} }

View File

@ -26,8 +26,8 @@ class JsBeforeUnloadResponse_ {
JsBeforeUnloadResponse_( JsBeforeUnloadResponse_(
{this.message = "", {this.message = "",
this.handledByClient = false, this.handledByClient = false,
this.confirmButtonTitle = "", this.confirmButtonTitle = "",
this.cancelButtonTitle = "", this.cancelButtonTitle = "",
this.action = JsBeforeUnloadResponseAction_.CONFIRM}); this.action = JsBeforeUnloadResponseAction_.CONFIRM});
} }

View File

@ -23,7 +23,7 @@ class JsConfirmRequest_ {
JsConfirmRequest_( JsConfirmRequest_(
{this.url, {this.url,
this.message, this.message,
@Deprecated("Use isMainFrame instead") this.iosIsMainFrame, @Deprecated("Use isMainFrame instead") this.iosIsMainFrame,
this.isMainFrame}); this.isMainFrame});
} }

View File

@ -26,8 +26,8 @@ class JsConfirmResponse_ {
JsConfirmResponse_( JsConfirmResponse_(
{this.message = "", {this.message = "",
this.handledByClient = false, this.handledByClient = false,
this.confirmButtonTitle = "", this.confirmButtonTitle = "",
this.cancelButtonTitle = "", this.cancelButtonTitle = "",
this.action = JsConfirmResponseAction_.CANCEL}); this.action = JsConfirmResponseAction_.CANCEL});
} }

View File

@ -26,8 +26,8 @@ class JsPromptRequest_ {
JsPromptRequest_( JsPromptRequest_(
{this.url, {this.url,
this.message, this.message,
this.defaultValue, this.defaultValue,
@Deprecated("Use isMainFrame instead") this.iosIsMainFrame, @Deprecated("Use isMainFrame instead") this.iosIsMainFrame,
this.isMainFrame}); this.isMainFrame});
} }

View File

@ -32,10 +32,10 @@ class JsPromptResponse_ {
JsPromptResponse_( JsPromptResponse_(
{this.message = "", {this.message = "",
this.defaultValue = "", this.defaultValue = "",
this.handledByClient = false, this.handledByClient = false,
this.confirmButtonTitle = "", this.confirmButtonTitle = "",
this.cancelButtonTitle = "", this.cancelButtonTitle = "",
this.value, this.value,
this.action = JsPromptResponseAction_.CANCEL}); this.action = JsPromptResponseAction_.CANCEL});
} }

View File

@ -20,11 +20,11 @@ class LayoutAlgorithm_ {
/// ///
///**NOTE**: available on Android 19+. ///**NOTE**: available on Android 19+.
static const TEXT_AUTOSIZING = static const TEXT_AUTOSIZING =
const LayoutAlgorithm_._internal("TEXT_AUTOSIZING"); const LayoutAlgorithm_._internal("TEXT_AUTOSIZING");
///NARROW_COLUMNS makes all columns no wider than the screen if possible. Only use this for API levels prior to `Build.VERSION_CODES.KITKAT`. ///NARROW_COLUMNS makes all columns no wider than the screen if possible. Only use this for API levels prior to `Build.VERSION_CODES.KITKAT`.
static const NARROW_COLUMNS = static const NARROW_COLUMNS =
const LayoutAlgorithm_._internal("NARROW_COLUMNS"); const LayoutAlgorithm_._internal("NARROW_COLUMNS");
} }
///An Android-specific class used to set the underlying layout algorithm. ///An Android-specific class used to set the underlying layout algorithm.
@ -44,9 +44,9 @@ class AndroidLayoutAlgorithm_ {
/// ///
///**NOTE**: available on Android 19+. ///**NOTE**: available on Android 19+.
static const TEXT_AUTOSIZING = static const TEXT_AUTOSIZING =
const AndroidLayoutAlgorithm_._internal("TEXT_AUTOSIZING"); const AndroidLayoutAlgorithm_._internal("TEXT_AUTOSIZING");
///NARROW_COLUMNS makes all columns no wider than the screen if possible. Only use this for API levels prior to `Build.VERSION_CODES.KITKAT`. ///NARROW_COLUMNS makes all columns no wider than the screen if possible. Only use this for API levels prior to `Build.VERSION_CODES.KITKAT`.
static const NARROW_COLUMNS = static const NARROW_COLUMNS =
const AndroidLayoutAlgorithm_._internal("NARROW_COLUMNS"); const AndroidLayoutAlgorithm_._internal("NARROW_COLUMNS");
} }

View File

@ -30,7 +30,9 @@ class LayoutInDisplayCutoutMode_ {
static const ALWAYS = const LayoutInDisplayCutoutMode_._internal(3); static const ALWAYS = const LayoutInDisplayCutoutMode_._internal(3);
@ExchangeableObjectMethod(ignore: true) @ExchangeableObjectMethod(ignore: true)
static LayoutInDisplayCutoutMode_? fromNativeValue(int? value) {return null;} static LayoutInDisplayCutoutMode_? fromNativeValue(int? value) {
return null;
}
} }
///Android-specific class representing the share state that should be applied to the custom tab. ///Android-specific class representing the share state that should be applied to the custom tab.
@ -54,7 +56,7 @@ class AndroidLayoutInDisplayCutoutMode_ {
/// ///
///**NOTE**: available on Android 28+. ///**NOTE**: available on Android 28+.
static const SHORT_EDGES = static const SHORT_EDGES =
const AndroidLayoutInDisplayCutoutMode_._internal(1); const AndroidLayoutInDisplayCutoutMode_._internal(1);
///Content never renders into the cutout area. ///Content never renders into the cutout area.
/// ///

View File

@ -20,5 +20,6 @@ class LoadedResource_ {
///Returns the [DOMHighResTimeStamp](https://developer.mozilla.org/en-US/docs/Web/API/DOMHighResTimeStamp) duration to fetch a resource. ///Returns the [DOMHighResTimeStamp](https://developer.mozilla.org/en-US/docs/Web/API/DOMHighResTimeStamp) duration to fetch a resource.
double? duration; double? duration;
LoadedResource_({this.initiatorType, this.url, this.startTime, this.duration}); LoadedResource_(
{this.initiatorType, this.url, this.startTime, this.duration});
} }

View File

@ -1,4 +1,5 @@
export 'action_mode_menu_item.dart' show ActionModeMenuItem, AndroidActionModeMenuItem; export 'action_mode_menu_item.dart'
show ActionModeMenuItem, AndroidActionModeMenuItem;
export 'ajax_request.dart' show AjaxRequest; export 'ajax_request.dart' show AjaxRequest;
export 'ajax_request_action.dart' show AjaxRequestAction; export 'ajax_request_action.dart' show AjaxRequestAction;
export 'ajax_request_event.dart' show AjaxRequestEvent; export 'ajax_request_event.dart' show AjaxRequestEvent;
@ -6,7 +7,8 @@ export 'ajax_request_event_type.dart' show AjaxRequestEventType;
export 'ajax_request_headers.dart' show AjaxRequestHeaders; export 'ajax_request_headers.dart' show AjaxRequestHeaders;
export 'ajax_request_ready_state.dart' show AjaxRequestReadyState; export 'ajax_request_ready_state.dart' show AjaxRequestReadyState;
export 'attributed_string.dart' show AttributedString, IOSNSAttributedString; export 'attributed_string.dart' show AttributedString, IOSNSAttributedString;
export 'attributed_string_text_effect_style.dart' show AttributedStringTextEffectStyle, IOSNSAttributedStringTextEffectStyle; export 'attributed_string_text_effect_style.dart'
show AttributedStringTextEffectStyle, IOSNSAttributedStringTextEffectStyle;
export 'cache_mode.dart' show CacheMode, AndroidCacheMode; export 'cache_mode.dart' show CacheMode, AndroidCacheMode;
export 'call_async_javascript_result.dart' show CallAsyncJavaScriptResult; export 'call_async_javascript_result.dart' show CallAsyncJavaScriptResult;
export 'client_cert_challenge.dart' show ClientCertChallenge; export 'client_cert_challenge.dart' show ClientCertChallenge;
@ -16,8 +18,10 @@ export 'compress_format.dart' show CompressFormat;
export 'console_message.dart' show ConsoleMessage; export 'console_message.dart' show ConsoleMessage;
export 'console_message_level.dart' show ConsoleMessageLevel; export 'console_message_level.dart' show ConsoleMessageLevel;
export 'content_blocker_action_type.dart' show ContentBlockerActionType; export 'content_blocker_action_type.dart' show ContentBlockerActionType;
export 'content_blocker_trigger_load_type.dart' show ContentBlockerTriggerLoadType; export 'content_blocker_trigger_load_type.dart'
export 'content_blocker_trigger_resource_type.dart' show ContentBlockerTriggerResourceType; show ContentBlockerTriggerLoadType;
export 'content_blocker_trigger_resource_type.dart'
show ContentBlockerTriggerResourceType;
export 'content_world.dart' show ContentWorld; export 'content_world.dart' show ContentWorld;
export 'cookie.dart' show Cookie; export 'cookie.dart' show Cookie;
export 'create_window_action.dart' show CreateWindowAction; export 'create_window_action.dart' show CreateWindowAction;
@ -25,27 +29,34 @@ export 'cross_origin.dart' show CrossOrigin;
export 'css_link_html_tag_attributes.dart' show CSSLinkHtmlTagAttributes; export 'css_link_html_tag_attributes.dart' show CSSLinkHtmlTagAttributes;
export 'custom_scheme_response.dart' show CustomSchemeResponse; export 'custom_scheme_response.dart' show CustomSchemeResponse;
export 'custom_tabs_share_state.dart' show CustomTabsShareState; export 'custom_tabs_share_state.dart' show CustomTabsShareState;
export 'data_detector_types.dart' show DataDetectorTypes, IOSWKDataDetectorTypes; export 'data_detector_types.dart'
export 'dismiss_button_style.dart' show DismissButtonStyle, IOSSafariDismissButtonStyle; show DataDetectorTypes, IOSWKDataDetectorTypes;
export 'dismiss_button_style.dart'
show DismissButtonStyle, IOSSafariDismissButtonStyle;
export 'download_start_request.dart' show DownloadStartRequest; export 'download_start_request.dart' show DownloadStartRequest;
export 'favicon.dart' show Favicon; export 'favicon.dart' show Favicon;
export 'fetch_request.dart' show FetchRequest; export 'fetch_request.dart' show FetchRequest;
export 'fetch_request_action.dart' show FetchRequestAction; export 'fetch_request_action.dart' show FetchRequestAction;
export 'fetch_request_credential.dart' show FetchRequestCredential; export 'fetch_request_credential.dart' show FetchRequestCredential;
export 'fetch_request_credential_default.dart' show FetchRequestCredentialDefault; export 'fetch_request_credential_default.dart'
export 'fetch_request_federated_credential.dart' show FetchRequestFederatedCredential; show FetchRequestCredentialDefault;
export 'fetch_request_password_credential.dart' show FetchRequestPasswordCredential; export 'fetch_request_federated_credential.dart'
show FetchRequestFederatedCredential;
export 'fetch_request_password_credential.dart'
show FetchRequestPasswordCredential;
export 'force_dark.dart' show ForceDark, AndroidForceDark; export 'force_dark.dart' show ForceDark, AndroidForceDark;
export 'force_dark_strategy.dart' show ForceDarkStrategy; export 'force_dark_strategy.dart' show ForceDarkStrategy;
export 'form_resubmission_action.dart' show FormResubmissionAction; export 'form_resubmission_action.dart' show FormResubmissionAction;
export 'frame_info.dart' show FrameInfo, IOSWKFrameInfo; export 'frame_info.dart' show FrameInfo, IOSWKFrameInfo;
export 'geolocation_permission_show_prompt_response.dart' show GeolocationPermissionShowPromptResponse; export 'geolocation_permission_show_prompt_response.dart'
show GeolocationPermissionShowPromptResponse;
export 'http_auth_response.dart' show HttpAuthResponse; export 'http_auth_response.dart' show HttpAuthResponse;
export 'http_auth_response_action.dart' show HttpAuthResponseAction; export 'http_auth_response_action.dart' show HttpAuthResponseAction;
export 'http_authentication_challenge.dart' show HttpAuthenticationChallenge; export 'http_authentication_challenge.dart' show HttpAuthenticationChallenge;
export 'http_cookie_same_site_policy.dart' show HTTPCookieSameSitePolicy; export 'http_cookie_same_site_policy.dart' show HTTPCookieSameSitePolicy;
export 'in_app_webview_hit_test_result.dart' show InAppWebViewHitTestResult; export 'in_app_webview_hit_test_result.dart' show InAppWebViewHitTestResult;
export 'in_app_webview_hit_test_result_type.dart' show InAppWebViewHitTestResultType; export 'in_app_webview_hit_test_result_type.dart'
show InAppWebViewHitTestResultType;
export 'in_app_webview_initial_data.dart' show InAppWebViewInitialData; export 'in_app_webview_initial_data.dart' show InAppWebViewInitialData;
export 'in_app_webview_rect.dart' show InAppWebViewRect; export 'in_app_webview_rect.dart' show InAppWebViewRect;
export 'javascript_handler_callback.dart' show JavaScriptHandlerCallback; export 'javascript_handler_callback.dart' show JavaScriptHandlerCallback;
@ -54,7 +65,8 @@ export 'js_alert_response.dart' show JsAlertResponse;
export 'js_alert_response_action.dart' show JsAlertResponseAction; export 'js_alert_response_action.dart' show JsAlertResponseAction;
export 'js_before_unload_request.dart' show JsBeforeUnloadRequest; export 'js_before_unload_request.dart' show JsBeforeUnloadRequest;
export 'js_before_unload_response.dart' show JsBeforeUnloadResponse; export 'js_before_unload_response.dart' show JsBeforeUnloadResponse;
export 'js_before_unload_response_action.dart' show JsBeforeUnloadResponseAction; export 'js_before_unload_response_action.dart'
show JsBeforeUnloadResponseAction;
export 'js_confirm_request.dart' show JsConfirmRequest; export 'js_confirm_request.dart' show JsConfirmRequest;
export 'js_confirm_response.dart' show JsConfirmResponse; export 'js_confirm_response.dart' show JsConfirmResponse;
export 'js_confirm_response_action.dart' show JsConfirmResponseAction; export 'js_confirm_response_action.dart' show JsConfirmResponseAction;
@ -62,7 +74,8 @@ export 'js_prompt_request.dart' show JsPromptRequest;
export 'js_prompt_response.dart' show JsPromptResponse; export 'js_prompt_response.dart' show JsPromptResponse;
export 'js_prompt_response_action.dart' show JsPromptResponseAction; export 'js_prompt_response_action.dart' show JsPromptResponseAction;
export 'layout_algorithm.dart' show LayoutAlgorithm, AndroidLayoutAlgorithm; export 'layout_algorithm.dart' show LayoutAlgorithm, AndroidLayoutAlgorithm;
export 'layout_in_display_cutout_mode.dart' show LayoutInDisplayCutoutMode, AndroidLayoutInDisplayCutoutMode; export 'layout_in_display_cutout_mode.dart'
show LayoutInDisplayCutoutMode, AndroidLayoutInDisplayCutoutMode;
export 'loaded_resource.dart' show LoadedResource; export 'loaded_resource.dart' show LoadedResource;
export 'login_request.dart' show LoginRequest; export 'login_request.dart' show LoginRequest;
export 'media_capture_state.dart' show MediaCaptureState; export 'media_capture_state.dart' show MediaCaptureState;
@ -70,20 +83,26 @@ export 'media_playback_state.dart' show MediaPlaybackState;
export 'meta_tag.dart' show MetaTag; export 'meta_tag.dart' show MetaTag;
export 'meta_tag_attribute.dart' show MetaTagAttribute; export 'meta_tag_attribute.dart' show MetaTagAttribute;
export 'mixed_content_mode.dart' show MixedContentMode, AndroidMixedContentMode; export 'mixed_content_mode.dart' show MixedContentMode, AndroidMixedContentMode;
export 'modal_presentation_style.dart' show ModalPresentationStyle, IOSUIModalPresentationStyle; export 'modal_presentation_style.dart'
export 'modal_transition_style.dart' show ModalTransitionStyle, IOSUIModalTransitionStyle; show ModalPresentationStyle, IOSUIModalPresentationStyle;
export 'modal_transition_style.dart'
show ModalTransitionStyle, IOSUIModalTransitionStyle;
export 'navigation_action.dart' show NavigationAction; export 'navigation_action.dart' show NavigationAction;
export 'navigation_action_policy.dart' show NavigationActionPolicy; export 'navigation_action_policy.dart' show NavigationActionPolicy;
export 'navigation_response.dart' show NavigationResponse, IOSWKNavigationResponse; export 'navigation_response.dart'
export 'navigation_response_action.dart' show NavigationResponseAction, IOSNavigationResponseAction; show NavigationResponse, IOSWKNavigationResponse;
export 'navigation_response_action.dart'
show NavigationResponseAction, IOSNavigationResponseAction;
export 'navigation_type.dart' show NavigationType, IOSWKNavigationType; export 'navigation_type.dart' show NavigationType, IOSWKNavigationType;
export 'on_post_message_callback.dart' show OnPostMessageCallback; export 'on_post_message_callback.dart' show OnPostMessageCallback;
export 'over_scroll_mode.dart' show OverScrollMode, AndroidOverScrollMode; export 'over_scroll_mode.dart' show OverScrollMode, AndroidOverScrollMode;
export 'pdf_configuration.dart' show PDFConfiguration, IOSWKPDFConfiguration; export 'pdf_configuration.dart' show PDFConfiguration, IOSWKPDFConfiguration;
export 'permission_request.dart' show PermissionRequest; export 'permission_request.dart' show PermissionRequest;
export 'permission_resource_type.dart' show PermissionResourceType; export 'permission_resource_type.dart' show PermissionResourceType;
export 'permission_response.dart' show PermissionResponse, PermissionRequestResponse; export 'permission_response.dart'
export 'permission_response_action.dart' show PermissionResponseAction, PermissionRequestResponseAction; show PermissionResponse, PermissionRequestResponse;
export 'permission_response_action.dart'
show PermissionResponseAction, PermissionRequestResponseAction;
export 'print_job_attributes.dart' show PrintJobAttributes; export 'print_job_attributes.dart' show PrintJobAttributes;
export 'print_job_color_mode.dart' show PrintJobColorMode; export 'print_job_color_mode.dart' show PrintJobColorMode;
export 'print_job_duplex_mode.dart' show PrintJobDuplexMode; export 'print_job_duplex_mode.dart' show PrintJobDuplexMode;
@ -96,7 +115,8 @@ export 'print_job_resolution.dart' show PrintJobResolution;
export 'print_job_state.dart' show PrintJobState; export 'print_job_state.dart' show PrintJobState;
export 'proxy_rule.dart' show ProxyRule; export 'proxy_rule.dart' show ProxyRule;
export 'proxy_scheme_filter.dart' show ProxySchemeFilter; export 'proxy_scheme_filter.dart' show ProxySchemeFilter;
export 'pull_to_refresh_size.dart' show PullToRefreshSize, AndroidPullToRefreshSize; export 'pull_to_refresh_size.dart'
show PullToRefreshSize, AndroidPullToRefreshSize;
export 'referrer_policy.dart' show ReferrerPolicy; export 'referrer_policy.dart' show ReferrerPolicy;
export 'render_process_gone_detail.dart' show RenderProcessGoneDetail; export 'render_process_gone_detail.dart' show RenderProcessGoneDetail;
export 'renderer_priority.dart' show RendererPriority; export 'renderer_priority.dart' show RendererPriority;
@ -110,41 +130,62 @@ export 'sandbox.dart' show Sandbox;
export 'screenshot_configuration.dart' show ScreenshotConfiguration; export 'screenshot_configuration.dart' show ScreenshotConfiguration;
export 'script_html_tag_attributes.dart' show ScriptHtmlTagAttributes; export 'script_html_tag_attributes.dart' show ScriptHtmlTagAttributes;
export 'scrollbar_style.dart' show ScrollBarStyle, AndroidScrollBarStyle; export 'scrollbar_style.dart' show ScrollBarStyle, AndroidScrollBarStyle;
export 'scrollview_content_inset_adjustment_behavior.dart' show ScrollViewContentInsetAdjustmentBehavior, IOSUIScrollViewContentInsetAdjustmentBehavior; export 'scrollview_content_inset_adjustment_behavior.dart'
export 'scrollview_deceleration_rate.dart' show ScrollViewDecelerationRate, IOSUIScrollViewDecelerationRate; show
ScrollViewContentInsetAdjustmentBehavior,
IOSUIScrollViewContentInsetAdjustmentBehavior;
export 'scrollview_deceleration_rate.dart'
show ScrollViewDecelerationRate, IOSUIScrollViewDecelerationRate;
export 'security_origin.dart' show SecurityOrigin, IOSWKSecurityOrigin; export 'security_origin.dart' show SecurityOrigin, IOSWKSecurityOrigin;
export 'selection_granularity.dart' show SelectionGranularity, IOSWKSelectionGranularity; export 'selection_granularity.dart'
show SelectionGranularity, IOSWKSelectionGranularity;
export 'server_trust_auth_response.dart' show ServerTrustAuthResponse; export 'server_trust_auth_response.dart' show ServerTrustAuthResponse;
export 'server_trust_auth_response_action.dart' show ServerTrustAuthResponseAction; export 'server_trust_auth_response_action.dart'
show ServerTrustAuthResponseAction;
export 'server_trust_challenge.dart' show ServerTrustChallenge; export 'server_trust_challenge.dart' show ServerTrustChallenge;
export 'should_allow_deprecated_tls_action.dart' show ShouldAllowDeprecatedTLSAction, IOSShouldAllowDeprecatedTLSAction; export 'should_allow_deprecated_tls_action.dart'
show ShouldAllowDeprecatedTLSAction, IOSShouldAllowDeprecatedTLSAction;
export 'ssl_certificate.dart' show SslCertificate; export 'ssl_certificate.dart' show SslCertificate;
export 'ssl_certificate_dname.dart' show SslCertificateDName; export 'ssl_certificate_dname.dart' show SslCertificateDName;
export 'ssl_error.dart' show SslError; export 'ssl_error.dart' show SslError;
export 'ssl_error_type.dart' show SslErrorType, AndroidSslError, IOSSslError; export 'ssl_error_type.dart' show SslErrorType, AndroidSslError, IOSSslError;
export 'trusted_web_activity_default_display_mode.dart' show TrustedWebActivityDefaultDisplayMode; export 'trusted_web_activity_default_display_mode.dart'
export 'trusted_web_activity_display_mode.dart' show TrustedWebActivityDisplayMode; show TrustedWebActivityDefaultDisplayMode;
export 'trusted_web_activity_immersive_display_mode.dart' show TrustedWebActivityImmersiveDisplayMode; export 'trusted_web_activity_display_mode.dart'
export 'trusted_web_activity_screen_orientation.dart' show TrustedWebActivityScreenOrientation; show TrustedWebActivityDisplayMode;
export 'trusted_web_activity_immersive_display_mode.dart'
show TrustedWebActivityImmersiveDisplayMode;
export 'trusted_web_activity_screen_orientation.dart'
show TrustedWebActivityScreenOrientation;
export 'underline_style.dart' show UnderlineStyle, IOSNSUnderlineStyle; export 'underline_style.dart' show UnderlineStyle, IOSNSUnderlineStyle;
export 'url_authentication_challenge.dart' show URLAuthenticationChallenge; export 'url_authentication_challenge.dart' show URLAuthenticationChallenge;
export 'url_credential.dart' show URLCredential; export 'url_credential.dart' show URLCredential;
export 'url_credential_persistence.dart' show URLCredentialPersistence, IOSURLCredentialPersistence; export 'url_credential_persistence.dart'
show URLCredentialPersistence, IOSURLCredentialPersistence;
export 'url_protection_space.dart' show URLProtectionSpace; export 'url_protection_space.dart' show URLProtectionSpace;
export 'url_protection_space_authentication_method.dart' show URLProtectionSpaceAuthenticationMethod, IOSNSURLProtectionSpaceAuthenticationMethod; export 'url_protection_space_authentication_method.dart'
export 'url_protection_space_http_auth_credentials.dart' show URLProtectionSpaceHttpAuthCredentials; show
export 'url_protection_space_proxy_type.dart' show URLProtectionSpaceProxyType, IOSNSURLProtectionSpaceProxyType; URLProtectionSpaceAuthenticationMethod,
IOSNSURLProtectionSpaceAuthenticationMethod;
export 'url_protection_space_http_auth_credentials.dart'
show URLProtectionSpaceHttpAuthCredentials;
export 'url_protection_space_proxy_type.dart'
show URLProtectionSpaceProxyType, IOSNSURLProtectionSpaceProxyType;
export 'url_request.dart' show URLRequest; export 'url_request.dart' show URLRequest;
export 'url_request_attribution.dart' show URLRequestAttribution; export 'url_request_attribution.dart' show URLRequestAttribution;
export 'url_request_cache_policy.dart' show URLRequestCachePolicy, IOSURLRequestCachePolicy; export 'url_request_cache_policy.dart'
export 'url_request_network_service_type.dart' show URLRequestNetworkServiceType, IOSURLRequestNetworkServiceType; show URLRequestCachePolicy, IOSURLRequestCachePolicy;
export 'url_request_network_service_type.dart'
show URLRequestNetworkServiceType, IOSURLRequestNetworkServiceType;
export 'url_response.dart' show URLResponse, IOSURLResponse; export 'url_response.dart' show URLResponse, IOSURLResponse;
export 'user_preferred_content_mode.dart' show UserPreferredContentMode; export 'user_preferred_content_mode.dart' show UserPreferredContentMode;
export 'user_script.dart' show UserScript; export 'user_script.dart' show UserScript;
export 'user_script_injection_time.dart' show UserScriptInjectionTime; export 'user_script_injection_time.dart' show UserScriptInjectionTime;
export 'vertical_scrollbar_position.dart' show VerticalScrollbarPosition, AndroidVerticalScrollbarPosition; export 'vertical_scrollbar_position.dart'
show VerticalScrollbarPosition, AndroidVerticalScrollbarPosition;
export 'web_archive_format.dart' show WebArchiveFormat; export 'web_archive_format.dart' show WebArchiveFormat;
export 'web_authentication_session_error.dart' show WebAuthenticationSessionError; export 'web_authentication_session_error.dart'
show WebAuthenticationSessionError;
export 'web_history.dart' show WebHistory; export 'web_history.dart' show WebHistory;
export 'web_history_item.dart' show WebHistoryItem; export 'web_history_item.dart' show WebHistoryItem;
export 'web_message_callback.dart' show WebMessageCallback; export 'web_message_callback.dart' show WebMessageCallback;
@ -154,13 +195,16 @@ export 'web_resource_request.dart' show WebResourceRequest;
export 'web_resource_response.dart' show WebResourceResponse; export 'web_resource_response.dart' show WebResourceResponse;
export 'web_storage_origin.dart' show WebStorageOrigin, AndroidWebStorageOrigin; export 'web_storage_origin.dart' show WebStorageOrigin, AndroidWebStorageOrigin;
export 'web_storage_type.dart' show WebStorageType; export 'web_storage_type.dart' show WebStorageType;
export 'website_data_record.dart' show WebsiteDataRecord, IOSWKWebsiteDataRecord; export 'website_data_record.dart'
show WebsiteDataRecord, IOSWKWebsiteDataRecord;
export 'website_data_type.dart' show WebsiteDataType, IOSWKWebsiteDataType; export 'website_data_type.dart' show WebsiteDataType, IOSWKWebsiteDataType;
export 'webview_implementation.dart' show WebViewImplementation; export 'webview_implementation.dart' show WebViewImplementation;
export 'webview_package_info.dart' show WebViewPackageInfo, AndroidWebViewPackageInfo; export 'webview_package_info.dart'
show WebViewPackageInfo, AndroidWebViewPackageInfo;
export 'webview_render_process_action.dart' show WebViewRenderProcessAction; export 'webview_render_process_action.dart' show WebViewRenderProcessAction;
export 'window_features.dart' show WindowFeatures, IOSWKWindowFeatures; export 'window_features.dart' show WindowFeatures, IOSWKWindowFeatures;
export 'requested_with_header_mode.dart' show RequestedWithHeaderMode; export 'requested_with_header_mode.dart' show RequestedWithHeaderMode;
export 'find_session.dart' show FindSession; export 'find_session.dart' show FindSession;
export 'search_result_display_style.dart' show SearchResultDisplayStyle; export 'search_result_display_style.dart' show SearchResultDisplayStyle;
export 'content_blocker_trigger_load_context.dart' show ContentBlockerTriggerLoadContext; export 'content_blocker_trigger_load_context.dart'
show ContentBlockerTriggerLoadContext;

View File

@ -11,7 +11,8 @@ class MixedContentMode_ {
///In this mode, the WebView will allow a secure origin to load content from any other origin, even if that origin is insecure. ///In this mode, the WebView will allow a secure origin to load content from any other origin, even if that origin is insecure.
///This is the least secure mode of operation for the WebView, and where possible apps should not set this mode. ///This is the least secure mode of operation for the WebView, and where possible apps should not set this mode.
static const MIXED_CONTENT_ALWAYS_ALLOW = const MixedContentMode_._internal(0); static const MIXED_CONTENT_ALWAYS_ALLOW =
const MixedContentMode_._internal(0);
///In this mode, the WebView will not allow a secure origin to load content from an insecure origin. ///In this mode, the WebView will not allow a secure origin to load content from an insecure origin.
///This is the preferred and most secure mode of operation for the WebView and apps are strongly advised to use this mode. ///This is the preferred and most secure mode of operation for the WebView and apps are strongly advised to use this mode.
@ -23,7 +24,7 @@ class MixedContentMode_ {
///This mode is intended to be used by apps that are not in control of the content that they render but desire to operate in a reasonably secure environment. ///This mode is intended to be used by apps that are not in control of the content that they render but desire to operate in a reasonably secure environment.
///For highest security, apps are recommended to use [MixedContentMode.MIXED_CONTENT_NEVER_ALLOW]. ///For highest security, apps are recommended to use [MixedContentMode.MIXED_CONTENT_NEVER_ALLOW].
static const MIXED_CONTENT_COMPATIBILITY_MODE = static const MIXED_CONTENT_COMPATIBILITY_MODE =
const MixedContentMode_._internal(2); const MixedContentMode_._internal(2);
} }
///An Android-specific class used to configure the WebView's behavior when a secure origin attempts to load a resource from an insecure origin. ///An Android-specific class used to configure the WebView's behavior when a secure origin attempts to load a resource from an insecure origin.
@ -41,12 +42,12 @@ class AndroidMixedContentMode_ {
///In this mode, the WebView will allow a secure origin to load content from any other origin, even if that origin is insecure. ///In this mode, the WebView will allow a secure origin to load content from any other origin, even if that origin is insecure.
///This is the least secure mode of operation for the WebView, and where possible apps should not set this mode. ///This is the least secure mode of operation for the WebView, and where possible apps should not set this mode.
static const MIXED_CONTENT_ALWAYS_ALLOW = static const MIXED_CONTENT_ALWAYS_ALLOW =
const AndroidMixedContentMode_._internal(0); const AndroidMixedContentMode_._internal(0);
///In this mode, the WebView will not allow a secure origin to load content from an insecure origin. ///In this mode, the WebView will not allow a secure origin to load content from an insecure origin.
///This is the preferred and most secure mode of operation for the WebView and apps are strongly advised to use this mode. ///This is the preferred and most secure mode of operation for the WebView and apps are strongly advised to use this mode.
static const MIXED_CONTENT_NEVER_ALLOW = static const MIXED_CONTENT_NEVER_ALLOW =
const AndroidMixedContentMode_._internal(1); const AndroidMixedContentMode_._internal(1);
///In this mode, the WebView will attempt to be compatible with the approach of a modern web browser with regard to mixed content. ///In this mode, the WebView will attempt to be compatible with the approach of a modern web browser with regard to mixed content.
///Some insecure content may be allowed to be loaded by a secure origin and other types of content will be blocked. ///Some insecure content may be allowed to be loaded by a secure origin and other types of content will be blocked.
@ -54,5 +55,5 @@ class AndroidMixedContentMode_ {
///This mode is intended to be used by apps that are not in control of the content that they render but desire to operate in a reasonably secure environment. ///This mode is intended to be used by apps that are not in control of the content that they render but desire to operate in a reasonably secure environment.
///For highest security, apps are recommended to use [AndroidMixedContentMode.MIXED_CONTENT_NEVER_ALLOW]. ///For highest security, apps are recommended to use [AndroidMixedContentMode.MIXED_CONTENT_NEVER_ALLOW].
static const MIXED_CONTENT_COMPATIBILITY_MODE = static const MIXED_CONTENT_COMPATIBILITY_MODE =
const AndroidMixedContentMode_._internal(2); const AndroidMixedContentMode_._internal(2);
} }

View File

@ -28,7 +28,8 @@ class ModalPresentationStyle_ {
static const OVER_FULL_SCREEN = const ModalPresentationStyle_._internal(5); static const OVER_FULL_SCREEN = const ModalPresentationStyle_._internal(5);
///A presentation style where the content is displayed over another view controllers content. ///A presentation style where the content is displayed over another view controllers content.
static const OVER_CURRENT_CONTEXT = const ModalPresentationStyle_._internal(6); static const OVER_CURRENT_CONTEXT =
const ModalPresentationStyle_._internal(6);
///A presentation style where the content is displayed in a popover view. ///A presentation style where the content is displayed in a popover view.
static const POPOVER = const ModalPresentationStyle_._internal(7); static const POPOVER = const ModalPresentationStyle_._internal(7);
@ -61,18 +62,19 @@ class IOSUIModalPresentationStyle_ {
static const FORM_SHEET = const IOSUIModalPresentationStyle_._internal(2); static const FORM_SHEET = const IOSUIModalPresentationStyle_._internal(2);
///A presentation style where the content is displayed over another view controllers content. ///A presentation style where the content is displayed over another view controllers content.
static const CURRENT_CONTEXT = const IOSUIModalPresentationStyle_._internal(3); static const CURRENT_CONTEXT =
const IOSUIModalPresentationStyle_._internal(3);
///A custom view presentation style that is managed by a custom presentation controller and one or more custom animator objects. ///A custom view presentation style that is managed by a custom presentation controller and one or more custom animator objects.
static const CUSTOM = const IOSUIModalPresentationStyle_._internal(4); static const CUSTOM = const IOSUIModalPresentationStyle_._internal(4);
///A view presentation style in which the presented view covers the screen. ///A view presentation style in which the presented view covers the screen.
static const OVER_FULL_SCREEN = static const OVER_FULL_SCREEN =
const IOSUIModalPresentationStyle_._internal(5); const IOSUIModalPresentationStyle_._internal(5);
///A presentation style where the content is displayed over another view controllers content. ///A presentation style where the content is displayed over another view controllers content.
static const OVER_CURRENT_CONTEXT = static const OVER_CURRENT_CONTEXT =
const IOSUIModalPresentationStyle_._internal(6); const IOSUIModalPresentationStyle_._internal(6);
///A presentation style where the content is displayed in a popover view. ///A presentation style where the content is displayed in a popover view.
static const POPOVER = const IOSUIModalPresentationStyle_._internal(7); static const POPOVER = const IOSUIModalPresentationStyle_._internal(7);

View File

@ -32,16 +32,14 @@ class NavigationAction_ {
///For security reasons in certain situations this method may return `false` even though ///For security reasons in certain situations this method may return `false` even though
///the sequence of events which caused the request to be created was initiated by a user ///the sequence of events which caused the request to be created was initiated by a user
///gesture. ///gesture.
@SupportedPlatforms( @SupportedPlatforms(platforms: [
platforms: [ AndroidPlatform(
AndroidPlatform(
available: "21", available: "21",
apiName: "WebResourceRequest.hasGesture", apiName: "WebResourceRequest.hasGesture",
apiUrl: "https://developer.android.com/reference/android/webkit/WebResourceRequest#hasGesture()", apiUrl:
note: "On Android < 21, this is always `false`" "https://developer.android.com/reference/android/webkit/WebResourceRequest#hasGesture()",
) note: "On Android < 21, this is always `false`")
] ])
)
bool? hasGesture; bool? hasGesture;
///Use [isRedirect] instead. ///Use [isRedirect] instead.
@ -52,15 +50,13 @@ class NavigationAction_ {
/// ///
///**NOTE**: If the request is associated to the [WebView.onCreateWindow] event, this is always `false`. ///**NOTE**: If the request is associated to the [WebView.onCreateWindow] event, this is always `false`.
///Also, on Android < 21, this is always `false`. ///Also, on Android < 21, this is always `false`.
@SupportedPlatforms( @SupportedPlatforms(platforms: [
platforms: [ AndroidPlatform(
AndroidPlatform( available: "21",
available: "21", apiName: "WebResourceRequest.isRedirect",
apiName: "WebResourceRequest.isRedirect", apiUrl:
apiUrl: "https://developer.android.com/reference/android/webkit/WebResourceRequest#isRedirect()" "https://developer.android.com/reference/android/webkit/WebResourceRequest#isRedirect()")
) ])
]
)
bool? isRedirect; bool? isRedirect;
///Use [navigationType] instead. ///Use [navigationType] instead.
@ -68,14 +64,12 @@ class NavigationAction_ {
IOSWKNavigationType_? iosWKNavigationType; IOSWKNavigationType_? iosWKNavigationType;
///The type of action triggering the navigation.ì ///The type of action triggering the navigation.ì
@SupportedPlatforms( @SupportedPlatforms(platforms: [
platforms: [ IOSPlatform(
IOSPlatform( apiName: "WKNavigationAction.navigationType",
apiName: "WKNavigationAction.navigationType", apiUrl:
apiUrl: "https://developer.apple.com/documentation/webkit/wknavigationaction/1401914-navigationtype" "https://developer.apple.com/documentation/webkit/wknavigationaction/1401914-navigationtype")
) ])
]
)
NavigationType_? navigationType; NavigationType_? navigationType;
///Use [sourceFrame] instead. ///Use [sourceFrame] instead.
@ -83,14 +77,12 @@ class NavigationAction_ {
IOSWKFrameInfo_? iosSourceFrame; IOSWKFrameInfo_? iosSourceFrame;
///The frame that requested the navigation. ///The frame that requested the navigation.
@SupportedPlatforms( @SupportedPlatforms(platforms: [
platforms: [ IOSPlatform(
IOSPlatform( apiName: "WKNavigationAction.sourceFrame",
apiName: "WKNavigationAction.sourceFrame", apiUrl:
apiUrl: "https://developer.apple.com/documentation/webkit/wknavigationaction/1401926-sourceframe" "https://developer.apple.com/documentation/webkit/wknavigationaction/1401926-sourceframe")
) ])
]
)
FrameInfo_? sourceFrame; FrameInfo_? sourceFrame;
///Use [targetFrame] instead. ///Use [targetFrame] instead.
@ -98,40 +90,36 @@ class NavigationAction_ {
IOSWKFrameInfo_? iosTargetFrame; IOSWKFrameInfo_? iosTargetFrame;
///The frame in which to display the new content. ///The frame in which to display the new content.
@SupportedPlatforms( @SupportedPlatforms(platforms: [
platforms: [ IOSPlatform(
IOSPlatform( apiName: "WKNavigationAction.targetFrame",
apiName: "WKNavigationAction.targetFrame", apiUrl:
apiUrl: "https://developer.apple.com/documentation/webkit/wknavigationaction/1401918-targetframe" "https://developer.apple.com/documentation/webkit/wknavigationaction/1401918-targetframe")
) ])
]
)
FrameInfo_? targetFrame; FrameInfo_? targetFrame;
///A value indicating whether the web content used a download attribute to indicate that this should be downloaded. ///A value indicating whether the web content used a download attribute to indicate that this should be downloaded.
@SupportedPlatforms( @SupportedPlatforms(platforms: [
platforms: [ IOSPlatform(
IOSPlatform( available: "14.5",
available: "14.5", apiName: "WKNavigationAction.shouldPerformDownload",
apiName: "WKNavigationAction.shouldPerformDownload", apiUrl:
apiUrl: "https://developer.apple.com/documentation/webkit/wknavigationaction/3727357-shouldperformdownload" "https://developer.apple.com/documentation/webkit/wknavigationaction/3727357-shouldperformdownload")
) ])
]
)
bool? shouldPerformDownload; bool? shouldPerformDownload;
NavigationAction_( NavigationAction_(
{required this.request, {required this.request,
required this.isForMainFrame, required this.isForMainFrame,
@Deprecated('Use hasGesture instead') this.androidHasGesture, @Deprecated('Use hasGesture instead') this.androidHasGesture,
this.hasGesture, this.hasGesture,
@Deprecated('Use isRedirect instead') this.androidIsRedirect, @Deprecated('Use isRedirect instead') this.androidIsRedirect,
this.isRedirect, this.isRedirect,
@Deprecated("Use navigationType instead") this.iosWKNavigationType, @Deprecated("Use navigationType instead") this.iosWKNavigationType,
this.navigationType, this.navigationType,
@Deprecated("Use sourceFrame instead") this.iosSourceFrame, @Deprecated("Use sourceFrame instead") this.iosSourceFrame,
this.sourceFrame, this.sourceFrame,
@Deprecated("Use targetFrame instead") this.iosTargetFrame, @Deprecated("Use targetFrame instead") this.iosTargetFrame,
this.targetFrame, this.targetFrame,
this.shouldPerformDownload}); this.shouldPerformDownload});
} }

View File

@ -19,8 +19,8 @@ class NavigationResponse_ {
NavigationResponse_( NavigationResponse_(
{this.response, {this.response,
required this.isForMainFrame, required this.isForMainFrame,
required this.canShowMIMEType}); required this.canShowMIMEType});
} }
///An iOS-specific Class that represents the navigation response used by the [WebView.onNavigationResponse] event. ///An iOS-specific Class that represents the navigation response used by the [WebView.onNavigationResponse] event.
@ -39,6 +39,6 @@ class IOSWKNavigationResponse_ {
IOSWKNavigationResponse_( IOSWKNavigationResponse_(
{this.response, {this.response,
required this.isForMainFrame, required this.isForMainFrame,
required this.canShowMIMEType}); required this.canShowMIMEType});
} }

View File

@ -16,8 +16,7 @@ class OverScrollMode_ {
static const ALWAYS = const OverScrollMode_._internal(0); static const ALWAYS = const OverScrollMode_._internal(0);
///Allow a user to over-scroll this view only if the content is large enough to meaningfully scroll, provided it is a view that can scroll. ///Allow a user to over-scroll this view only if the content is large enough to meaningfully scroll, provided it is a view that can scroll.
static const IF_CONTENT_SCROLLS = static const IF_CONTENT_SCROLLS = const OverScrollMode_._internal(1);
const OverScrollMode_._internal(1);
///Never allow a user to over-scroll this view. ///Never allow a user to over-scroll this view.
static const NEVER = const OverScrollMode_._internal(2); static const NEVER = const OverScrollMode_._internal(2);
@ -38,7 +37,7 @@ class AndroidOverScrollMode_ {
///Allow a user to over-scroll this view only if the content is large enough to meaningfully scroll, provided it is a view that can scroll. ///Allow a user to over-scroll this view only if the content is large enough to meaningfully scroll, provided it is a view that can scroll.
static const OVER_SCROLL_IF_CONTENT_SCROLLS = static const OVER_SCROLL_IF_CONTENT_SCROLLS =
const AndroidOverScrollMode_._internal(1); const AndroidOverScrollMode_._internal(1);
///Never allow a user to over-scroll this view. ///Never allow a user to over-scroll this view.
static const OVER_SCROLL_NEVER = const AndroidOverScrollMode_._internal(2); static const OVER_SCROLL_NEVER = const AndroidOverScrollMode_._internal(2);

View File

@ -15,16 +15,16 @@ class PermissionResourceType_ {
///Resource belongs to audio capture device, like microphone. ///Resource belongs to audio capture device, like microphone.
@EnumSupportedPlatforms(platforms: [ @EnumSupportedPlatforms(platforms: [
EnumAndroidPlatform( EnumAndroidPlatform(
apiName: 'PermissionRequest.RESOURCE_AUDIO_CAPTURE', apiName: 'PermissionRequest.RESOURCE_AUDIO_CAPTURE',
apiUrl: 'https://developer.android.com/reference/android/webkit/PermissionRequest#RESOURCE_AUDIO_CAPTURE', apiUrl:
value: 'android.webkit.resource.AUDIO_CAPTURE' 'https://developer.android.com/reference/android/webkit/PermissionRequest#RESOURCE_AUDIO_CAPTURE',
), value: 'android.webkit.resource.AUDIO_CAPTURE'),
EnumIOSPlatform( EnumIOSPlatform(
available: "15.0", available: "15.0",
apiName: 'WKMediaCaptureType.microphone', apiName: 'WKMediaCaptureType.microphone',
apiUrl: 'https://developer.apple.com/documentation/webkit/wkmediacapturetype/microphone', apiUrl:
value: 1 'https://developer.apple.com/documentation/webkit/wkmediacapturetype/microphone',
) value: 1)
]) ])
static const MICROPHONE = PermissionResourceType_._internal('MICROPHONE'); static const MICROPHONE = PermissionResourceType_._internal('MICROPHONE');
@ -34,9 +34,9 @@ class PermissionResourceType_ {
@EnumSupportedPlatforms(platforms: [ @EnumSupportedPlatforms(platforms: [
EnumAndroidPlatform( EnumAndroidPlatform(
apiName: 'PermissionRequest.RESOURCE_MIDI_SYSEX', apiName: 'PermissionRequest.RESOURCE_MIDI_SYSEX',
apiUrl: 'https://developer.android.com/reference/android/webkit/PermissionRequest#RESOURCE_MIDI_SYSEX', apiUrl:
value: 'android.webkit.resource.MIDI_SYSEX' 'https://developer.android.com/reference/android/webkit/PermissionRequest#RESOURCE_MIDI_SYSEX',
), value: 'android.webkit.resource.MIDI_SYSEX'),
]) ])
static const MIDI_SYSEX = PermissionResourceType_._internal('MIDI_SYSEX'); static const MIDI_SYSEX = PermissionResourceType_._internal('MIDI_SYSEX');
@ -44,25 +44,26 @@ class PermissionResourceType_ {
@EnumSupportedPlatforms(platforms: [ @EnumSupportedPlatforms(platforms: [
EnumAndroidPlatform( EnumAndroidPlatform(
apiName: 'PermissionRequest.RESOURCE_PROTECTED_MEDIA_ID', apiName: 'PermissionRequest.RESOURCE_PROTECTED_MEDIA_ID',
apiUrl: 'https://developer.android.com/reference/android/webkit/PermissionRequest#RESOURCE_PROTECTED_MEDIA_ID', apiUrl:
value: 'android.webkit.resource.PROTECTED_MEDIA_ID' 'https://developer.android.com/reference/android/webkit/PermissionRequest#RESOURCE_PROTECTED_MEDIA_ID',
), value: 'android.webkit.resource.PROTECTED_MEDIA_ID'),
]) ])
static const PROTECTED_MEDIA_ID = PermissionResourceType_._internal('PROTECTED_MEDIA_ID'); static const PROTECTED_MEDIA_ID =
PermissionResourceType_._internal('PROTECTED_MEDIA_ID');
///Resource belongs to video capture device, like camera. ///Resource belongs to video capture device, like camera.
@EnumSupportedPlatforms(platforms: [ @EnumSupportedPlatforms(platforms: [
EnumAndroidPlatform( EnumAndroidPlatform(
apiName: 'PermissionRequest.RESOURCE_VIDEO_CAPTURE', apiName: 'PermissionRequest.RESOURCE_VIDEO_CAPTURE',
apiUrl: 'https://developer.android.com/reference/android/webkit/PermissionRequest#RESOURCE_VIDEO_CAPTURE', apiUrl:
value: 'android.webkit.resource.VIDEO_CAPTURE' 'https://developer.android.com/reference/android/webkit/PermissionRequest#RESOURCE_VIDEO_CAPTURE',
), value: 'android.webkit.resource.VIDEO_CAPTURE'),
EnumIOSPlatform( EnumIOSPlatform(
available: "15.0", available: "15.0",
apiName: 'WKMediaCaptureType.camera', apiName: 'WKMediaCaptureType.camera',
apiUrl: 'https://developer.apple.com/documentation/webkit/wkmediacapturetype/camera', apiUrl:
value: 0 'https://developer.apple.com/documentation/webkit/wkmediacapturetype/camera',
) value: 0)
]) ])
static const CAMERA = PermissionResourceType_._internal('CAMERA'); static const CAMERA = PermissionResourceType_._internal('CAMERA');
@ -71,19 +72,17 @@ class PermissionResourceType_ {
EnumIOSPlatform( EnumIOSPlatform(
available: "15.0", available: "15.0",
apiName: 'WKMediaCaptureType.cameraAndMicrophone', apiName: 'WKMediaCaptureType.cameraAndMicrophone',
apiUrl: 'https://developer.apple.com/documentation/webkit/wkmediacapturetype/cameraandmicrophone', apiUrl:
value: 2 'https://developer.apple.com/documentation/webkit/wkmediacapturetype/cameraandmicrophone',
) value: 2)
]) ])
static const CAMERA_AND_MICROPHONE = PermissionResourceType_._internal('CAMERA_AND_MICROPHONE'); static const CAMERA_AND_MICROPHONE =
PermissionResourceType_._internal('CAMERA_AND_MICROPHONE');
///Resource belongs to the devices orientation and motion. ///Resource belongs to the devices orientation and motion.
@EnumSupportedPlatforms(platforms: [ @EnumSupportedPlatforms(platforms: [
EnumIOSPlatform( EnumIOSPlatform(available: "15.0", value: 'deviceOrientationAndMotion')
available: "15.0",
value: 'deviceOrientationAndMotion'
)
]) ])
static const DEVICE_ORIENTATION_AND_MOTION = PermissionResourceType_._internal( static const DEVICE_ORIENTATION_AND_MOTION =
'DEVICE_ORIENTATION_AND_MOTION'); PermissionResourceType_._internal('DEVICE_ORIENTATION_AND_MOTION');
} }

View File

@ -18,7 +18,8 @@ class PermissionResponse_ {
PermissionResponseAction_? action; PermissionResponseAction_? action;
PermissionResponse_( PermissionResponse_(
{this.resources = const [], this.action = PermissionResponseAction_.DENY}); {this.resources = const [],
this.action = PermissionResponseAction_.DENY});
} }
///Class that represents the response used by the [WebView.androidOnPermissionRequest] event. ///Class that represents the response used by the [WebView.androidOnPermissionRequest] event.
@ -34,5 +35,5 @@ class PermissionRequestResponse_ {
PermissionRequestResponse_( PermissionRequestResponse_(
{this.resources = const [], {this.resources = const [],
this.action = PermissionRequestResponseAction_.DENY}); this.action = PermissionRequestResponseAction_.DENY});
} }

View File

@ -21,10 +21,9 @@ class PermissionResponseAction_ {
///Prompt the user for permission for the requested resource. ///Prompt the user for permission for the requested resource.
@EnumSupportedPlatforms(platforms: [ @EnumSupportedPlatforms(platforms: [
EnumIOSPlatform( EnumIOSPlatform(
available: "15.0", available: "15.0",
note: "On iOS < 15.0, it will fallback to [DENY]", note: "On iOS < 15.0, it will fallback to [DENY]",
value: 2 value: 2)
)
]) ])
static const PROMPT = const PermissionResponseAction_._internal(2); static const PROMPT = const PermissionResponseAction_._internal(2);
} }

View File

@ -22,23 +22,18 @@ class PrintJobAttributes_ {
///The duplex mode to use for the print job. ///The duplex mode to use for the print job.
@SupportedPlatforms( @SupportedPlatforms(
platforms: [AndroidPlatform(available: "23"), IOSPlatform()] platforms: [AndroidPlatform(available: "23"), IOSPlatform()])
)
PrintJobDuplexMode_? duplex; PrintJobDuplexMode_? duplex;
///The orientation of the printed content, portrait or landscape. ///The orientation of the printed content, portrait or landscape.
PrintJobOrientation_? orientation; PrintJobOrientation_? orientation;
///The media size. ///The media size.
@SupportedPlatforms( @SupportedPlatforms(platforms: [AndroidPlatform()])
platforms: [AndroidPlatform()]
)
PrintJobMediaSize_? mediaSize; PrintJobMediaSize_? mediaSize;
///The supported resolution in DPI (dots per inch). ///The supported resolution in DPI (dots per inch).
@SupportedPlatforms( @SupportedPlatforms(platforms: [AndroidPlatform()])
platforms: [AndroidPlatform()]
)
PrintJobResolution_? resolution; PrintJobResolution_? resolution;
///The margins for each printed page. ///The margins for each printed page.

View File

@ -63,8 +63,8 @@ class PrintJobMediaSize_ {
id: "ISO_A3", widthMils: 11690, heightMils: 16540); id: "ISO_A3", widthMils: 11690, heightMils: 16540);
///ISO A4 media size: 210mm x 297mm (8.27" x 11.69") ///ISO A4 media size: 210mm x 297mm (8.27" x 11.69")
static const ISO_A4 = static const ISO_A4 = const PrintJobMediaSize_(
const PrintJobMediaSize_(id: "ISO_A4", widthMils: 8270, heightMils: 11690); id: "ISO_A4", widthMils: 8270, heightMils: 11690);
///ISO A5 media size: 148mm x 210mm (5.83" x 8.27") ///ISO A5 media size: 148mm x 210mm (5.83" x 8.27")
static const ISO_A5 = static const ISO_A5 =
@ -87,8 +87,8 @@ class PrintJobMediaSize_ {
const PrintJobMediaSize_(id: "ISO_A9", widthMils: 1460, heightMils: 2050); const PrintJobMediaSize_(id: "ISO_A9", widthMils: 1460, heightMils: 2050);
///ISO A10 media size: 26mm x 37mm (1.02" x 1.46") ///ISO A10 media size: 26mm x 37mm (1.02" x 1.46")
static const ISO_A10 = static const ISO_A10 = const PrintJobMediaSize_(
const PrintJobMediaSize_(id: "ISO_A10", widthMils: 1020, heightMils: 1460); id: "ISO_A10", widthMils: 1020, heightMils: 1460);
///ISO B0 media size: 1000mm x 1414mm (39.37" x 55.67") ///ISO B0 media size: 1000mm x 1414mm (39.37" x 55.67")
static const ISO_B0 = const PrintJobMediaSize_( static const ISO_B0 = const PrintJobMediaSize_(
@ -107,8 +107,8 @@ class PrintJobMediaSize_ {
id: "ISO_B3", widthMils: 13900, heightMils: 19690); id: "ISO_B3", widthMils: 13900, heightMils: 19690);
///ISO B4 media size: 250mm x 353mm (9.84" x 13.90") ///ISO B4 media size: 250mm x 353mm (9.84" x 13.90")
static const ISO_B4 = static const ISO_B4 = const PrintJobMediaSize_(
const PrintJobMediaSize_(id: "ISO_B4", widthMils: 9840, heightMils: 13900); id: "ISO_B4", widthMils: 9840, heightMils: 13900);
///ISO B5 media size: 176mm x 250mm (6.93" x 9.84") ///ISO B5 media size: 176mm x 250mm (6.93" x 9.84")
static const ISO_B5 = static const ISO_B5 =
@ -131,8 +131,8 @@ class PrintJobMediaSize_ {
const PrintJobMediaSize_(id: "ISO_B9", widthMils: 1730, heightMils: 2440); const PrintJobMediaSize_(id: "ISO_B9", widthMils: 1730, heightMils: 2440);
///ISO B10 media size: 31mm x 44mm (1.22" x 1.73") ///ISO B10 media size: 31mm x 44mm (1.22" x 1.73")
static const ISO_B10 = static const ISO_B10 = const PrintJobMediaSize_(
const PrintJobMediaSize_(id: "ISO_B10", widthMils: 1220, heightMils: 1730); id: "ISO_B10", widthMils: 1220, heightMils: 1730);
///ISO C0 media size: 917mm x 1297mm (36.10" x 51.06") ///ISO C0 media size: 917mm x 1297mm (36.10" x 51.06")
static const ISO_C0 = const PrintJobMediaSize_( static const ISO_C0 = const PrintJobMediaSize_(
@ -151,8 +151,8 @@ class PrintJobMediaSize_ {
id: "ISO_C3", widthMils: 12760, heightMils: 18030); id: "ISO_C3", widthMils: 12760, heightMils: 18030);
///ISO C4 media size: 229mm x 324mm (9.02" x 12.76") ///ISO C4 media size: 229mm x 324mm (9.02" x 12.76")
static const ISO_C4 = static const ISO_C4 = const PrintJobMediaSize_(
const PrintJobMediaSize_(id: "ISO_C4", widthMils: 9020, heightMils: 12760); id: "ISO_C4", widthMils: 9020, heightMils: 12760);
///ISO C5 media size: 162mm x 229mm (6.38" x 9.02") ///ISO C5 media size: 162mm x 229mm (6.38" x 9.02")
static const ISO_C5 = static const ISO_C5 =
@ -175,8 +175,8 @@ class PrintJobMediaSize_ {
const PrintJobMediaSize_(id: "ISO_C9", widthMils: 1570, heightMils: 2240); const PrintJobMediaSize_(id: "ISO_C9", widthMils: 1570, heightMils: 2240);
///ISO C10 media size: 28mm x 40mm (1.10" x 1.57") ///ISO C10 media size: 28mm x 40mm (1.10" x 1.57")
static const ISO_C10 = static const ISO_C10 = const PrintJobMediaSize_(
const PrintJobMediaSize_(id: "ISO_C10", widthMils: 1100, heightMils: 1570); id: "ISO_C10", widthMils: 1100, heightMils: 1570);
// North America // North America
@ -323,8 +323,8 @@ class PrintJobMediaSize_ {
id: "PRC_10", widthMils: 12756, heightMils: 18032); id: "PRC_10", widthMils: 12756, heightMils: 18032);
///Chinese PRC 16k media size: 146mm x 215mm (5.749" x 8.465") ///Chinese PRC 16k media size: 146mm x 215mm (5.749" x 8.465")
static const PRC_16K = static const PRC_16K = const PrintJobMediaSize_(
const PrintJobMediaSize_(id: "PRC_16K", widthMils: 5749, heightMils: 8465); id: "PRC_16K", widthMils: 5749, heightMils: 8465);
///Chinese Pa Kai media size: 267mm x 389mm (10.512" x 15.315") ///Chinese Pa Kai media size: 267mm x 389mm (10.512" x 15.315")
static const OM_PA_KAI = const PrintJobMediaSize_( static const OM_PA_KAI = const PrintJobMediaSize_(
@ -341,8 +341,8 @@ class PrintJobMediaSize_ {
// Japanese // Japanese
///Japanese JIS B10 media size: 32mm x 45mm (1.259" x 1.772") ///Japanese JIS B10 media size: 32mm x 45mm (1.259" x 1.772")
static const JIS_B10 = static const JIS_B10 = const PrintJobMediaSize_(
const PrintJobMediaSize_(id: "JIS_B10", widthMils: 1259, heightMils: 1772); id: "JIS_B10", widthMils: 1259, heightMils: 1772);
///Japanese JIS B9 media size: 45mm x 64mm (1.772" x 2.52") ///Japanese JIS B9 media size: 45mm x 64mm (1.772" x 2.52")
static const JIS_B9 = static const JIS_B9 =
@ -361,8 +361,8 @@ class PrintJobMediaSize_ {
const PrintJobMediaSize_(id: "JIS_B6", widthMils: 5049, heightMils: 7165); const PrintJobMediaSize_(id: "JIS_B6", widthMils: 5049, heightMils: 7165);
///Japanese JIS B5 media size: 182mm x 257mm (7.165" x 10.118") ///Japanese JIS B5 media size: 182mm x 257mm (7.165" x 10.118")
static const JIS_B5 = static const JIS_B5 = const PrintJobMediaSize_(
const PrintJobMediaSize_(id: "JIS_B5", widthMils: 7165, heightMils: 10118); id: "JIS_B5", widthMils: 7165, heightMils: 10118);
///Japanese JIS B4 media size: 257mm x 364mm (10.118" x 14.331") ///Japanese JIS B4 media size: 257mm x 364mm (10.118" x 14.331")
static const JIS_B4 = const PrintJobMediaSize_( static const JIS_B4 = const PrintJobMediaSize_(

View File

@ -17,10 +17,10 @@ class PrintJobState_ {
///Next valid states: [QUEUED]. ///Next valid states: [QUEUED].
@EnumSupportedPlatforms(platforms: [ @EnumSupportedPlatforms(platforms: [
EnumAndroidPlatform( EnumAndroidPlatform(
apiName: 'PrintJobInfo.STATE_CREATED', apiName: 'PrintJobInfo.STATE_CREATED',
apiUrl: 'https://developer.android.com/reference/android/print/PrintJobInfo#STATE_CREATED', apiUrl:
value: 1 'https://developer.android.com/reference/android/print/PrintJobInfo#STATE_CREATED',
), value: 1),
EnumIOSPlatform(value: 1) EnumIOSPlatform(value: 1)
]) ])
static const CREATED = const PrintJobState_._internal(1); static const CREATED = const PrintJobState_._internal(1);
@ -31,9 +31,9 @@ class PrintJobState_ {
@EnumSupportedPlatforms(platforms: [ @EnumSupportedPlatforms(platforms: [
EnumAndroidPlatform( EnumAndroidPlatform(
apiName: 'PrintJobInfo.STATE_QUEUED', apiName: 'PrintJobInfo.STATE_QUEUED',
apiUrl: 'https://developer.android.com/reference/android/print/PrintJobInfo#STATE_QUEUED', apiUrl:
value: 2 'https://developer.android.com/reference/android/print/PrintJobInfo#STATE_QUEUED',
) value: 2)
]) ])
static const QUEUED = const PrintJobState_._internal(2); static const QUEUED = const PrintJobState_._internal(2);
@ -43,9 +43,9 @@ class PrintJobState_ {
@EnumSupportedPlatforms(platforms: [ @EnumSupportedPlatforms(platforms: [
EnumAndroidPlatform( EnumAndroidPlatform(
apiName: 'PrintJobInfo.STATE_STARTED', apiName: 'PrintJobInfo.STATE_STARTED',
apiUrl: 'https://developer.android.com/reference/android/print/PrintJobInfo#STATE_STARTED', apiUrl:
value: 3 'https://developer.android.com/reference/android/print/PrintJobInfo#STATE_STARTED',
), value: 3),
EnumIOSPlatform(value: 3) EnumIOSPlatform(value: 3)
]) ])
static const STARTED = const PrintJobState_._internal(3); static const STARTED = const PrintJobState_._internal(3);
@ -56,9 +56,9 @@ class PrintJobState_ {
@EnumSupportedPlatforms(platforms: [ @EnumSupportedPlatforms(platforms: [
EnumAndroidPlatform( EnumAndroidPlatform(
apiName: 'PrintJobInfo.STATE_BLOCKED', apiName: 'PrintJobInfo.STATE_BLOCKED',
apiUrl: 'https://developer.android.com/reference/android/print/PrintJobInfo#STATE_BLOCKED', apiUrl:
value: 4 'https://developer.android.com/reference/android/print/PrintJobInfo#STATE_BLOCKED',
) value: 4)
]) ])
static const BLOCKED = const PrintJobState_._internal(4); static const BLOCKED = const PrintJobState_._internal(4);
@ -68,23 +68,22 @@ class PrintJobState_ {
@EnumSupportedPlatforms(platforms: [ @EnumSupportedPlatforms(platforms: [
EnumAndroidPlatform( EnumAndroidPlatform(
apiName: 'PrintJobInfo.STATE_COMPLETED', apiName: 'PrintJobInfo.STATE_COMPLETED',
apiUrl: 'https://developer.android.com/reference/android/print/PrintJobInfo#STATE_COMPLETED', apiUrl:
value: 5 'https://developer.android.com/reference/android/print/PrintJobInfo#STATE_COMPLETED',
), value: 5),
EnumIOSPlatform(value: 5) EnumIOSPlatform(value: 5)
]) ])
static const COMPLETED = const PrintJobState_._internal(5); static const COMPLETED = const PrintJobState_._internal(5);
///Print job state: The print job was printing but printing failed. ///Print job state: The print job was printing but printing failed.
/// ///
///Next valid states: None. ///Next valid states: None.
@EnumSupportedPlatforms(platforms: [ @EnumSupportedPlatforms(platforms: [
EnumAndroidPlatform( EnumAndroidPlatform(
apiName: 'PrintJobInfo.STATE_FAILED', apiName: 'PrintJobInfo.STATE_FAILED',
apiUrl: 'https://developer.android.com/reference/android/print/PrintJobInfo#STATE_FAILED', apiUrl:
value: 6 'https://developer.android.com/reference/android/print/PrintJobInfo#STATE_FAILED',
), value: 6),
EnumIOSPlatform(value: 6) EnumIOSPlatform(value: 6)
]) ])
static const FAILED = const PrintJobState_._internal(6); static const FAILED = const PrintJobState_._internal(6);
@ -95,9 +94,9 @@ class PrintJobState_ {
@EnumSupportedPlatforms(platforms: [ @EnumSupportedPlatforms(platforms: [
EnumAndroidPlatform( EnumAndroidPlatform(
apiName: 'PrintJobInfo.STATE_CANCELED', apiName: 'PrintJobInfo.STATE_CANCELED',
apiUrl: 'https://developer.android.com/reference/android/print/PrintJobInfo#STATE_CANCELED', apiUrl:
value: 7 'https://developer.android.com/reference/android/print/PrintJobInfo#STATE_CANCELED',
), value: 7),
EnumIOSPlatform(value: 7) EnumIOSPlatform(value: 7)
]) ])
static const CANCELED = const PrintJobState_._internal(7); static const CANCELED = const PrintJobState_._internal(7);

View File

@ -18,6 +18,5 @@ class ProxySchemeFilter_ {
static const MATCH_HTTP = const ProxySchemeFilter_._internal("http"); static const MATCH_HTTP = const ProxySchemeFilter_._internal("http");
///HTTPS scheme. ///HTTPS scheme.
static const MATCH_HTTPS = static const MATCH_HTTPS = const ProxySchemeFilter_._internal("https");
const ProxySchemeFilter_._internal("https");
} }

View File

@ -19,7 +19,7 @@ class ReferrerPolicy_ {
///The Referer header will not be sent to origins without TLS (HTTPS). ///The Referer header will not be sent to origins without TLS (HTTPS).
static const NO_REFERRER_WHEN_DOWNGRADE = static const NO_REFERRER_WHEN_DOWNGRADE =
const ReferrerPolicy_._internal("no-referrer-when-downgrade"); const ReferrerPolicy_._internal("no-referrer-when-downgrade");
///The sent referrer will be limited to the origin of the referring page: its scheme, host, and port. ///The sent referrer will be limited to the origin of the referring page: its scheme, host, and port.
static const ORIGIN = const ReferrerPolicy_._internal("origin"); static const ORIGIN = const ReferrerPolicy_._internal("origin");
@ -27,7 +27,7 @@ class ReferrerPolicy_ {
///The referrer sent to other origins will be limited to the scheme, the host, and the port. ///The referrer sent to other origins will be limited to the scheme, the host, and the port.
///Navigations on the same origin will still include the path. ///Navigations on the same origin will still include the path.
static const ORIGIN_WHEN_CROSS_ORIGIN = static const ORIGIN_WHEN_CROSS_ORIGIN =
const ReferrerPolicy_._internal("origin-when-cross-origin"); const ReferrerPolicy_._internal("origin-when-cross-origin");
///A referrer will be sent for same origin, but cross-origin requests will contain no referrer information. ///A referrer will be sent for same origin, but cross-origin requests will contain no referrer information.
static const SAME_ORIGIN = const ReferrerPolicy_._internal("same-origin"); static const SAME_ORIGIN = const ReferrerPolicy_._internal("same-origin");
@ -39,7 +39,7 @@ class ReferrerPolicy_ {
///Send a full URL when performing a same-origin request, but only send the origin when the protocol security level stays the same (e.g.HTTPS -> HTTPS), ///Send a full URL when performing a same-origin request, but only send the origin when the protocol security level stays the same (e.g.HTTPS -> HTTPS),
///and send no header to a less secure destination (e.g. HTTPS -> HTTP). ///and send no header to a less secure destination (e.g. HTTPS -> HTTP).
static const STRICT_ORIGIN_WHEN_CROSS_ORIGIN = static const STRICT_ORIGIN_WHEN_CROSS_ORIGIN =
const ReferrerPolicy_._internal("strict-origin-when-cross-origin"); const ReferrerPolicy_._internal("strict-origin-when-cross-origin");
///The referrer will include the origin and the path (but not the fragment, password, or username). ///The referrer will include the origin and the path (but not the fragment, password, or username).
///This value is unsafe, because it leaks origins and paths from TLS-protected resources to insecure origins. ///This value is unsafe, because it leaks origins and paths from TLS-protected resources to insecure origins.

View File

@ -20,5 +20,5 @@ class RendererPriority_ {
///The renderer associated with this WebView is bound with Android `Context#BIND_IMPORTANT`. ///The renderer associated with this WebView is bound with Android `Context#BIND_IMPORTANT`.
static const RENDERER_PRIORITY_IMPORTANT = static const RENDERER_PRIORITY_IMPORTANT =
const RendererPriority_._internal(2); const RendererPriority_._internal(2);
} }

View File

@ -21,5 +21,5 @@ class RendererPriorityPolicy_ {
RendererPriorityPolicy_( RendererPriorityPolicy_(
{required this.rendererRequestedPriority, {required this.rendererRequestedPriority,
required this.waivedWhenNotVisible}); required this.waivedWhenNotVisible});
} }

View File

@ -19,5 +19,5 @@ class SafeBrowsingResponse_ {
SafeBrowsingResponse_( SafeBrowsingResponse_(
{this.report = true, {this.report = true,
this.action = SafeBrowsingResponseAction_.SHOW_INTERSTITIAL}); this.action = SafeBrowsingResponseAction_.SHOW_INTERSTITIAL});
} }

View File

@ -19,5 +19,5 @@ class SafeBrowsingResponseAction_ {
///Display the default interstitial. ///Display the default interstitial.
static const SHOW_INTERSTITIAL = static const SHOW_INTERSTITIAL =
const SafeBrowsingResponseAction_._internal(2); const SafeBrowsingResponseAction_._internal(2);
} }

View File

@ -11,24 +11,24 @@ class SafeBrowsingThreat_ {
///The resource was blocked for an unknown reason. ///The resource was blocked for an unknown reason.
static const SAFE_BROWSING_THREAT_UNKNOWN = static const SAFE_BROWSING_THREAT_UNKNOWN =
const SafeBrowsingThreat_._internal(0); const SafeBrowsingThreat_._internal(0);
///The resource was blocked because it contains malware. ///The resource was blocked because it contains malware.
static const SAFE_BROWSING_THREAT_MALWARE = static const SAFE_BROWSING_THREAT_MALWARE =
const SafeBrowsingThreat_._internal(1); const SafeBrowsingThreat_._internal(1);
///The resource was blocked because it contains deceptive content. ///The resource was blocked because it contains deceptive content.
static const SAFE_BROWSING_THREAT_PHISHING = static const SAFE_BROWSING_THREAT_PHISHING =
const SafeBrowsingThreat_._internal(2); const SafeBrowsingThreat_._internal(2);
///The resource was blocked because it contains unwanted software. ///The resource was blocked because it contains unwanted software.
static const SAFE_BROWSING_THREAT_UNWANTED_SOFTWARE = static const SAFE_BROWSING_THREAT_UNWANTED_SOFTWARE =
const SafeBrowsingThreat_._internal(3); const SafeBrowsingThreat_._internal(3);
///The resource was blocked because it may trick the user into a billing agreement. ///The resource was blocked because it may trick the user into a billing agreement.
/// ///
///This constant is only used when `targetSdkVersion` is at least Android 29. ///This constant is only used when `targetSdkVersion` is at least Android 29.
///Otherwise, [SAFE_BROWSING_THREAT_UNKNOWN] is used instead. ///Otherwise, [SAFE_BROWSING_THREAT_UNKNOWN] is used instead.
static const SAFE_BROWSING_THREAT_BILLING = static const SAFE_BROWSING_THREAT_BILLING =
const SafeBrowsingThreat_._internal(4); const SafeBrowsingThreat_._internal(4);
} }

View File

@ -16,7 +16,8 @@ class Sandbox_ {
return Sandbox._NONE; return Sandbox._NONE;
} }
try { try {
return Sandbox.values.firstWhere((element) => element.toNativeValue() == value); return Sandbox.values
.firstWhere((element) => element.toNativeValue() == value);
} catch (e) { } catch (e) {
return null; return null;
} }
@ -41,10 +42,8 @@ class Sandbox_ {
@override @override
String toString() { String toString() {
if (_value == null) if (_value == null) return 'allow-all';
return 'allow-all'; if (_value == '') return 'allow-none';
if (_value == '')
return 'allow-none';
return _value ?? ''; return _value ?? '';
} }
@ -70,11 +69,11 @@ class Sandbox_ {
///Lets the resource lock the screen orientation. ///Lets the resource lock the screen orientation.
static const ALLOW_ORIENTATION_LOCK = static const ALLOW_ORIENTATION_LOCK =
const Sandbox_._internal("allow-orientation-lock"); const Sandbox_._internal("allow-orientation-lock");
///Lets the resource use the Pointer Lock API. ///Lets the resource use the Pointer Lock API.
static const ALLOW_POINTER_LOCK = static const ALLOW_POINTER_LOCK =
const Sandbox_._internal("allow-pointer-lock"); const Sandbox_._internal("allow-pointer-lock");
///Allows popups (such as `window.open()`, `target="_blank"`, or `showModalDialog()`). ///Allows popups (such as `window.open()`, `target="_blank"`, or `showModalDialog()`).
///If this keyword is not used, the popup will silently fail to open. ///If this keyword is not used, the popup will silently fail to open.
@ -83,24 +82,25 @@ class Sandbox_ {
///Lets the sandboxed document open new windows without those windows inheriting the sandboxing. ///Lets the sandboxed document open new windows without those windows inheriting the sandboxing.
///For example, this can safely sandbox an advertisement without forcing the same restrictions upon the page the ad links to. ///For example, this can safely sandbox an advertisement without forcing the same restrictions upon the page the ad links to.
static const ALLOW_POPUPS_TO_ESCAPE_SANDBOX = static const ALLOW_POPUPS_TO_ESCAPE_SANDBOX =
const Sandbox_._internal("allow-popups-to-escape-sandbox"); const Sandbox_._internal("allow-popups-to-escape-sandbox");
///Lets the resource start a presentation session. ///Lets the resource start a presentation session.
static const ALLOW_PRESENTATION = static const ALLOW_PRESENTATION =
const Sandbox_._internal("allow-presentation"); const Sandbox_._internal("allow-presentation");
///If this token is not used, the resource is treated as being from a special origin that always fails the ///If this token is not used, the resource is treated as being from a special origin that always fails the
///same-origin policy (potentially preventing access to data storage/cookies and some JavaScript APIs). ///same-origin policy (potentially preventing access to data storage/cookies and some JavaScript APIs).
static const ALLOW_SAME_ORIGIN = const Sandbox_._internal("allow-same-origin"); static const ALLOW_SAME_ORIGIN =
const Sandbox_._internal("allow-same-origin");
///Lets the resource run scripts (but not create popup windows). ///Lets the resource run scripts (but not create popup windows).
static const ALLOW_SCRIPTS = const Sandbox_._internal("allow-scripts"); static const ALLOW_SCRIPTS = const Sandbox_._internal("allow-scripts");
///Lets the resource navigate the top-level browsing context (the one named `_top`). ///Lets the resource navigate the top-level browsing context (the one named `_top`).
static const ALLOW_TOP_NAVIGATION = static const ALLOW_TOP_NAVIGATION =
const Sandbox_._internal("allow-top-navigation"); const Sandbox_._internal("allow-top-navigation");
///Lets the resource navigate the top-level browsing context, but only if initiated by a user gesture. ///Lets the resource navigate the top-level browsing context, but only if initiated by a user gesture.
static const ALLOW_TOP_NAVIGATION_BY_USER_ACTIVATION = static const ALLOW_TOP_NAVIGATION_BY_USER_ACTIVATION =
const Sandbox_._internal("allow-top-navigation-by-user-activation"); const Sandbox_._internal("allow-top-navigation-by-user-activation");
} }

View File

@ -46,15 +46,15 @@ class ScreenshotConfiguration_ {
@ExchangeableObjectConstructor() @ExchangeableObjectConstructor()
ScreenshotConfiguration_( ScreenshotConfiguration_(
{this.rect, {this.rect,
this.snapshotWidth, this.snapshotWidth,
this.compressFormat = CompressFormat_.PNG, this.compressFormat = CompressFormat_.PNG,
this.quality = 100, this.quality = 100,
@Deprecated("Use afterScreenUpdates instead") this.iosAfterScreenUpdates, @Deprecated("Use afterScreenUpdates instead") this.iosAfterScreenUpdates,
this.afterScreenUpdates = true}) { this.afterScreenUpdates = true}) {
assert(this.quality >= 0); assert(this.quality >= 0);
// ignore: deprecated_member_use_from_same_package // ignore: deprecated_member_use_from_same_package
this.afterScreenUpdates = this.iosAfterScreenUpdates != null this.afterScreenUpdates = this.iosAfterScreenUpdates != null
// ignore: deprecated_member_use_from_same_package // ignore: deprecated_member_use_from_same_package
? this.iosAfterScreenUpdates! ? this.iosAfterScreenUpdates!
: this.afterScreenUpdates; : this.afterScreenUpdates;
} }

View File

@ -72,19 +72,19 @@ class ScriptHtmlTagAttributes_ {
@ExchangeableObjectConstructor() @ExchangeableObjectConstructor()
ScriptHtmlTagAttributes_( ScriptHtmlTagAttributes_(
{this.type = "text/javascript", {this.type = "text/javascript",
this.id, this.id,
this.async, this.async,
this.defer, this.defer,
this.crossOrigin, this.crossOrigin,
this.integrity, this.integrity,
this.noModule, this.noModule,
this.nonce, this.nonce,
this.referrerPolicy, this.referrerPolicy,
this.onLoad, this.onLoad,
this.onError}) { this.onError}) {
if (this.onLoad != null || this.onError != null) { if (this.onLoad != null || this.onError != null) {
assert(this.id != null, assert(this.id != null,
'onLoad and onError callbacks require the id property to be set.'); 'onLoad and onError callbacks require the id property to be set.');
} }
} }
} }

View File

@ -22,17 +22,17 @@ class ScrollBarStyle_ {
///The scrollbar style to display the scrollbars inside the padded area, increasing the padding of the view. ///The scrollbar style to display the scrollbars inside the padded area, increasing the padding of the view.
///The scrollbars will not overlap the content area of the view. ///The scrollbars will not overlap the content area of the view.
static const SCROLLBARS_INSIDE_INSET = static const SCROLLBARS_INSIDE_INSET =
const ScrollBarStyle_._internal(16777216); const ScrollBarStyle_._internal(16777216);
///The scrollbar style to display the scrollbars at the edge of the view, without increasing the padding. ///The scrollbar style to display the scrollbars at the edge of the view, without increasing the padding.
///The scrollbars will be overlaid with translucency. ///The scrollbars will be overlaid with translucency.
static const SCROLLBARS_OUTSIDE_OVERLAY = static const SCROLLBARS_OUTSIDE_OVERLAY =
const ScrollBarStyle_._internal(33554432); const ScrollBarStyle_._internal(33554432);
///The scrollbar style to display the scrollbars at the edge of the view, increasing the padding of the view. ///The scrollbar style to display the scrollbars at the edge of the view, increasing the padding of the view.
///The scrollbars will only overlap the background, if any. ///The scrollbars will only overlap the background, if any.
static const SCROLLBARS_OUTSIDE_INSET = static const SCROLLBARS_OUTSIDE_INSET =
const ScrollBarStyle_._internal(50331648); const ScrollBarStyle_._internal(50331648);
} }
///An Android-specific class used to configure the style of the scrollbars. ///An Android-specific class used to configure the style of the scrollbars.
@ -54,20 +54,20 @@ class AndroidScrollBarStyle_ {
///The scrollbar style to display the scrollbars inside the content area, without increasing the padding. ///The scrollbar style to display the scrollbars inside the content area, without increasing the padding.
///The scrollbars will be overlaid with translucency on the view's content. ///The scrollbars will be overlaid with translucency on the view's content.
static const SCROLLBARS_INSIDE_OVERLAY = static const SCROLLBARS_INSIDE_OVERLAY =
const AndroidScrollBarStyle_._internal(0); const AndroidScrollBarStyle_._internal(0);
///The scrollbar style to display the scrollbars inside the padded area, increasing the padding of the view. ///The scrollbar style to display the scrollbars inside the padded area, increasing the padding of the view.
///The scrollbars will not overlap the content area of the view. ///The scrollbars will not overlap the content area of the view.
static const SCROLLBARS_INSIDE_INSET = static const SCROLLBARS_INSIDE_INSET =
const AndroidScrollBarStyle_._internal(16777216); const AndroidScrollBarStyle_._internal(16777216);
///The scrollbar style to display the scrollbars at the edge of the view, without increasing the padding. ///The scrollbar style to display the scrollbars at the edge of the view, without increasing the padding.
///The scrollbars will be overlaid with translucency. ///The scrollbars will be overlaid with translucency.
static const SCROLLBARS_OUTSIDE_OVERLAY = static const SCROLLBARS_OUTSIDE_OVERLAY =
const AndroidScrollBarStyle_._internal(33554432); const AndroidScrollBarStyle_._internal(33554432);
///The scrollbar style to display the scrollbars at the edge of the view, increasing the padding of the view. ///The scrollbar style to display the scrollbars at the edge of the view, increasing the padding of the view.
///The scrollbars will only overlap the background, if any. ///The scrollbars will only overlap the background, if any.
static const SCROLLBARS_OUTSIDE_INSET = static const SCROLLBARS_OUTSIDE_INSET =
const AndroidScrollBarStyle_._internal(50331648); const AndroidScrollBarStyle_._internal(50331648);
} }

View File

@ -11,19 +11,19 @@ class ScrollViewContentInsetAdjustmentBehavior_ {
///Automatically adjust the scroll view insets. ///Automatically adjust the scroll view insets.
static const AUTOMATIC = static const AUTOMATIC =
const ScrollViewContentInsetAdjustmentBehavior_._internal(0); const ScrollViewContentInsetAdjustmentBehavior_._internal(0);
///Adjust the insets only in the scrollable directions. ///Adjust the insets only in the scrollable directions.
static const SCROLLABLE_AXES = static const SCROLLABLE_AXES =
const ScrollViewContentInsetAdjustmentBehavior_._internal(1); const ScrollViewContentInsetAdjustmentBehavior_._internal(1);
///Do not adjust the scroll view insets. ///Do not adjust the scroll view insets.
static const NEVER = static const NEVER =
const ScrollViewContentInsetAdjustmentBehavior_._internal(2); const ScrollViewContentInsetAdjustmentBehavior_._internal(2);
///Always include the safe area insets in the content adjustment. ///Always include the safe area insets in the content adjustment.
static const ALWAYS = static const ALWAYS =
const ScrollViewContentInsetAdjustmentBehavior_._internal(3); const ScrollViewContentInsetAdjustmentBehavior_._internal(3);
} }
///An iOS-specific class used to configure how safe area insets are added to the adjusted content inset. ///An iOS-specific class used to configure how safe area insets are added to the adjusted content inset.
@ -40,17 +40,17 @@ class IOSUIScrollViewContentInsetAdjustmentBehavior_ {
///Automatically adjust the scroll view insets. ///Automatically adjust the scroll view insets.
static const AUTOMATIC = static const AUTOMATIC =
const IOSUIScrollViewContentInsetAdjustmentBehavior_._internal(0); const IOSUIScrollViewContentInsetAdjustmentBehavior_._internal(0);
///Adjust the insets only in the scrollable directions. ///Adjust the insets only in the scrollable directions.
static const SCROLLABLE_AXES = static const SCROLLABLE_AXES =
const IOSUIScrollViewContentInsetAdjustmentBehavior_._internal(1); const IOSUIScrollViewContentInsetAdjustmentBehavior_._internal(1);
///Do not adjust the scroll view insets. ///Do not adjust the scroll view insets.
static const NEVER = static const NEVER =
const IOSUIScrollViewContentInsetAdjustmentBehavior_._internal(2); const IOSUIScrollViewContentInsetAdjustmentBehavior_._internal(2);
///Always include the safe area insets in the content adjustment. ///Always include the safe area insets in the content adjustment.
static const ALWAYS = static const ALWAYS =
const IOSUIScrollViewContentInsetAdjustmentBehavior_._internal(3); const IOSUIScrollViewContentInsetAdjustmentBehavior_._internal(3);
} }

View File

@ -27,7 +27,7 @@ class IOSUIScrollViewDecelerationRate_ {
///The default deceleration rate for a scroll view: `0.998`. ///The default deceleration rate for a scroll view: `0.998`.
static const NORMAL = static const NORMAL =
const IOSUIScrollViewDecelerationRate_._internal("NORMAL"); const IOSUIScrollViewDecelerationRate_._internal("NORMAL");
///A fast deceleration rate for a scroll view: `0.99`. ///A fast deceleration rate for a scroll view: `0.99`.
static const FAST = const IOSUIScrollViewDecelerationRate_._internal("FAST"); static const FAST = const IOSUIScrollViewDecelerationRate_._internal("FAST");

View File

@ -12,5 +12,6 @@ class ServerTrustAuthResponse_ {
///Indicate the [ServerTrustAuthResponseAction] to take in response of the server trust authentication challenge. ///Indicate the [ServerTrustAuthResponseAction] to take in response of the server trust authentication challenge.
ServerTrustAuthResponseAction_? action; ServerTrustAuthResponseAction_? action;
ServerTrustAuthResponse_({this.action = ServerTrustAuthResponseAction_.CANCEL}); ServerTrustAuthResponse_(
{this.action = ServerTrustAuthResponseAction_.CANCEL});
} }

View File

@ -28,10 +28,10 @@ class SslCertificate_ {
SslCertificate_( SslCertificate_(
{this.issuedBy, {this.issuedBy,
this.issuedTo, this.issuedTo,
this.validNotAfterDate, this.validNotAfterDate,
this.validNotBeforeDate, this.validNotBeforeDate,
this.x509Certificate}); this.x509Certificate});
///Gets a possible [SslCertificate] instance from a [Map] value. ///Gets a possible [SslCertificate] instance from a [Map] value.
static SslCertificate? fromMap(Map<String, dynamic>? map) { static SslCertificate? fromMap(Map<String, dynamic>? map) {
@ -52,25 +52,25 @@ class SslCertificate_ {
return SslCertificate( return SslCertificate(
issuedBy: SslCertificateDName( issuedBy: SslCertificateDName(
CName: x509Certificate.issuer( CName: x509Certificate.issuer(
dn: ASN1DistinguishedNames.COMMON_NAME) ?? dn: ASN1DistinguishedNames.COMMON_NAME) ??
"", "",
DName: x509Certificate.issuerDistinguishedName ?? "", DName: x509Certificate.issuerDistinguishedName ?? "",
OName: x509Certificate.issuer( OName: x509Certificate.issuer(
dn: ASN1DistinguishedNames.ORGANIZATION_NAME) ?? dn: ASN1DistinguishedNames.ORGANIZATION_NAME) ??
"", "",
UName: x509Certificate.issuer( UName: x509Certificate.issuer(
dn: ASN1DistinguishedNames.ORGANIZATIONAL_UNIT_NAME) ?? dn: ASN1DistinguishedNames.ORGANIZATIONAL_UNIT_NAME) ??
""), ""),
issuedTo: SslCertificateDName( issuedTo: SslCertificateDName(
CName: x509Certificate.subject( CName: x509Certificate.subject(
dn: ASN1DistinguishedNames.COMMON_NAME) ?? dn: ASN1DistinguishedNames.COMMON_NAME) ??
"", "",
DName: x509Certificate.subjectDistinguishedName ?? "", DName: x509Certificate.subjectDistinguishedName ?? "",
OName: x509Certificate.subject( OName: x509Certificate.subject(
dn: ASN1DistinguishedNames.ORGANIZATION_NAME) ?? dn: ASN1DistinguishedNames.ORGANIZATION_NAME) ??
"", "",
UName: x509Certificate.subject( UName: x509Certificate.subject(
dn: ASN1DistinguishedNames.ORGANIZATIONAL_UNIT_NAME) ?? dn: ASN1DistinguishedNames.ORGANIZATIONAL_UNIT_NAME) ??
""), ""),
validNotAfterDate: x509Certificate.notAfter, validNotAfterDate: x509Certificate.notAfter,
validNotBeforeDate: x509Certificate.notBefore, validNotBeforeDate: x509Certificate.notBefore,
@ -82,13 +82,13 @@ class SslCertificate_ {
return SslCertificate( return SslCertificate(
issuedBy: issuedBy:
SslCertificateDName.fromMap(map["issuedBy"]?.cast<String, dynamic>()), SslCertificateDName.fromMap(map["issuedBy"]?.cast<String, dynamic>()),
issuedTo: issuedTo:
SslCertificateDName.fromMap(map["issuedTo"]?.cast<String, dynamic>()), SslCertificateDName.fromMap(map["issuedTo"]?.cast<String, dynamic>()),
validNotAfterDate: validNotAfterDate:
DateTime.fromMillisecondsSinceEpoch(map["validNotAfterDate"]), DateTime.fromMillisecondsSinceEpoch(map["validNotAfterDate"]),
validNotBeforeDate: validNotBeforeDate:
DateTime.fromMillisecondsSinceEpoch(map["validNotBeforeDate"]), DateTime.fromMillisecondsSinceEpoch(map["validNotBeforeDate"]),
x509Certificate: x509Certificate, x509Certificate: x509Certificate,
); );
} }

View File

@ -24,7 +24,7 @@ class SslError_ {
SslError_( SslError_(
{@Deprecated('Use code instead') this.androidError, {@Deprecated('Use code instead') this.androidError,
@Deprecated('Use code instead') this.iosError, @Deprecated('Use code instead') this.iosError,
this.code, this.code,
this.message}) {} this.message}) {}
} }

View File

@ -20,9 +20,9 @@ class SslErrorType_ {
@EnumSupportedPlatforms(platforms: [ @EnumSupportedPlatforms(platforms: [
EnumAndroidPlatform( EnumAndroidPlatform(
apiName: 'SslError.SSL_NOTYETVALID', apiName: 'SslError.SSL_NOTYETVALID',
apiUrl: 'https://developer.android.com/reference/android/net/http/SslError#SSL_NOTYETVALID', apiUrl:
value: 0 'https://developer.android.com/reference/android/net/http/SslError#SSL_NOTYETVALID',
) value: 0)
]) ])
static const NOT_YET_VALID = SslErrorType_._internal('NOT_YET_VALID'); static const NOT_YET_VALID = SslErrorType_._internal('NOT_YET_VALID');
@ -30,9 +30,9 @@ class SslErrorType_ {
@EnumSupportedPlatforms(platforms: [ @EnumSupportedPlatforms(platforms: [
EnumAndroidPlatform( EnumAndroidPlatform(
apiName: 'SslError.SSL_EXPIRED', apiName: 'SslError.SSL_EXPIRED',
apiUrl: 'https://developer.android.com/reference/android/net/http/SslError#SSL_EXPIRED', apiUrl:
value: 1 'https://developer.android.com/reference/android/net/http/SslError#SSL_EXPIRED',
) value: 1)
]) ])
static const EXPIRED = SslErrorType_._internal('EXPIRED'); static const EXPIRED = SslErrorType_._internal('EXPIRED');
@ -40,9 +40,9 @@ class SslErrorType_ {
@EnumSupportedPlatforms(platforms: [ @EnumSupportedPlatforms(platforms: [
EnumAndroidPlatform( EnumAndroidPlatform(
apiName: 'SslError.SSL_IDMISMATCH', apiName: 'SslError.SSL_IDMISMATCH',
apiUrl: 'https://developer.android.com/reference/android/net/http/SslError#SSL_IDMISMATCH', apiUrl:
value: 2 'https://developer.android.com/reference/android/net/http/SslError#SSL_IDMISMATCH',
) value: 2)
]) ])
static const IDMISMATCH = SslErrorType_._internal('IDMISMATCH'); static const IDMISMATCH = SslErrorType_._internal('IDMISMATCH');
@ -50,9 +50,9 @@ class SslErrorType_ {
@EnumSupportedPlatforms(platforms: [ @EnumSupportedPlatforms(platforms: [
EnumAndroidPlatform( EnumAndroidPlatform(
apiName: 'SslError.SSL_UNTRUSTED', apiName: 'SslError.SSL_UNTRUSTED',
apiUrl: 'https://developer.android.com/reference/android/net/http/SslError#SSL_UNTRUSTED', apiUrl:
value: 3 'https://developer.android.com/reference/android/net/http/SslError#SSL_UNTRUSTED',
) value: 3)
]) ])
static const UNTRUSTED = SslErrorType_._internal('UNTRUSTED'); static const UNTRUSTED = SslErrorType_._internal('UNTRUSTED');
@ -60,9 +60,9 @@ class SslErrorType_ {
@EnumSupportedPlatforms(platforms: [ @EnumSupportedPlatforms(platforms: [
EnumAndroidPlatform( EnumAndroidPlatform(
apiName: 'SslError.DATE_INVALID', apiName: 'SslError.DATE_INVALID',
apiUrl: 'https://developer.android.com/reference/android/net/http/SslError#SSL_DATE_INVALID', apiUrl:
value: 4 'https://developer.android.com/reference/android/net/http/SslError#SSL_DATE_INVALID',
) value: 4)
]) ])
static const DATE_INVALID = SslErrorType_._internal('DATE_INVALID'); static const DATE_INVALID = SslErrorType_._internal('DATE_INVALID');
@ -70,14 +70,14 @@ class SslErrorType_ {
@EnumSupportedPlatforms(platforms: [ @EnumSupportedPlatforms(platforms: [
EnumAndroidPlatform( EnumAndroidPlatform(
apiName: 'SslError.SSL_INVALID', apiName: 'SslError.SSL_INVALID',
apiUrl: 'https://developer.android.com/reference/android/net/http/SslError#SSL_INVALID', apiUrl:
value: 5 'https://developer.android.com/reference/android/net/http/SslError#SSL_INVALID',
), value: 5),
EnumIOSPlatform( EnumIOSPlatform(
apiName: 'SecTrustResultType.invalid', apiName: 'SecTrustResultType.invalid',
apiUrl: 'https://developer.apple.com/documentation/security/sectrustresulttype/invalid', apiUrl:
value: 0 'https://developer.apple.com/documentation/security/sectrustresulttype/invalid',
) value: 0)
]) ])
static const INVALID = SslErrorType_._internal('INVALID'); static const INVALID = SslErrorType_._internal('INVALID');
@ -90,9 +90,9 @@ class SslErrorType_ {
@EnumSupportedPlatforms(platforms: [ @EnumSupportedPlatforms(platforms: [
EnumIOSPlatform( EnumIOSPlatform(
apiName: 'SecTrustResultType.deny', apiName: 'SecTrustResultType.deny',
apiUrl: 'https://developer.apple.com/documentation/security/sectrustresulttype/deny', apiUrl:
value: 3 'https://developer.apple.com/documentation/security/sectrustresulttype/deny',
) value: 3)
]) ])
static const DENY = SslErrorType_._internal('DENY'); static const DENY = SslErrorType_._internal('DENY');
@ -107,9 +107,9 @@ class SslErrorType_ {
@EnumSupportedPlatforms(platforms: [ @EnumSupportedPlatforms(platforms: [
EnumIOSPlatform( EnumIOSPlatform(
apiName: 'SecTrustResultType.unspecified', apiName: 'SecTrustResultType.unspecified',
apiUrl: 'https://developer.apple.com/documentation/security/sectrustresulttype/unspecified', apiUrl:
value: 4 'https://developer.apple.com/documentation/security/sectrustresulttype/unspecified',
) value: 4)
]) ])
static const UNSPECIFIED = SslErrorType_._internal('UNSPECIFIED'); static const UNSPECIFIED = SslErrorType_._internal('UNSPECIFIED');
@ -125,11 +125,12 @@ class SslErrorType_ {
@EnumSupportedPlatforms(platforms: [ @EnumSupportedPlatforms(platforms: [
EnumIOSPlatform( EnumIOSPlatform(
apiName: 'SecTrustResultType.recoverableTrustFailure', apiName: 'SecTrustResultType.recoverableTrustFailure',
apiUrl: 'https://developer.apple.com/documentation/security/sectrustresulttype/recoverabletrustfailure', apiUrl:
value: 5 'https://developer.apple.com/documentation/security/sectrustresulttype/recoverabletrustfailure',
) value: 5)
]) ])
static const RECOVERABLE_TRUST_FAILURE = SslErrorType_._internal('RECOVERABLE_TRUST_FAILURE'); static const RECOVERABLE_TRUST_FAILURE =
SslErrorType_._internal('RECOVERABLE_TRUST_FAILURE');
///Trust is denied and no simple fix is available. ///Trust is denied and no simple fix is available.
/// ///
@ -140,11 +141,12 @@ class SslErrorType_ {
@EnumSupportedPlatforms(platforms: [ @EnumSupportedPlatforms(platforms: [
EnumIOSPlatform( EnumIOSPlatform(
apiName: 'SecTrustResultType.fatalTrustFailure', apiName: 'SecTrustResultType.fatalTrustFailure',
apiUrl: 'https://developer.apple.com/documentation/security/sectrustresulttype/fataltrustfailure', apiUrl:
value: 6 'https://developer.apple.com/documentation/security/sectrustresulttype/fataltrustfailure',
) value: 6)
]) ])
static const FATAL_TRUST_FAILURE = SslErrorType_._internal('FATAL_TRUST_FAILURE'); static const FATAL_TRUST_FAILURE =
SslErrorType_._internal('FATAL_TRUST_FAILURE');
///Indicates a failure other than that of trust evaluation. ///Indicates a failure other than that of trust evaluation.
/// ///
@ -153,9 +155,9 @@ class SslErrorType_ {
@EnumSupportedPlatforms(platforms: [ @EnumSupportedPlatforms(platforms: [
EnumIOSPlatform( EnumIOSPlatform(
apiName: 'SecTrustResultType.otherError', apiName: 'SecTrustResultType.otherError',
apiUrl: 'https://developer.apple.com/documentation/security/sectrustresulttype/othererror', apiUrl:
value: 7 'https://developer.apple.com/documentation/security/sectrustresulttype/othererror',
) value: 7)
]) ])
static const OTHER_ERROR = SslErrorType_._internal('OTHER_ERROR'); static const OTHER_ERROR = SslErrorType_._internal('OTHER_ERROR');
} }

View File

@ -4,6 +4,4 @@ part 'trusted_web_activity_display_mode.g.dart';
///Class that represents display mode of a Trusted Web Activity. ///Class that represents display mode of a Trusted Web Activity.
@ExchangeableObject(fromMapFactory: false) @ExchangeableObject(fromMapFactory: false)
abstract class TrustedWebActivityDisplayMode_ { abstract class TrustedWebActivityDisplayMode_ {}
}

View File

@ -12,31 +12,32 @@ class TrustedWebActivityScreenOrientation_ {
/// The default screen orientation is the set of orientations to which the screen is locked when /// The default screen orientation is the set of orientations to which the screen is locked when
/// there is no current orientation lock. /// there is no current orientation lock.
static const DEFAULT = const TrustedWebActivityScreenOrientation_._internal(0); static const DEFAULT =
const TrustedWebActivityScreenOrientation_._internal(0);
/// Portrait-primary is an orientation where the screen width is less than or equal to the /// Portrait-primary is an orientation where the screen width is less than or equal to the
/// screen height. If the device's natural orientation is portrait, then it is in /// screen height. If the device's natural orientation is portrait, then it is in
/// portrait-primary when held in that position. /// portrait-primary when held in that position.
static const PORTRAIT_PRIMARY = static const PORTRAIT_PRIMARY =
const TrustedWebActivityScreenOrientation_._internal(1); const TrustedWebActivityScreenOrientation_._internal(1);
/// Portrait-secondary is an orientation where the screen width is less than or equal to the /// Portrait-secondary is an orientation where the screen width is less than or equal to the
/// screen height. If the device's natural orientation is portrait, then it is in /// screen height. If the device's natural orientation is portrait, then it is in
/// portrait-secondary when rotated 180° from its natural position. /// portrait-secondary when rotated 180° from its natural position.
static const PORTRAIT_SECONDARY = static const PORTRAIT_SECONDARY =
const TrustedWebActivityScreenOrientation_._internal(2); const TrustedWebActivityScreenOrientation_._internal(2);
/// Landscape-primary is an orientation where the screen width is greater than the screen height. /// Landscape-primary is an orientation where the screen width is greater than the screen height.
/// If the device's natural orientation is landscape, then it is in landscape-primary when held /// If the device's natural orientation is landscape, then it is in landscape-primary when held
/// in that position. /// in that position.
static const LANDSCAPE_PRIMARY = static const LANDSCAPE_PRIMARY =
const TrustedWebActivityScreenOrientation_._internal(3); const TrustedWebActivityScreenOrientation_._internal(3);
/// Landscape-secondary is an orientation where the screen width is greater than the /// Landscape-secondary is an orientation where the screen width is greater than the
/// screen height. If the device's natural orientation is landscape, it is in /// screen height. If the device's natural orientation is landscape, it is in
/// landscape-secondary when rotated 180° from its natural orientation. /// landscape-secondary when rotated 180° from its natural orientation.
static const LANDSCAPE_SECONDARY = static const LANDSCAPE_SECONDARY =
const TrustedWebActivityScreenOrientation_._internal(4); const TrustedWebActivityScreenOrientation_._internal(4);
/// Any is an orientation that means the screen can be locked to any one of portrait-primary, /// Any is an orientation that means the screen can be locked to any one of portrait-primary,
/// portrait-secondary, landscape-primary and landscape-secondary. /// portrait-secondary, landscape-primary and landscape-secondary.
@ -46,16 +47,17 @@ class TrustedWebActivityScreenOrientation_ {
/// depending on platform convention locking the screen to landscape can represent /// depending on platform convention locking the screen to landscape can represent
/// landscape-primary, landscape-secondary or both. /// landscape-primary, landscape-secondary or both.
static const LANDSCAPE = static const LANDSCAPE =
const TrustedWebActivityScreenOrientation_._internal(6); const TrustedWebActivityScreenOrientation_._internal(6);
/// Portrait is an orientation where the screen width is less than or equal to the screen height /// Portrait is an orientation where the screen width is less than or equal to the screen height
/// and depending on platform convention locking the screen to portrait can represent /// and depending on platform convention locking the screen to portrait can represent
/// portrait-primary, portrait-secondary or both. /// portrait-primary, portrait-secondary or both.
static const PORTRAIT = static const PORTRAIT =
const TrustedWebActivityScreenOrientation_._internal(7); const TrustedWebActivityScreenOrientation_._internal(7);
/// Natural is an orientation that refers to either portrait-primary or landscape-primary /// Natural is an orientation that refers to either portrait-primary or landscape-primary
/// depending on the device's usual orientation. This orientation is usually provided by /// depending on the device's usual orientation. This orientation is usually provided by
/// the underlying operating system. /// the underlying operating system.
static const NATURAL = const TrustedWebActivityScreenOrientation_._internal(8); static const NATURAL =
const TrustedWebActivityScreenOrientation_._internal(8);
} }

View File

@ -68,7 +68,8 @@ class IOSNSUnderlineStyle_ {
static const PATTERN_DASH_DOT = const IOSNSUnderlineStyle_._internal(768); static const PATTERN_DASH_DOT = const IOSNSUnderlineStyle_._internal(768);
///Draw a line of alternating dashes and two dots. ///Draw a line of alternating dashes and two dots.
static const PATTERN_DASH_DOT_DOT = const IOSNSUnderlineStyle_._internal(1024); static const PATTERN_DASH_DOT_DOT =
const IOSNSUnderlineStyle_._internal(1024);
///Draw the line only beneath or through words, not whitespace. ///Draw the line only beneath or through words, not whitespace.
static const BY_WORD = const IOSNSUnderlineStyle_._internal(32768); static const BY_WORD = const IOSNSUnderlineStyle_._internal(32768);

Some files were not shown because too many files have changed in this diff Show More