code format
This commit is contained in:
parent
a3c20be1e7
commit
3b2add4199
|
@ -21,9 +21,7 @@ void customActionButton() {
|
|||
id: 1,
|
||||
description: 'Action Button description',
|
||||
icon: actionButtonIcon.buffer.asUint8List(),
|
||||
action: (url, title) {
|
||||
|
||||
}));
|
||||
action: (url, title) {}));
|
||||
expect(chromeSafariBrowser.isOpened(), false);
|
||||
|
||||
await chromeSafariBrowser.open(url: TEST_URL_1);
|
||||
|
|
|
@ -17,11 +17,7 @@ void customMenuItem() {
|
|||
test('add custom menu item', () async {
|
||||
var chromeSafariBrowser = MyChromeSafariBrowser();
|
||||
chromeSafariBrowser.addMenuItem(ChromeSafariBrowserMenuItem(
|
||||
id: 2,
|
||||
label: 'Custom item menu 1',
|
||||
action: (url, title) {
|
||||
|
||||
}));
|
||||
id: 2, label: 'Custom item menu 1', action: (url, title) {}));
|
||||
expect(chromeSafariBrowser.isOpened(), false);
|
||||
|
||||
await chromeSafariBrowser.open(url: TEST_URL_1);
|
||||
|
|
|
@ -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_URL_1 = Uri.parse('https://github.com/flutter');
|
||||
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_EXAMPLE = Uri.parse('https://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_WEB_PLATFORM_BASE_URL = Uri.parse(Uri.base.toString().replaceFirst("/#/", "/"));
|
||||
final TEST_WEB_PLATFORM_URL_1 = 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_WEB_PLATFORM_BASE_URL =
|
||||
Uri.parse(Uri.base.toString().replaceFirst("/#/", "/"));
|
||||
final TEST_WEB_PLATFORM_URL_1 =
|
||||
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_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_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/');
|
||||
|
|
|
@ -9,10 +9,10 @@ void findInteractions() {
|
|||
final shouldSkip = kIsWeb
|
||||
? true
|
||||
: ![
|
||||
TargetPlatform.android,
|
||||
TargetPlatform.iOS,
|
||||
TargetPlatform.macOS,
|
||||
].contains(defaultTargetPlatform);
|
||||
TargetPlatform.android,
|
||||
TargetPlatform.iOS,
|
||||
TargetPlatform.macOS,
|
||||
].contains(defaultTargetPlatform);
|
||||
|
||||
testWidgets('find interactions', (WidgetTester tester) async {
|
||||
final Completer controllerCompleter = Completer<InAppWebViewController>();
|
||||
|
@ -27,9 +27,7 @@ void findInteractions() {
|
|||
initialFile: "test_assets/in_app_webview_initial_file_test.html",
|
||||
findInteractionController: findInteractionController,
|
||||
initialSettings: InAppWebViewSettings(
|
||||
clearCache: true,
|
||||
isFindInteractionEnabled: true
|
||||
),
|
||||
clearCache: true, isFindInteractionEnabled: true),
|
||||
onWebViewCreated: (controller) {
|
||||
controllerCompleter.complete(controller);
|
||||
},
|
||||
|
@ -46,17 +44,23 @@ void findInteractions() {
|
|||
await Future.delayed(Duration(seconds: 1));
|
||||
|
||||
const firstSearchText = "InAppWebViewInitialFileTest";
|
||||
await expectLater(findInteractionController.findAllAsync(find: firstSearchText), completes);
|
||||
if ([TargetPlatform.iOS, TargetPlatform.macOS].contains(defaultTargetPlatform)) {
|
||||
await expectLater(
|
||||
findInteractionController.findAllAsync(find: firstSearchText),
|
||||
completes);
|
||||
if ([TargetPlatform.iOS, TargetPlatform.macOS]
|
||||
.contains(defaultTargetPlatform)) {
|
||||
expect(await findInteractionController.getSearchText(), firstSearchText);
|
||||
final session = await findInteractionController.getActiveFindSession();
|
||||
expect(session!.resultCount, 2);
|
||||
}
|
||||
await expectLater(findInteractionController.findNext(forward: true), completes);
|
||||
await expectLater(findInteractionController.findNext(forward: false), completes);
|
||||
await expectLater(
|
||||
findInteractionController.findNext(forward: true), completes);
|
||||
await expectLater(
|
||||
findInteractionController.findNext(forward: false), completes);
|
||||
await expectLater(findInteractionController.clearMatches(), completes);
|
||||
|
||||
if ([TargetPlatform.iOS, TargetPlatform.macOS].contains(defaultTargetPlatform)) {
|
||||
if ([TargetPlatform.iOS, TargetPlatform.macOS]
|
||||
.contains(defaultTargetPlatform)) {
|
||||
const secondSearchText = "text";
|
||||
await expectLater(
|
||||
findInteractionController.setSearchText(secondSearchText), completes);
|
||||
|
@ -64,7 +68,8 @@ void findInteractions() {
|
|||
findInteractionController.presentFindNavigator(), completes);
|
||||
expect(await findInteractionController.getSearchText(), secondSearchText);
|
||||
expect(await findInteractionController.isFindNavigatorVisible(), true);
|
||||
await expectLater(findInteractionController.updateResultCount(), completes);
|
||||
await expectLater(
|
||||
findInteractionController.updateResultCount(), completes);
|
||||
await expectLater(
|
||||
findInteractionController.dismissFindNavigator(), completes);
|
||||
expect(await findInteractionController.isFindNavigatorVisible(), false);
|
||||
|
@ -91,9 +96,7 @@ void findInteractions() {
|
|||
key: GlobalKey(),
|
||||
initialFile: "test_assets/in_app_webview_initial_file_test.html",
|
||||
initialSettings: InAppWebViewSettings(
|
||||
clearCache: true,
|
||||
isFindInteractionEnabled: false
|
||||
),
|
||||
clearCache: true, isFindInteractionEnabled: false),
|
||||
findInteractionController: findInteractionController,
|
||||
onWebViewCreated: (controller) {
|
||||
controllerCompleter.complete(controller);
|
||||
|
|
|
@ -7,20 +7,20 @@ import 'package:flutter_test/flutter_test.dart';
|
|||
import '../constants.dart';
|
||||
|
||||
void runAndDispose() {
|
||||
final shouldSkip = kIsWeb ? false :
|
||||
![
|
||||
TargetPlatform.android,
|
||||
TargetPlatform.iOS,
|
||||
TargetPlatform.macOS,
|
||||
].contains(defaultTargetPlatform);
|
||||
final shouldSkip = kIsWeb
|
||||
? false
|
||||
: ![
|
||||
TargetPlatform.android,
|
||||
TargetPlatform.iOS,
|
||||
TargetPlatform.macOS,
|
||||
].contains(defaultTargetPlatform);
|
||||
|
||||
test('run and dispose', () async {
|
||||
final Completer controllerCompleter = Completer<InAppWebViewController>();
|
||||
final Completer<void> pageLoaded = Completer<void>();
|
||||
|
||||
var headlessWebView = new HeadlessInAppWebView(
|
||||
initialUrlRequest:
|
||||
URLRequest(url: TEST_CROSS_PLATFORM_URL_1),
|
||||
initialUrlRequest: URLRequest(url: TEST_CROSS_PLATFORM_URL_1),
|
||||
onWebViewCreated: (controller) {
|
||||
controllerCompleter.complete(controller);
|
||||
},
|
||||
|
@ -32,8 +32,7 @@ void runAndDispose() {
|
|||
await headlessWebView.run();
|
||||
expect(headlessWebView.isRunning(), true);
|
||||
|
||||
final InAppWebViewController controller =
|
||||
await controllerCompleter.future;
|
||||
final InAppWebViewController controller = await controllerCompleter.future;
|
||||
await pageLoaded.future;
|
||||
|
||||
final String? url = (await controller.getUrl())?.toString();
|
||||
|
|
|
@ -20,8 +20,7 @@ void takeScreenshot() {
|
|||
final Completer<void> pageLoaded = Completer<void>();
|
||||
|
||||
var headlessWebView = new HeadlessInAppWebView(
|
||||
initialUrlRequest:
|
||||
URLRequest(url: TEST_URL_1),
|
||||
initialUrlRequest: URLRequest(url: TEST_URL_1),
|
||||
onWebViewCreated: (controller) {
|
||||
controllerCompleter.complete(controller);
|
||||
},
|
||||
|
@ -32,8 +31,7 @@ void takeScreenshot() {
|
|||
await headlessWebView.run();
|
||||
expect(headlessWebView.isRunning(), true);
|
||||
|
||||
final InAppWebViewController controller =
|
||||
await controllerCompleter.future;
|
||||
final InAppWebViewController controller = await controllerCompleter.future;
|
||||
await pageLoaded.future;
|
||||
|
||||
final String? url = (await controller.getUrl())?.toString();
|
||||
|
|
|
@ -60,10 +60,10 @@ void initialUrlRequest() {
|
|||
final shouldSkipTest1 = kIsWeb
|
||||
? false
|
||||
: ![
|
||||
TargetPlatform.android,
|
||||
TargetPlatform.iOS,
|
||||
TargetPlatform.macOS,
|
||||
].contains(defaultTargetPlatform);
|
||||
TargetPlatform.android,
|
||||
TargetPlatform.iOS,
|
||||
TargetPlatform.macOS,
|
||||
].contains(defaultTargetPlatform);
|
||||
|
||||
testWidgets('basic', (WidgetTester tester) async {
|
||||
final Completer<void> pageLoaded = Completer<void>();
|
||||
|
@ -87,7 +87,7 @@ void initialUrlRequest() {
|
|||
|
||||
await pageLoaded.future;
|
||||
final InAppWebViewController controller =
|
||||
await controllerCompleter.future;
|
||||
await controllerCompleter.future;
|
||||
final String? currentUrl = (await controller.getUrl())?.toString();
|
||||
|
||||
expect(currentUrl, TEST_CROSS_PLATFORM_URL_1.toString());
|
||||
|
|
|
@ -8,11 +8,12 @@ import 'package:flutter_test/flutter_test.dart';
|
|||
import 'package:path_provider/path_provider.dart';
|
||||
|
||||
void loadFileUrl() {
|
||||
final shouldSkip = kIsWeb ? true :
|
||||
![
|
||||
TargetPlatform.iOS,
|
||||
TargetPlatform.macOS,
|
||||
].contains(defaultTargetPlatform);
|
||||
final shouldSkip = kIsWeb
|
||||
? true
|
||||
: ![
|
||||
TargetPlatform.iOS,
|
||||
TargetPlatform.macOS,
|
||||
].contains(defaultTargetPlatform);
|
||||
|
||||
group('load file URL', () {
|
||||
late Directory appSupportDir;
|
||||
|
@ -83,8 +84,8 @@ void loadFileUrl() {
|
|||
initialUrlRequest:
|
||||
URLRequest(url: Uri.parse('file://${fileHtml.path}')),
|
||||
initialSettings: InAppWebViewSettings(
|
||||
allowingReadAccessTo:
|
||||
Uri.parse('file://${appSupportDir.path}/')),
|
||||
allowingReadAccessTo:
|
||||
Uri.parse('file://${appSupportDir.path}/')),
|
||||
onConsoleMessage: (controller, consoleMessage) {
|
||||
consoleMessageCompleter.complete(consoleMessage);
|
||||
},
|
||||
|
|
|
@ -9,12 +9,13 @@ import 'package:flutter_test/flutter_test.dart';
|
|||
import '../constants.dart';
|
||||
|
||||
void loadUrl() {
|
||||
final shouldSkip1 = kIsWeb ? false :
|
||||
![
|
||||
TargetPlatform.android,
|
||||
TargetPlatform.iOS,
|
||||
TargetPlatform.macOS,
|
||||
].contains(defaultTargetPlatform);
|
||||
final shouldSkip1 = kIsWeb
|
||||
? false
|
||||
: ![
|
||||
TargetPlatform.android,
|
||||
TargetPlatform.iOS,
|
||||
TargetPlatform.macOS,
|
||||
].contains(defaultTargetPlatform);
|
||||
|
||||
var initialUrl = !kIsWeb ? TEST_URL_1 : TEST_WEB_PLATFORM_URL_1;
|
||||
|
||||
|
@ -28,23 +29,23 @@ void loadUrl() {
|
|||
textDirection: TextDirection.ltr,
|
||||
child: InAppWebView(
|
||||
key: GlobalKey(),
|
||||
initialUrlRequest:
|
||||
URLRequest(url: initialUrl),
|
||||
initialUrlRequest: URLRequest(url: initialUrl),
|
||||
onWebViewCreated: (controller) {
|
||||
controllerCompleter.complete(controller);
|
||||
},
|
||||
onLoadStop: (controller, url) {
|
||||
if (url.toString() == initialUrl.toString() && !firstUrlLoad.isCompleted) {
|
||||
if (url.toString() == initialUrl.toString() &&
|
||||
!firstUrlLoad.isCompleted) {
|
||||
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());
|
||||
}
|
||||
},
|
||||
),
|
||||
),
|
||||
);
|
||||
final InAppWebViewController controller =
|
||||
await controllerCompleter.future;
|
||||
final InAppWebViewController controller = await controllerCompleter.future;
|
||||
expect(await firstUrlLoad.future, initialUrl.toString());
|
||||
|
||||
await controller.loadUrl(
|
||||
|
@ -52,11 +53,12 @@ void loadUrl() {
|
|||
expect(await loadedUrl.future, TEST_CROSS_PLATFORM_URL_1.toString());
|
||||
}, skip: shouldSkip1);
|
||||
|
||||
final shouldSkip2 = kIsWeb ? true :
|
||||
![
|
||||
TargetPlatform.iOS,
|
||||
TargetPlatform.macOS,
|
||||
].contains(defaultTargetPlatform);
|
||||
final shouldSkip2 = kIsWeb
|
||||
? true
|
||||
: ![
|
||||
TargetPlatform.iOS,
|
||||
TargetPlatform.macOS,
|
||||
].contains(defaultTargetPlatform);
|
||||
|
||||
testWidgets('loadSimulatedRequest', (WidgetTester tester) async {
|
||||
final Completer controllerCompleter = Completer<InAppWebViewController>();
|
||||
|
@ -68,31 +70,34 @@ void loadUrl() {
|
|||
textDirection: TextDirection.ltr,
|
||||
child: InAppWebView(
|
||||
key: GlobalKey(),
|
||||
initialUrlRequest:
|
||||
URLRequest(url: initialUrl),
|
||||
initialUrlRequest: URLRequest(url: initialUrl),
|
||||
onWebViewCreated: (controller) {
|
||||
controllerCompleter.complete(controller);
|
||||
},
|
||||
onLoadStop: (controller, url) {
|
||||
if (url.toString() == initialUrl.toString() && !firstUrlLoad.isCompleted) {
|
||||
if (url.toString() == initialUrl.toString() &&
|
||||
!firstUrlLoad.isCompleted) {
|
||||
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());
|
||||
}
|
||||
},
|
||||
),
|
||||
),
|
||||
);
|
||||
final InAppWebViewController controller =
|
||||
await controllerCompleter.future;
|
||||
final InAppWebViewController controller = await controllerCompleter.future;
|
||||
expect(await firstUrlLoad.future, initialUrl.toString());
|
||||
|
||||
final htmlCode = "<h1>Hello</h1>";
|
||||
await controller.loadSimulatedRequest(
|
||||
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 controller.evaluateJavascript(source: "document.body.innerHTML")).toString().trim(), htmlCode);
|
||||
expect(
|
||||
(await controller.evaluateJavascript(source: "document.body.innerHTML"))
|
||||
.toString()
|
||||
.trim(),
|
||||
htmlCode);
|
||||
}, skip: shouldSkip2);
|
||||
}
|
||||
|
|
|
@ -35,6 +35,7 @@ void onJsBeforeUnload() {
|
|||
);
|
||||
|
||||
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);
|
||||
}
|
||||
|
|
|
@ -19,7 +19,8 @@ void onReceivedError() {
|
|||
group('onReceivedError', () {
|
||||
testWidgets('invalid url', (WidgetTester tester) async {
|
||||
final Completer<String> errorUrlCompleter = Completer<String>();
|
||||
final Completer<WebResourceErrorType> errorCodeCompleter = Completer<WebResourceErrorType>();
|
||||
final Completer<WebResourceErrorType> errorCodeCompleter =
|
||||
Completer<WebResourceErrorType>();
|
||||
|
||||
await tester.pumpWidget(
|
||||
Directionality(
|
||||
|
|
|
@ -103,8 +103,8 @@ void programmaticScroll() {
|
|||
final shouldSkipTest2 = kIsWeb
|
||||
? true
|
||||
: ![
|
||||
TargetPlatform.android,
|
||||
].contains(defaultTargetPlatform);
|
||||
TargetPlatform.android,
|
||||
].contains(defaultTargetPlatform);
|
||||
|
||||
testWidgets(
|
||||
'set and get scroll position on Android without Hybrid Composition',
|
||||
|
|
|
@ -166,9 +166,9 @@ void videoPlaybackPolicy() {
|
|||
final shouldSkipTest3 = kIsWeb
|
||||
? true
|
||||
: ![
|
||||
TargetPlatform.iOS,
|
||||
TargetPlatform.macOS,
|
||||
].contains(defaultTargetPlatform);
|
||||
TargetPlatform.iOS,
|
||||
TargetPlatform.macOS,
|
||||
].contains(defaultTargetPlatform);
|
||||
|
||||
testWidgets(
|
||||
'Video plays fullscreen when allowsInlineMediaPlayback is false',
|
||||
|
@ -213,9 +213,9 @@ void videoPlaybackPolicy() {
|
|||
final shouldSkipTest4 = kIsWeb
|
||||
? true
|
||||
: ![
|
||||
TargetPlatform.iOS,
|
||||
TargetPlatform.macOS,
|
||||
].contains(defaultTargetPlatform);
|
||||
TargetPlatform.iOS,
|
||||
TargetPlatform.macOS,
|
||||
].contains(defaultTargetPlatform);
|
||||
// on Android, entering fullscreen requires user interaction
|
||||
testWidgets('exit fullscreen event', (WidgetTester tester) async {
|
||||
Completer<InAppWebViewController> controllerCompleter =
|
||||
|
|
|
@ -152,7 +152,8 @@ void webHistory() {
|
|||
var url = await pageLoads.stream.first;
|
||||
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;
|
||||
expect(url, TEST_WEB_PLATFORM_URL_2.toString());
|
||||
|
||||
|
|
|
@ -19,15 +19,15 @@ void clearAndSetProxyOverride() {
|
|||
final Completer controllerCompleter = Completer<InAppWebViewController>();
|
||||
final Completer<String> pageLoaded = Completer<String>();
|
||||
|
||||
var proxyAvailable = await WebViewFeature.isFeatureSupported(
|
||||
WebViewFeature.PROXY_OVERRIDE);
|
||||
var proxyAvailable =
|
||||
await WebViewFeature.isFeatureSupported(WebViewFeature.PROXY_OVERRIDE);
|
||||
|
||||
if (proxyAvailable) {
|
||||
ProxyController proxyController =
|
||||
ProxyController.instance();
|
||||
ProxyController proxyController = ProxyController.instance();
|
||||
|
||||
await proxyController.clearProxyOverride();
|
||||
await proxyController.setProxyOverride(settings: ProxySettings(
|
||||
await proxyController.setProxyOverride(
|
||||
settings: ProxySettings(
|
||||
proxyRules: [ProxyRule(url: "${environment["NODE_SERVER_IP"]}:8083")],
|
||||
));
|
||||
}
|
||||
|
@ -53,8 +53,17 @@ void clearAndSetProxyOverride() {
|
|||
final String url = await pageLoaded.future;
|
||||
expect(url, TEST_URL_HTTP_EXAMPLE.toString());
|
||||
|
||||
expect(await controller.evaluateJavascript(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);
|
||||
expect(
|
||||
await controller.evaluateJavascript(
|
||||
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);
|
||||
}
|
||||
|
|
|
@ -3,7 +3,8 @@ import 'package:flutter_inappwebview/flutter_inappwebview.dart';
|
|||
import 'package:integration_test/integration_test.dart';
|
||||
|
||||
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 'proxy_controller/main.dart' as proxy_controller_tests;
|
||||
import 'headless_in_app_webview/main.dart' as headless_in_app_webview_tests;
|
||||
|
|
|
@ -184,7 +184,8 @@ class ServiceWorkerController {
|
|||
///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)
|
||||
static Future<void> setRequestedWithHeaderMode(RequestedWithHeaderMode mode) async {
|
||||
static Future<void> setRequestedWithHeaderMode(
|
||||
RequestedWithHeaderMode mode) async {
|
||||
Map<String, dynamic> args = <String, dynamic>{};
|
||||
args.putIfAbsent("mode", () => mode.toNativeValue());
|
||||
await _channel.invokeMethod('setRequestedWithHeaderMode', args);
|
||||
|
|
|
@ -134,7 +134,8 @@ class WebViewFeature_ {
|
|||
|
||||
///This feature covers [ServiceWorkerClient.shouldInterceptRequest].
|
||||
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 =
|
||||
|
@ -210,7 +211,8 @@ class WebViewFeature_ {
|
|||
|
||||
///This feature covers [InAppWebViewSettings.enterpriseAuthenticationAppLinkPolicyEnabled].
|
||||
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,
|
||||
///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");
|
||||
|
||||
///
|
||||
static const FORCE_DARK = const AndroidWebViewFeature_._internal("FORCE_DARK");
|
||||
static const FORCE_DARK =
|
||||
const AndroidWebViewFeature_._internal("FORCE_DARK");
|
||||
|
||||
///
|
||||
static const FORCE_DARK_STRATEGY =
|
||||
|
@ -305,7 +308,8 @@ class AndroidWebViewFeature_ {
|
|||
|
||||
///
|
||||
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 =
|
||||
|
@ -400,7 +404,8 @@ class AndroidWebViewFeature_ {
|
|||
|
||||
///
|
||||
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 =
|
||||
|
@ -417,7 +422,7 @@ class AndroidWebViewFeature_ {
|
|||
|
||||
///This feature covers [InAppWebViewSettings.willSuppressErrorPage].
|
||||
static const SUPPRESS_ERROR_PAGE =
|
||||
const AndroidWebViewFeature_._internal("SUPPRESS_ERROR_PAGE");
|
||||
const AndroidWebViewFeature_._internal("SUPPRESS_ERROR_PAGE");
|
||||
|
||||
///This feature covers [InAppWebViewSettings.algorithmicDarkeningAllowed].
|
||||
static const ALGORITHMIC_DARKENING =
|
||||
|
@ -429,7 +434,8 @@ class AndroidWebViewFeature_ {
|
|||
|
||||
///This feature covers [InAppWebViewSettings.enterpriseAuthenticationAppLinkPolicyEnabled].
|
||||
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,
|
||||
///this will check whether a feature is supported, depending on the combination of the desired feature, the Android version of device,
|
||||
|
|
|
@ -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) {
|
||||
var context = ContentBlockerTriggerLoadContext.fromNativeValue(typeValue);
|
||||
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.
|
||||
String? selector;
|
||||
|
||||
ContentBlockerAction(
|
||||
{required this.type, this.selector}) {
|
||||
ContentBlockerAction({required this.type, this.selector}) {
|
||||
if (this.type == ContentBlockerActionType.CSS_DISPLAY_NONE) {
|
||||
assert(this.selector != null);
|
||||
}
|
||||
}
|
||||
|
||||
Map<String, dynamic> toMap() {
|
||||
Map<String, dynamic> map = {"type": type.toNativeValue(), "selector": selector};
|
||||
Map<String, dynamic> map = {
|
||||
"type": type.toNativeValue(),
|
||||
"selector": selector
|
||||
};
|
||||
|
||||
map.keys
|
||||
.where((key) =>
|
||||
|
|
|
@ -161,7 +161,8 @@ class CookieManager {
|
|||
|
||||
if (isSecure != null && isSecure) cookieValue += "; Secure";
|
||||
|
||||
if (sameSite != null) cookieValue += "; SameSite=" + sameSite.toNativeValue();
|
||||
if (sameSite != null)
|
||||
cookieValue += "; SameSite=" + sameSite.toNativeValue();
|
||||
|
||||
cookieValue += ";";
|
||||
|
||||
|
@ -243,7 +244,8 @@ class CookieManager {
|
|||
expiresDate: cookieMap["expiresDate"],
|
||||
isSessionOnly: cookieMap["isSessionOnly"],
|
||||
domain: cookieMap["domain"],
|
||||
sameSite: HTTPCookieSameSitePolicy.fromNativeValue(cookieMap["sameSite"]),
|
||||
sameSite:
|
||||
HTTPCookieSameSitePolicy.fromNativeValue(cookieMap["sameSite"]),
|
||||
isSecure: cookieMap["isSecure"],
|
||||
isHttpOnly: cookieMap["isHttpOnly"],
|
||||
path: cookieMap["path"]));
|
||||
|
@ -364,8 +366,8 @@ class CookieManager {
|
|||
expiresDate: cookies[i]["expiresDate"],
|
||||
isSessionOnly: cookies[i]["isSessionOnly"],
|
||||
domain: cookies[i]["domain"],
|
||||
sameSite:
|
||||
HTTPCookieSameSitePolicy.fromNativeValue(cookies[i]["sameSite"]),
|
||||
sameSite: HTTPCookieSameSitePolicy.fromNativeValue(
|
||||
cookies[i]["sameSite"]),
|
||||
isSecure: cookies[i]["isSecure"],
|
||||
isHttpOnly: cookies[i]["isHttpOnly"],
|
||||
path: cookies[i]["path"]);
|
||||
|
@ -533,7 +535,8 @@ class CookieManager {
|
|||
expiresDate: cookieMap["expiresDate"],
|
||||
isSessionOnly: cookieMap["isSessionOnly"],
|
||||
domain: cookieMap["domain"],
|
||||
sameSite: HTTPCookieSameSitePolicy.fromNativeValue(cookieMap["sameSite"]),
|
||||
sameSite:
|
||||
HTTPCookieSameSitePolicy.fromNativeValue(cookieMap["sameSite"]),
|
||||
isSecure: cookieMap["isSecure"],
|
||||
isHttpOnly: cookieMap["isHttpOnly"],
|
||||
path: cookieMap["path"]));
|
||||
|
@ -595,7 +598,8 @@ class IOSCookieManager {
|
|||
expiresDate: cookieMap["expiresDate"],
|
||||
isSessionOnly: cookieMap["isSessionOnly"],
|
||||
domain: cookieMap["domain"],
|
||||
sameSite: HTTPCookieSameSitePolicy.fromNativeValue(cookieMap["sameSite"]),
|
||||
sameSite:
|
||||
HTTPCookieSameSitePolicy.fromNativeValue(cookieMap["sameSite"]),
|
||||
isSecure: cookieMap["isSecure"],
|
||||
isHttpOnly: cookieMap["isHttpOnly"],
|
||||
path: cookieMap["path"]));
|
||||
|
|
|
@ -24,10 +24,9 @@ class DebugLoggingSettings {
|
|||
///Use [print] instead of `developer.log` to log messages.
|
||||
bool usePrint;
|
||||
|
||||
DebugLoggingSettings({
|
||||
this.enabled = kDebugMode,
|
||||
this.excludeFilter = const [],
|
||||
this.maxLogMessageLength = -1,
|
||||
this.usePrint = false
|
||||
});
|
||||
DebugLoggingSettings(
|
||||
{this.enabled = kDebugMode,
|
||||
this.excludeFilter = const [],
|
||||
this.maxLogMessageLength = -1,
|
||||
this.usePrint = false});
|
||||
}
|
|
@ -103,8 +103,7 @@ class InAppBrowser {
|
|||
|
||||
_debugLog(String method, dynamic args) {
|
||||
if (InAppBrowser.debugLoggingSettings.enabled) {
|
||||
for (var regExp
|
||||
in InAppBrowser.debugLoggingSettings.excludeFilter) {
|
||||
for (var regExp in InAppBrowser.debugLoggingSettings.excludeFilter) {
|
||||
if (regExp.hasMatch(method)) return;
|
||||
}
|
||||
var maxLogMessageLength =
|
||||
|
@ -773,7 +772,8 @@ class InAppBrowser {
|
|||
///**Supported Platforms/Implementations**:
|
||||
///- Android native WebView
|
||||
///- iOS
|
||||
Future<bool?>? onPrintRequest(Uri? url, PrintJobController? printJobController) {
|
||||
Future<bool?>? onPrintRequest(
|
||||
Uri? url, PrintJobController? printJobController) {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
|
|
@ -318,7 +318,8 @@ class AndroidInAppWebViewOptions
|
|||
"defaultFixedFontSize": defaultFixedFontSize,
|
||||
"defaultFontSize": defaultFontSize,
|
||||
"defaultTextEncodingName": defaultTextEncodingName,
|
||||
"disabledActionModeMenuItems": disabledActionModeMenuItems?.toNativeValue(),
|
||||
"disabledActionModeMenuItems":
|
||||
disabledActionModeMenuItems?.toNativeValue(),
|
||||
"fantasyFontFamily": fantasyFontFamily,
|
||||
"fixedFontFamily": fixedFontFamily,
|
||||
"forceDark": forceDark?.toNativeValue(),
|
||||
|
@ -380,7 +381,8 @@ class AndroidInAppWebViewOptions
|
|||
instance.defaultFontSize = map["defaultFontSize"];
|
||||
instance.defaultTextEncodingName = map["defaultTextEncodingName"];
|
||||
instance.disabledActionModeMenuItems =
|
||||
AndroidActionModeMenuItem.fromNativeValue(map["disabledActionModeMenuItems"]);
|
||||
AndroidActionModeMenuItem.fromNativeValue(
|
||||
map["disabledActionModeMenuItems"]);
|
||||
instance.fantasyFontFamily = map["fantasyFontFamily"];
|
||||
instance.fixedFontFamily = map["fixedFontFamily"];
|
||||
instance.forceDark = AndroidForceDark.fromNativeValue(map["forceDark"]);
|
||||
|
|
|
@ -24,12 +24,12 @@ class IOSInAppWebViewController {
|
|||
@Deprecated("Use InAppWebViewController.createPdf instead")
|
||||
Future<Uint8List?> createPdf(
|
||||
{@Deprecated("Use pdfConfiguration instead")
|
||||
// ignore: deprecated_member_use_from_same_package
|
||||
IOSWKPDFConfiguration? iosWKPdfConfiguration,
|
||||
PDFConfiguration? pdfConfiguration}) async {
|
||||
// ignore: deprecated_member_use_from_same_package
|
||||
IOSWKPDFConfiguration? iosWKPdfConfiguration,
|
||||
PDFConfiguration? pdfConfiguration}) async {
|
||||
Map<String, dynamic> args = <String, dynamic>{};
|
||||
args.putIfAbsent('pdfConfiguration',
|
||||
() => pdfConfiguration?.toMap() ?? iosWKPdfConfiguration?.toMap());
|
||||
() => pdfConfiguration?.toMap() ?? iosWKPdfConfiguration?.toMap());
|
||||
return await _channel.invokeMethod('createPdf', args);
|
||||
}
|
||||
|
||||
|
|
|
@ -349,8 +349,8 @@ class IOSInAppWebViewOptions
|
|||
map["automaticallyAdjustsScrollIndicatorInsets"];
|
||||
instance.accessibilityIgnoresInvertColors =
|
||||
map["accessibilityIgnoresInvertColors"];
|
||||
instance.decelerationRate =
|
||||
IOSUIScrollViewDecelerationRate.fromNativeValue(map["decelerationRate"])!;
|
||||
instance.decelerationRate = IOSUIScrollViewDecelerationRate.fromNativeValue(
|
||||
map["decelerationRate"])!;
|
||||
instance.alwaysBounceVertical = map["alwaysBounceVertical"];
|
||||
instance.alwaysBounceHorizontal = map["alwaysBounceHorizontal"];
|
||||
instance.scrollsToTop = map["scrollsToTop"];
|
||||
|
|
|
@ -87,7 +87,7 @@ class HeadlessInAppWebView implements WebView, Disposable {
|
|||
this.onReceivedServerTrustAuthRequest,
|
||||
this.onReceivedClientCertRequest,
|
||||
@Deprecated('Use FindInteractionController.onFindResultReceived instead')
|
||||
this.onFindResultReceived,
|
||||
this.onFindResultReceived,
|
||||
this.shouldInterceptAjaxRequest,
|
||||
this.onAjaxReadyStateChange,
|
||||
this.onAjaxProgress,
|
||||
|
|
|
@ -79,7 +79,7 @@ class InAppWebView extends StatefulWidget implements WebView {
|
|||
this.onReceivedServerTrustAuthRequest,
|
||||
this.onReceivedClientCertRequest,
|
||||
@Deprecated('Use FindInteractionController.onFindResultReceived instead')
|
||||
this.onFindResultReceived,
|
||||
this.onFindResultReceived,
|
||||
this.shouldInterceptAjaxRequest,
|
||||
this.onAjaxReadyStateChange,
|
||||
this.onAjaxProgress,
|
||||
|
|
|
@ -534,7 +534,8 @@ class InAppWebViewController {
|
|||
|
||||
if (_webview != null) {
|
||||
if (_webview!.onFormResubmission != null)
|
||||
return (await _webview!.onFormResubmission!(this, uri))?.toNativeValue();
|
||||
return (await _webview!.onFormResubmission!(this, uri))
|
||||
?.toNativeValue();
|
||||
else {
|
||||
// ignore: deprecated_member_use_from_same_package
|
||||
return (await _webview!.androidOnFormResubmission!(this, uri))
|
||||
|
@ -802,8 +803,12 @@ class InAppWebViewController {
|
|||
}
|
||||
break;
|
||||
case "onFindResultReceived":
|
||||
if ((_webview != null && (_webview!.onFindResultReceived != null ||
|
||||
(_webview!.findInteractionController != null && _webview!.findInteractionController!.onFindResultReceived != null))) ||
|
||||
if ((_webview != null &&
|
||||
(_webview!.onFindResultReceived != null ||
|
||||
(_webview!.findInteractionController != null &&
|
||||
_webview!.findInteractionController!
|
||||
.onFindResultReceived !=
|
||||
null))) ||
|
||||
_inAppBrowser != null) {
|
||||
int activeMatchOrdinal = call.arguments["activeMatchOrdinal"];
|
||||
int numberOfMatches = call.arguments["numberOfMatches"];
|
||||
|
@ -813,19 +818,23 @@ class InAppWebViewController {
|
|||
_webview!.findInteractionController!.onFindResultReceived !=
|
||||
null)
|
||||
_webview!.findInteractionController!.onFindResultReceived!(
|
||||
_webview!.findInteractionController!, activeMatchOrdinal,
|
||||
numberOfMatches, isDoneCounting);
|
||||
_webview!.findInteractionController!,
|
||||
activeMatchOrdinal,
|
||||
numberOfMatches,
|
||||
isDoneCounting);
|
||||
else
|
||||
_webview!.onFindResultReceived!(
|
||||
this, activeMatchOrdinal, numberOfMatches, isDoneCounting);
|
||||
}
|
||||
else {
|
||||
this, activeMatchOrdinal, numberOfMatches, isDoneCounting);
|
||||
} else {
|
||||
if (_inAppBrowser!.findInteractionController != null &&
|
||||
_inAppBrowser!.findInteractionController!
|
||||
.onFindResultReceived != null)
|
||||
_inAppBrowser!
|
||||
.findInteractionController!.onFindResultReceived !=
|
||||
null)
|
||||
_inAppBrowser!.findInteractionController!.onFindResultReceived!(
|
||||
_webview!.findInteractionController!, activeMatchOrdinal,
|
||||
numberOfMatches, isDoneCounting);
|
||||
_webview!.findInteractionController!,
|
||||
activeMatchOrdinal,
|
||||
numberOfMatches,
|
||||
isDoneCounting);
|
||||
else
|
||||
_inAppBrowser!.onFindResultReceived(
|
||||
activeMatchOrdinal, numberOfMatches, isDoneCounting);
|
||||
|
@ -1243,9 +1252,11 @@ class InAppWebViewController {
|
|||
AjaxRequest request = AjaxRequest.fromMap(arguments)!;
|
||||
|
||||
if (_webview != null && _webview!.onAjaxReadyStateChange != null)
|
||||
return (await _webview!.onAjaxReadyStateChange!(this, request))?.toNativeValue();
|
||||
return (await _webview!.onAjaxReadyStateChange!(this, request))
|
||||
?.toNativeValue();
|
||||
else
|
||||
return (await _inAppBrowser!.onAjaxReadyStateChange(request))?.toNativeValue();
|
||||
return (await _inAppBrowser!.onAjaxReadyStateChange(request))
|
||||
?.toNativeValue();
|
||||
}
|
||||
return null;
|
||||
case "onAjaxProgress":
|
||||
|
@ -1255,9 +1266,11 @@ class InAppWebViewController {
|
|||
AjaxRequest request = AjaxRequest.fromMap(arguments)!;
|
||||
|
||||
if (_webview != null && _webview!.onAjaxProgress != null)
|
||||
return (await _webview!.onAjaxProgress!(this, request))?.toNativeValue();
|
||||
return (await _webview!.onAjaxProgress!(this, request))
|
||||
?.toNativeValue();
|
||||
else
|
||||
return (await _inAppBrowser!.onAjaxProgress(request))?.toNativeValue();
|
||||
return (await _inAppBrowser!.onAjaxProgress(request))
|
||||
?.toNativeValue();
|
||||
}
|
||||
return null;
|
||||
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)))
|
||||
///- 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))
|
||||
Future<PrintJobController?> printCurrentPage({PrintJobSettings? settings}) async {
|
||||
Future<PrintJobController?> printCurrentPage(
|
||||
{PrintJobSettings? settings}) async {
|
||||
Map<String, dynamic> args = <String, dynamic>{};
|
||||
args.putIfAbsent("settings", () => settings?.toMap());
|
||||
String? jobId = await _channel.invokeMethod('printCurrentPage', args);
|
||||
|
@ -2838,7 +2852,8 @@ class InAppWebViewController {
|
|||
if (defaultTargetPlatform == TargetPlatform.android) {
|
||||
assert(filePath.endsWith("." + WebArchiveFormat.MHT.toNativeValue()));
|
||||
} 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**:
|
||||
///- 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>{};
|
||||
args.putIfAbsent('urlRequest', () => urlRequest.toMap());
|
||||
args.putIfAbsent('data', () => data);
|
||||
|
|
|
@ -12,7 +12,6 @@ import '../android/webview_feature.dart';
|
|||
import '../in_app_webview/in_app_webview_controller.dart';
|
||||
import '../context_menu.dart';
|
||||
|
||||
|
||||
///This class represents all the WebView settings available.
|
||||
class InAppWebViewSettings {
|
||||
///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.fixedFontFamily = "monospace",
|
||||
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.layoutAlgorithm,
|
||||
this.loadWithOverviewMode = true,
|
||||
|
@ -1277,11 +1277,16 @@ class InAppWebViewSettings {
|
|||
!this.resourceCustomSchemes.contains("https"));
|
||||
assert(
|
||||
allowingReadAccessTo == null || allowingReadAccessTo!.isScheme("file"));
|
||||
assert((minimumViewportInset == null && maximumViewportInset == null) ||
|
||||
minimumViewportInset != null && maximumViewportInset != null &&
|
||||
minimumViewportInset!.isNonNegative && maximumViewportInset!.isNonNegative &&
|
||||
minimumViewportInset!.vertical <= maximumViewportInset!.vertical &&
|
||||
minimumViewportInset!.horizontal <= maximumViewportInset!.horizontal,
|
||||
assert(
|
||||
(minimumViewportInset == null && maximumViewportInset == null) ||
|
||||
minimumViewportInset != null &&
|
||||
maximumViewportInset != null &&
|
||||
minimumViewportInset!.isNonNegative &&
|
||||
maximumViewportInset!.isNonNegative &&
|
||||
minimumViewportInset!.vertical <=
|
||||
maximumViewportInset!.vertical &&
|
||||
minimumViewportInset!.horizontal <=
|
||||
maximumViewportInset!.horizontal,
|
||||
"minimumViewportInset cannot be larger than maximumViewportInset");
|
||||
}
|
||||
|
||||
|
@ -1341,7 +1346,8 @@ class InAppWebViewSettings {
|
|||
"defaultFixedFontSize": defaultFixedFontSize,
|
||||
"defaultFontSize": defaultFontSize,
|
||||
"defaultTextEncodingName": defaultTextEncodingName,
|
||||
"disabledActionModeMenuItems": disabledActionModeMenuItems?.toNativeValue(),
|
||||
"disabledActionModeMenuItems":
|
||||
disabledActionModeMenuItems?.toNativeValue(),
|
||||
"fantasyFontFamily": fantasyFontFamily,
|
||||
"fixedFontFamily": fixedFontFamily,
|
||||
"forceDark": forceDark?.toNativeValue(),
|
||||
|
@ -1381,7 +1387,8 @@ class InAppWebViewSettings {
|
|||
"willSuppressErrorPage": willSuppressErrorPage,
|
||||
"algorithmicDarkeningAllowed": algorithmicDarkeningAllowed,
|
||||
"requestedWithHeaderMode": requestedWithHeaderMode?.toNativeValue(),
|
||||
"enterpriseAuthenticationAppLinkPolicyEnabled": enterpriseAuthenticationAppLinkPolicyEnabled,
|
||||
"enterpriseAuthenticationAppLinkPolicyEnabled":
|
||||
enterpriseAuthenticationAppLinkPolicyEnabled,
|
||||
"disallowOverScroll": disallowOverScroll,
|
||||
"enableViewportScale": enableViewportScale,
|
||||
"suppressesIncrementalRendering": suppressesIncrementalRendering,
|
||||
|
@ -1450,7 +1457,8 @@ class InAppWebViewSettings {
|
|||
List<String> dataDetectorTypesList =
|
||||
List<String>.from(map["dataDetectorTypes"] ?? []);
|
||||
dataDetectorTypesList.forEach((dataDetectorTypeValue) {
|
||||
var dataDetectorType = DataDetectorTypes.fromNativeValue(dataDetectorTypeValue);
|
||||
var dataDetectorType =
|
||||
DataDetectorTypes.fromNativeValue(dataDetectorTypeValue);
|
||||
if (dataDetectorType != null) {
|
||||
dataDetectorTypes.add(dataDetectorType);
|
||||
}
|
||||
|
@ -1523,11 +1531,13 @@ class InAppWebViewSettings {
|
|||
settings.defaultFontSize = map["defaultFontSize"];
|
||||
settings.defaultTextEncodingName = map["defaultTextEncodingName"];
|
||||
settings.disabledActionModeMenuItems =
|
||||
ActionModeMenuItem.fromNativeValue(map["disabledActionModeMenuItems"]);
|
||||
ActionModeMenuItem.fromNativeValue(
|
||||
map["disabledActionModeMenuItems"]);
|
||||
settings.fantasyFontFamily = map["fantasyFontFamily"];
|
||||
settings.fixedFontFamily = map["fixedFontFamily"];
|
||||
settings.forceDark = ForceDark.fromNativeValue(map["forceDark"]);
|
||||
settings.forceDarkStrategy = ForceDarkStrategy.fromNativeValue(map["forceDarkStrategy"]);
|
||||
settings.forceDarkStrategy =
|
||||
ForceDarkStrategy.fromNativeValue(map["forceDarkStrategy"]);
|
||||
settings.geolocationEnabled = map["geolocationEnabled"];
|
||||
settings.layoutAlgorithm =
|
||||
LayoutAlgorithm.fromNativeValue(map["layoutAlgorithm"]);
|
||||
|
@ -1545,17 +1555,20 @@ class InAppWebViewSettings {
|
|||
settings.hardwareAcceleration = map["hardwareAcceleration"];
|
||||
settings.supportMultipleWindows = map["supportMultipleWindows"];
|
||||
settings.regexToCancelSubFramesLoading =
|
||||
map["regexToCancelSubFramesLoading"];
|
||||
map["regexToCancelSubFramesLoading"];
|
||||
settings.useHybridComposition = map["useHybridComposition"];
|
||||
settings.useShouldInterceptRequest = map["useShouldInterceptRequest"];
|
||||
settings.useOnRenderProcessGone = map["useOnRenderProcessGone"];
|
||||
settings.overScrollMode = OverScrollMode.fromNativeValue(map["overScrollMode"]);
|
||||
settings.overScrollMode =
|
||||
OverScrollMode.fromNativeValue(map["overScrollMode"]);
|
||||
settings.networkAvailable = map["networkAvailable"];
|
||||
settings.scrollBarStyle = ScrollBarStyle.fromNativeValue(map["scrollBarStyle"]);
|
||||
settings.scrollBarStyle =
|
||||
ScrollBarStyle.fromNativeValue(map["scrollBarStyle"]);
|
||||
settings.verticalScrollbarPosition =
|
||||
VerticalScrollbarPosition.fromNativeValue(map["verticalScrollbarPosition"]);
|
||||
VerticalScrollbarPosition.fromNativeValue(
|
||||
map["verticalScrollbarPosition"]);
|
||||
settings.scrollBarDefaultDelayBeforeFade =
|
||||
map["scrollBarDefaultDelayBeforeFade"];
|
||||
map["scrollBarDefaultDelayBeforeFade"];
|
||||
settings.scrollbarFadingEnabled = map["scrollbarFadingEnabled"];
|
||||
settings.scrollBarFadeDuration = map["scrollBarFadeDuration"];
|
||||
settings.rendererPriorityPolicy = RendererPriorityPolicy.fromMap(
|
||||
|
@ -1570,37 +1583,40 @@ class InAppWebViewSettings {
|
|||
settings.horizontalScrollbarTrackColor =
|
||||
UtilColor.fromHex(map["horizontalScrollbarTrackColor"]);
|
||||
settings.willSuppressErrorPage = map["willSuppressErrorPage"];
|
||||
settings.algorithmicDarkeningAllowed = map["algorithmicDarkeningAllowed"];
|
||||
settings.requestedWithHeaderMode = RequestedWithHeaderMode.fromNativeValue(map["requestedWithHeaderMode"]);
|
||||
settings.enterpriseAuthenticationAppLinkPolicyEnabled = map["enterpriseAuthenticationAppLinkPolicyEnabled"];
|
||||
}
|
||||
else if (defaultTargetPlatform == TargetPlatform.iOS ||
|
||||
settings.algorithmicDarkeningAllowed =
|
||||
map["algorithmicDarkeningAllowed"];
|
||||
settings.requestedWithHeaderMode =
|
||||
RequestedWithHeaderMode.fromNativeValue(
|
||||
map["requestedWithHeaderMode"]);
|
||||
settings.enterpriseAuthenticationAppLinkPolicyEnabled =
|
||||
map["enterpriseAuthenticationAppLinkPolicyEnabled"];
|
||||
} else if (defaultTargetPlatform == TargetPlatform.iOS ||
|
||||
defaultTargetPlatform == TargetPlatform.macOS) {
|
||||
settings.disallowOverScroll = map["disallowOverScroll"];
|
||||
settings.enableViewportScale = map["enableViewportScale"];
|
||||
settings.suppressesIncrementalRendering =
|
||||
map["suppressesIncrementalRendering"];
|
||||
map["suppressesIncrementalRendering"];
|
||||
settings.allowsAirPlayForMediaPlayback =
|
||||
map["allowsAirPlayForMediaPlayback"];
|
||||
map["allowsAirPlayForMediaPlayback"];
|
||||
settings.allowsBackForwardNavigationGestures =
|
||||
map["allowsBackForwardNavigationGestures"];
|
||||
map["allowsBackForwardNavigationGestures"];
|
||||
settings.allowsLinkPreview = map["allowsLinkPreview"];
|
||||
settings.ignoresViewportScaleLimits = map["ignoresViewportScaleLimits"];
|
||||
settings.allowsInlineMediaPlayback = map["allowsInlineMediaPlayback"];
|
||||
settings.allowsPictureInPictureMediaPlayback =
|
||||
map["allowsPictureInPictureMediaPlayback"];
|
||||
map["allowsPictureInPictureMediaPlayback"];
|
||||
settings.isFraudulentWebsiteWarningEnabled =
|
||||
map["isFraudulentWebsiteWarningEnabled"];
|
||||
map["isFraudulentWebsiteWarningEnabled"];
|
||||
settings.selectionGranularity =
|
||||
SelectionGranularity.fromNativeValue(map["selectionGranularity"])!;
|
||||
SelectionGranularity.fromNativeValue(map["selectionGranularity"])!;
|
||||
settings.dataDetectorTypes = dataDetectorTypes;
|
||||
settings.sharedCookiesEnabled = map["sharedCookiesEnabled"];
|
||||
settings.automaticallyAdjustsScrollIndicatorInsets =
|
||||
map["automaticallyAdjustsScrollIndicatorInsets"];
|
||||
map["automaticallyAdjustsScrollIndicatorInsets"];
|
||||
settings.accessibilityIgnoresInvertColors =
|
||||
map["accessibilityIgnoresInvertColors"];
|
||||
settings.decelerationRate =
|
||||
ScrollViewDecelerationRate.fromNativeValue(map["decelerationRate"])!;
|
||||
map["accessibilityIgnoresInvertColors"];
|
||||
settings.decelerationRate = ScrollViewDecelerationRate.fromNativeValue(
|
||||
map["decelerationRate"])!;
|
||||
settings.alwaysBounceVertical = map["alwaysBounceVertical"];
|
||||
settings.alwaysBounceHorizontal = map["alwaysBounceHorizontal"];
|
||||
settings.scrollsToTop = map["scrollsToTop"];
|
||||
|
@ -1608,31 +1624,33 @@ class InAppWebViewSettings {
|
|||
settings.maximumZoomScale = map["maximumZoomScale"];
|
||||
settings.minimumZoomScale = map["minimumZoomScale"];
|
||||
settings.contentInsetAdjustmentBehavior =
|
||||
ScrollViewContentInsetAdjustmentBehavior.fromNativeValue(
|
||||
map["contentInsetAdjustmentBehavior"])!;
|
||||
ScrollViewContentInsetAdjustmentBehavior.fromNativeValue(
|
||||
map["contentInsetAdjustmentBehavior"])!;
|
||||
settings.isDirectionalLockEnabled = map["isDirectionalLockEnabled"];
|
||||
settings.mediaType = map["mediaType"];
|
||||
settings.pageZoom = map["pageZoom"];
|
||||
settings.limitsNavigationsToAppBoundDomains =
|
||||
map["limitsNavigationsToAppBoundDomains"];
|
||||
map["limitsNavigationsToAppBoundDomains"];
|
||||
settings.useOnNavigationResponse = map["useOnNavigationResponse"];
|
||||
settings.applePayAPIEnabled = map["applePayAPIEnabled"];
|
||||
settings.allowingReadAccessTo = map["allowingReadAccessTo"] != null
|
||||
? Uri.parse(map["allowingReadAccessTo"])
|
||||
: null;
|
||||
settings.disableLongPressContextMenuOnLinks =
|
||||
map["disableLongPressContextMenuOnLinks"];
|
||||
map["disableLongPressContextMenuOnLinks"];
|
||||
settings.disableInputAccessoryView = map["disableInputAccessoryView"];
|
||||
settings.underPageBackgroundColor =
|
||||
UtilColor.fromHex(map["underPageBackgroundColor"]);
|
||||
settings.isTextInteractionEnabled = map["isTextInteractionEnabled"];
|
||||
settings.isSiteSpecificQuirksModeEnabled =
|
||||
map["isSiteSpecificQuirksModeEnabled"];
|
||||
map["isSiteSpecificQuirksModeEnabled"];
|
||||
settings.upgradeKnownHostsToHTTPS = map["upgradeKnownHostsToHTTPS"];
|
||||
settings.isElementFullscreenEnabled = map["isElementFullscreenEnabled"];
|
||||
settings.isFindInteractionEnabled = map["isFindInteractionEnabled"];
|
||||
settings.minimumViewportInset = MapEdgeInsets.fromMap(map["minimumViewportInset"]?.cast<String, double>());
|
||||
settings.maximumViewportInset = MapEdgeInsets.fromMap(map["maximumViewportInset"]?.cast<String, double>());
|
||||
settings.minimumViewportInset = MapEdgeInsets.fromMap(
|
||||
map["minimumViewportInset"]?.cast<String, double>());
|
||||
settings.maximumViewportInset = MapEdgeInsets.fromMap(
|
||||
map["maximumViewportInset"]?.cast<String, double>());
|
||||
}
|
||||
}
|
||||
return settings;
|
||||
|
|
|
@ -993,7 +993,7 @@ abstract class WebView {
|
|||
this.onReceivedServerTrustAuthRequest,
|
||||
this.onReceivedClientCertRequest,
|
||||
@Deprecated('Use FindInteractionController.onFindResultReceived instead')
|
||||
this.onFindResultReceived,
|
||||
this.onFindResultReceived,
|
||||
this.shouldInterceptAjaxRequest,
|
||||
this.onAjaxReadyStateChange,
|
||||
this.onAjaxProgress,
|
||||
|
|
|
@ -4,7 +4,8 @@ import '../in_app_webview/in_app_webview_controller.dart';
|
|||
import '../types/disposable.dart';
|
||||
|
||||
///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 PrintJobController implements Disposable {
|
||||
|
@ -19,8 +20,7 @@ class PrintJobController implements Disposable {
|
|||
///- iOS ([Official API - UIPrintInteractionController.CompletionHandler](https://developer.apple.com/documentation/uikit/uiprintinteractioncontroller/completionhandler))
|
||||
PrintJobCompletionHandler onComplete;
|
||||
|
||||
PrintJobController(
|
||||
{required this.id}) {
|
||||
PrintJobController({required this.id}) {
|
||||
this._channel = MethodChannel(
|
||||
'com.pichillilorenzo/flutter_inappwebview_printjobcontroller_$id');
|
||||
this._channel.setMethodCallHandler((call) async {
|
||||
|
@ -94,8 +94,7 @@ class PrintJobController implements Disposable {
|
|||
Future<PrintJobInfo?> getInfo() async {
|
||||
Map<String, dynamic> args = <String, dynamic>{};
|
||||
Map<String, dynamic>? infoMap =
|
||||
(await _channel.invokeMethod('getInfo', args))
|
||||
?.cast<String, dynamic>();
|
||||
(await _channel.invokeMethod('getInfo', args))?.cast<String, dynamic>();
|
||||
return PrintJobInfo.fromMap(infoMap);
|
||||
}
|
||||
|
||||
|
|
|
@ -180,30 +180,29 @@ class PrintJobSettings {
|
|||
///Gets a [PrintJobSettings] instance from a [Map] value.
|
||||
factory PrintJobSettings.fromMap(Map<String, dynamic> map) {
|
||||
return PrintJobSettings(
|
||||
handledByClient: map["handledByClient"],
|
||||
jobName: map["jobName"],
|
||||
animated: map["animated"],
|
||||
orientation: PrintJobOrientation.fromNativeValue(map["orientation"]),
|
||||
numberOfPages: map["numberOfPages"],
|
||||
forceRenderingQuality:
|
||||
PrintJobRenderingQuality.fromNativeValue(map["forceRenderingQuality"]),
|
||||
margins:
|
||||
MapEdgeInsets.fromMap(map["margins"]?.cast<String, dynamic>()),
|
||||
mediaSize:
|
||||
PrintJobMediaSize.fromMap(map["mediaSize"]?.cast<String, dynamic>()),
|
||||
colorMode: PrintJobColorMode.fromNativeValue(map["colorMode"]),
|
||||
duplexMode: PrintJobDuplexMode.fromNativeValue(map["duplexMode"]),
|
||||
outputType: PrintJobOutputType.fromNativeValue(map["outputType"]),
|
||||
resolution:
|
||||
PrintJobResolution.fromMap(map["resolution"]?.cast<String, dynamic>()),
|
||||
showsNumberOfCopies: map["showsNumberOfCopies"],
|
||||
showsPaperSelectionForLoadedPapers:
|
||||
map["showsPaperSelectionForLoadedPapers"],
|
||||
showsPaperOrientation: map["showsPaperOrientation"],
|
||||
maximumContentHeight: map["maximumContentHeight"],
|
||||
maximumContentWidth: map["maximumContentWidth"],
|
||||
footerHeight: map["footerHeight"],
|
||||
headerHeight: map["headerHeight"],
|
||||
handledByClient: map["handledByClient"],
|
||||
jobName: map["jobName"],
|
||||
animated: map["animated"],
|
||||
orientation: PrintJobOrientation.fromNativeValue(map["orientation"]),
|
||||
numberOfPages: map["numberOfPages"],
|
||||
forceRenderingQuality: PrintJobRenderingQuality.fromNativeValue(
|
||||
map["forceRenderingQuality"]),
|
||||
margins: MapEdgeInsets.fromMap(map["margins"]?.cast<String, dynamic>()),
|
||||
mediaSize:
|
||||
PrintJobMediaSize.fromMap(map["mediaSize"]?.cast<String, dynamic>()),
|
||||
colorMode: PrintJobColorMode.fromNativeValue(map["colorMode"]),
|
||||
duplexMode: PrintJobDuplexMode.fromNativeValue(map["duplexMode"]),
|
||||
outputType: PrintJobOutputType.fromNativeValue(map["outputType"]),
|
||||
resolution: PrintJobResolution.fromMap(
|
||||
map["resolution"]?.cast<String, dynamic>()),
|
||||
showsNumberOfCopies: map["showsNumberOfCopies"],
|
||||
showsPaperSelectionForLoadedPapers:
|
||||
map["showsPaperSelectionForLoadedPapers"],
|
||||
showsPaperOrientation: map["showsPaperOrientation"],
|
||||
maximumContentHeight: map["maximumContentHeight"],
|
||||
maximumContentWidth: map["maximumContentWidth"],
|
||||
footerHeight: map["footerHeight"],
|
||||
headerHeight: map["headerHeight"],
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
@ -60,7 +60,7 @@ class PullToRefreshController {
|
|||
_debugLog(String method, dynamic args) {
|
||||
if (PullToRefreshController.debugLoggingSettings.enabled) {
|
||||
for (var regExp
|
||||
in PullToRefreshController.debugLoggingSettings.excludeFilter) {
|
||||
in PullToRefreshController.debugLoggingSettings.excludeFilter) {
|
||||
if (regExp.hasMatch(method)) return;
|
||||
}
|
||||
var maxLogMessageLength =
|
||||
|
|
|
@ -3,9 +3,7 @@ import 'package:flutter_inappwebview_internal_annotations/flutter_inappwebview_i
|
|||
part 'action_mode_menu_item.g.dart';
|
||||
|
||||
///Class used to disable the action mode menu items.
|
||||
@ExchangeableEnum(
|
||||
bitwiseOrOperator: true
|
||||
)
|
||||
@ExchangeableEnum(bitwiseOrOperator: true)
|
||||
class ActionModeMenuItem_ {
|
||||
// ignore: unused_field
|
||||
final int _value;
|
||||
|
@ -30,9 +28,7 @@ class ActionModeMenuItem_ {
|
|||
///
|
||||
///Use [ActionModeMenuItem] instead.
|
||||
@Deprecated("Use ActionModeMenuItem instead")
|
||||
@ExchangeableEnum(
|
||||
bitwiseOrOperator: true
|
||||
)
|
||||
@ExchangeableEnum(bitwiseOrOperator: true)
|
||||
class AndroidActionModeMenuItem_ {
|
||||
// ignore: unused_field
|
||||
final int _value;
|
||||
|
@ -46,9 +42,9 @@ class AndroidActionModeMenuItem_ {
|
|||
|
||||
///Disable 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.
|
||||
static const MENU_ITEM_PROCESS_TEXT =
|
||||
const AndroidActionModeMenuItem_._internal(4);
|
||||
const AndroidActionModeMenuItem_._internal(4);
|
||||
}
|
|
@ -79,23 +79,22 @@ class AjaxRequest_ {
|
|||
|
||||
AjaxRequest_(
|
||||
{this.data,
|
||||
this.method,
|
||||
this.url,
|
||||
this.isAsync,
|
||||
this.user,
|
||||
this.password,
|
||||
this.withCredentials,
|
||||
this.headers,
|
||||
this.readyState,
|
||||
this.status,
|
||||
this.responseURL,
|
||||
this.responseType,
|
||||
this.response,
|
||||
this.responseText,
|
||||
this.responseXML,
|
||||
this.statusText,
|
||||
this.responseHeaders,
|
||||
this.event,
|
||||
this.action = AjaxRequestAction_.PROCEED});
|
||||
|
||||
this.method,
|
||||
this.url,
|
||||
this.isAsync,
|
||||
this.user,
|
||||
this.password,
|
||||
this.withCredentials,
|
||||
this.headers,
|
||||
this.readyState,
|
||||
this.status,
|
||||
this.responseURL,
|
||||
this.responseType,
|
||||
this.response,
|
||||
this.responseText,
|
||||
this.responseXML,
|
||||
this.statusText,
|
||||
this.responseHeaders,
|
||||
this.event,
|
||||
this.action = AjaxRequestAction_.PROCEED});
|
||||
}
|
|
@ -24,5 +24,6 @@ class AjaxRequestEvent_ {
|
|||
///When downloading a resource using HTTP, this only represent the content itself, not headers and other overhead.
|
||||
int? total;
|
||||
|
||||
AjaxRequestEvent_({this.type, this.lengthComputable, this.loaded, this.total});
|
||||
AjaxRequestEvent_(
|
||||
{this.type, this.lengthComputable, this.loaded, this.total});
|
||||
}
|
|
@ -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.
|
||||
static const LETTERPRESS_STYLE =
|
||||
const AttributedStringTextEffectStyle_._internal("letterpressStyle");
|
||||
const AttributedStringTextEffectStyle_._internal("letterpressStyle");
|
||||
}
|
||||
|
||||
///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.
|
||||
static const LETTERPRESS_STYLE =
|
||||
const IOSNSAttributedStringTextEffectStyle_._internal("letterpressStyle");
|
||||
const IOSNSAttributedStringTextEffectStyle_._internal("letterpressStyle");
|
||||
}
|
|
@ -18,9 +18,9 @@ class ClientCertChallenge_ extends URLAuthenticationChallenge_ {
|
|||
@SupportedPlatforms(platforms: [
|
||||
AndroidPlatform(
|
||||
apiName: "ClientCertRequest.getPrincipals",
|
||||
apiUrl: "https://developer.android.com/reference/android/webkit/ClientCertRequest#getPrincipals()",
|
||||
available: "21"
|
||||
)
|
||||
apiUrl:
|
||||
"https://developer.android.com/reference/android/webkit/ClientCertRequest#getPrincipals()",
|
||||
available: "21")
|
||||
])
|
||||
List<String>? principals;
|
||||
|
||||
|
@ -32,17 +32,17 @@ class ClientCertChallenge_ extends URLAuthenticationChallenge_ {
|
|||
@SupportedPlatforms(platforms: [
|
||||
AndroidPlatform(
|
||||
apiName: "ClientCertRequest.getKeyTypes",
|
||||
apiUrl: "https://developer.android.com/reference/android/webkit/ClientCertRequest#getKeyTypes()",
|
||||
available: "21"
|
||||
)
|
||||
apiUrl:
|
||||
"https://developer.android.com/reference/android/webkit/ClientCertRequest#getKeyTypes()",
|
||||
available: "21")
|
||||
])
|
||||
List<String>? keyTypes;
|
||||
|
||||
ClientCertChallenge_(
|
||||
{required URLProtectionSpace_ protectionSpace,
|
||||
@Deprecated('Use principals instead') this.androidPrincipals,
|
||||
this.principals,
|
||||
@Deprecated('Use keyTypes instead') this.androidKeyTypes,
|
||||
this.keyTypes})
|
||||
@Deprecated('Use principals instead') this.androidPrincipals,
|
||||
this.principals,
|
||||
@Deprecated('Use keyTypes instead') this.androidKeyTypes,
|
||||
this.keyTypes})
|
||||
: super(protectionSpace: protectionSpace);
|
||||
}
|
|
@ -21,9 +21,7 @@ class ClientCertResponse_ {
|
|||
String? androidKeyStoreType;
|
||||
|
||||
///An Android-specific property used by Java [KeyStore](https://developer.android.com/reference/java/security/KeyStore) class to get the instance.
|
||||
@SupportedPlatforms(platforms: [
|
||||
AndroidPlatform()
|
||||
])
|
||||
@SupportedPlatforms(platforms: [AndroidPlatform()])
|
||||
String? keyStoreType;
|
||||
|
||||
///Indicate the [ClientCertResponseAction] to take in response of the client certificate challenge.
|
||||
|
@ -32,11 +30,11 @@ class ClientCertResponse_ {
|
|||
@ExchangeableObjectConstructor()
|
||||
ClientCertResponse_(
|
||||
{required this.certificatePath,
|
||||
this.certificatePassword = "",
|
||||
@Deprecated('Use keyStoreType instead')
|
||||
this.androidKeyStoreType = "PKCS12",
|
||||
this.keyStoreType = "PKCS12",
|
||||
this.action = ClientCertResponseAction_.CANCEL}) {
|
||||
this.certificatePassword = "",
|
||||
@Deprecated('Use keyStoreType instead')
|
||||
this.androidKeyStoreType = "PKCS12",
|
||||
this.keyStoreType = "PKCS12",
|
||||
this.action = ClientCertResponseAction_.CANCEL}) {
|
||||
if (this.action == ClientCertResponseAction_.PROCEED)
|
||||
assert(certificatePath.isNotEmpty);
|
||||
|
||||
|
|
|
@ -18,9 +18,9 @@ class ContentBlockerActionType_ {
|
|||
///
|
||||
///**NOTE**: on Android, JavaScript must be enabled.
|
||||
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.
|
||||
static const MAKE_HTTPS =
|
||||
const ContentBlockerActionType_._internal('make-https');
|
||||
const ContentBlockerActionType_._internal('make-https');
|
||||
}
|
|
@ -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.
|
||||
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.
|
||||
static const THIRD_PARTY =
|
||||
const ContentBlockerTriggerLoadType_._internal('third-party');
|
||||
const ContentBlockerTriggerLoadType_._internal('third-party');
|
||||
}
|
|
@ -25,7 +25,7 @@ class ContentWorld {
|
|||
|
||||
///The default world for clients.
|
||||
static final ContentWorld DEFAULT_CLIENT =
|
||||
ContentWorld.world(name: "defaultClient");
|
||||
ContentWorld.world(name: "defaultClient");
|
||||
|
||||
///The content world for the current webpage’s content.
|
||||
///This property contains the content world for scripts that the current webpage executes.
|
||||
|
|
|
@ -51,12 +51,12 @@ class Cookie_ {
|
|||
|
||||
Cookie_(
|
||||
{required this.name,
|
||||
required this.value,
|
||||
this.expiresDate,
|
||||
this.isSessionOnly,
|
||||
this.domain,
|
||||
this.sameSite,
|
||||
this.isSecure,
|
||||
this.isHttpOnly,
|
||||
this.path});
|
||||
required this.value,
|
||||
this.expiresDate,
|
||||
this.isSessionOnly,
|
||||
this.domain,
|
||||
this.sameSite,
|
||||
this.isSecure,
|
||||
this.isHttpOnly,
|
||||
this.path});
|
||||
}
|
|
@ -20,11 +20,7 @@ class CreateWindowAction_ extends NavigationAction_ {
|
|||
bool? androidIsDialog;
|
||||
|
||||
///Indicates if the new window should be a dialog, rather than a full-size window.
|
||||
@SupportedPlatforms(
|
||||
platforms: [
|
||||
AndroidPlatform()
|
||||
]
|
||||
)
|
||||
@SupportedPlatforms(platforms: [AndroidPlatform()])
|
||||
bool? isDialog;
|
||||
|
||||
///Use [windowFeatures] instead.
|
||||
|
@ -32,55 +28,53 @@ class CreateWindowAction_ extends NavigationAction_ {
|
|||
IOSWKWindowFeatures_? iosWindowFeatures;
|
||||
|
||||
///Window features requested by the webpage.
|
||||
@SupportedPlatforms(
|
||||
platforms: [
|
||||
IOSPlatform(
|
||||
apiName: "WKWindowFeatures",
|
||||
apiUrl: "https://developer.apple.com/documentation/webkit/wkwindowfeatures"
|
||||
)
|
||||
]
|
||||
)
|
||||
@SupportedPlatforms(platforms: [
|
||||
IOSPlatform(
|
||||
apiName: "WKWindowFeatures",
|
||||
apiUrl:
|
||||
"https://developer.apple.com/documentation/webkit/wkwindowfeatures")
|
||||
])
|
||||
WindowFeatures_? windowFeatures;
|
||||
|
||||
CreateWindowAction_(
|
||||
{required this.windowId,
|
||||
@Deprecated('Use isDialog instead')
|
||||
this.androidIsDialog,
|
||||
this.isDialog,
|
||||
@Deprecated('Use windowFeatures instead')
|
||||
this.iosWindowFeatures,
|
||||
this.windowFeatures,
|
||||
required URLRequest_ request,
|
||||
required bool isForMainFrame,
|
||||
@Deprecated('Use hasGesture instead')
|
||||
bool? androidHasGesture,
|
||||
@Deprecated('Use isRedirect instead')
|
||||
bool? androidIsRedirect,
|
||||
bool? hasGesture,
|
||||
bool? isRedirect,
|
||||
@Deprecated('Use navigationType instead')
|
||||
// ignore: deprecated_member_use_from_same_package
|
||||
IOSWKNavigationType_? iosWKNavigationType,
|
||||
NavigationType_? navigationType,
|
||||
@Deprecated('Use sourceFrame instead')
|
||||
// ignore: deprecated_member_use_from_same_package
|
||||
IOSWKFrameInfo_? iosSourceFrame,
|
||||
FrameInfo_? sourceFrame,
|
||||
@Deprecated('Use targetFrame instead')
|
||||
// ignore: deprecated_member_use_from_same_package
|
||||
IOSWKFrameInfo_? iosTargetFrame,
|
||||
FrameInfo_? targetFrame})
|
||||
@Deprecated('Use isDialog instead')
|
||||
this.androidIsDialog,
|
||||
this.isDialog,
|
||||
@Deprecated('Use windowFeatures instead')
|
||||
this.iosWindowFeatures,
|
||||
this.windowFeatures,
|
||||
required URLRequest_ request,
|
||||
required bool isForMainFrame,
|
||||
@Deprecated('Use hasGesture instead')
|
||||
bool? androidHasGesture,
|
||||
@Deprecated('Use isRedirect instead')
|
||||
bool? androidIsRedirect,
|
||||
bool? hasGesture,
|
||||
bool? isRedirect,
|
||||
@Deprecated('Use navigationType instead')
|
||||
// ignore: deprecated_member_use_from_same_package
|
||||
IOSWKNavigationType_? iosWKNavigationType,
|
||||
NavigationType_? navigationType,
|
||||
@Deprecated('Use sourceFrame instead')
|
||||
// ignore: deprecated_member_use_from_same_package
|
||||
IOSWKFrameInfo_? iosSourceFrame,
|
||||
FrameInfo_? sourceFrame,
|
||||
@Deprecated('Use targetFrame instead')
|
||||
// ignore: deprecated_member_use_from_same_package
|
||||
IOSWKFrameInfo_? iosTargetFrame,
|
||||
FrameInfo_? targetFrame})
|
||||
: super(
|
||||
request: request,
|
||||
isForMainFrame: isForMainFrame,
|
||||
androidHasGesture: androidHasGesture,
|
||||
hasGesture: hasGesture,
|
||||
androidIsRedirect: androidIsRedirect,
|
||||
isRedirect: isRedirect,
|
||||
iosWKNavigationType: iosWKNavigationType,
|
||||
navigationType: navigationType,
|
||||
iosSourceFrame: iosSourceFrame,
|
||||
sourceFrame: sourceFrame,
|
||||
iosTargetFrame: iosTargetFrame,
|
||||
targetFrame: targetFrame);
|
||||
request: request,
|
||||
isForMainFrame: isForMainFrame,
|
||||
androidHasGesture: androidHasGesture,
|
||||
hasGesture: hasGesture,
|
||||
androidIsRedirect: androidIsRedirect,
|
||||
isRedirect: isRedirect,
|
||||
iosWKNavigationType: iosWKNavigationType,
|
||||
navigationType: navigationType,
|
||||
iosSourceFrame: iosSourceFrame,
|
||||
sourceFrame: sourceFrame,
|
||||
iosTargetFrame: iosTargetFrame,
|
||||
targetFrame: targetFrame);
|
||||
}
|
|
@ -18,5 +18,6 @@ class CrossOrigin_ {
|
|||
static const ANONYMOUS = const CrossOrigin_._internal("anonymous");
|
||||
|
||||
///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");
|
||||
}
|
|
@ -43,11 +43,11 @@ class CSSLinkHtmlTagAttributes_ {
|
|||
|
||||
CSSLinkHtmlTagAttributes_(
|
||||
{this.id,
|
||||
this.media,
|
||||
this.crossOrigin,
|
||||
this.integrity,
|
||||
this.referrerPolicy,
|
||||
this.disabled,
|
||||
this.alternate,
|
||||
this.title});
|
||||
this.media,
|
||||
this.crossOrigin,
|
||||
this.integrity,
|
||||
this.referrerPolicy,
|
||||
this.disabled,
|
||||
this.alternate,
|
||||
this.title});
|
||||
}
|
|
@ -21,6 +21,6 @@ class CustomSchemeResponse_ {
|
|||
|
||||
CustomSchemeResponse_(
|
||||
{required this.data,
|
||||
required this.contentType,
|
||||
this.contentEncoding = 'utf-8'});
|
||||
required this.contentType,
|
||||
this.contentEncoding = 'utf-8'});
|
||||
}
|
|
@ -13,7 +13,8 @@ class DataDetectorTypes_ {
|
|||
static const NONE = const DataDetectorTypes_._internal("NONE");
|
||||
|
||||
///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.
|
||||
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.
|
||||
static const CALENDAR_EVENT =
|
||||
const DataDetectorTypes_._internal("CALENDAR_EVENT");
|
||||
const DataDetectorTypes_._internal("CALENDAR_EVENT");
|
||||
|
||||
///Tracking numbers are detected and turned into links.
|
||||
static const TRACKING_NUMBER =
|
||||
const DataDetectorTypes_._internal("TRACKING_NUMBER");
|
||||
const DataDetectorTypes_._internal("TRACKING_NUMBER");
|
||||
|
||||
///Flight numbers are detected and turned into links.
|
||||
static const FLIGHT_NUMBER =
|
||||
const DataDetectorTypes_._internal("FLIGHT_NUMBER");
|
||||
const DataDetectorTypes_._internal("FLIGHT_NUMBER");
|
||||
|
||||
///Lookup suggestions are detected and turned into links.
|
||||
static const LOOKUP_SUGGESTION =
|
||||
const DataDetectorTypes_._internal("LOOKUP_SUGGESTION");
|
||||
const DataDetectorTypes_._internal("LOOKUP_SUGGESTION");
|
||||
|
||||
///Spotlight suggestions are detected and turned into links.
|
||||
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.
|
||||
static const ALL = const DataDetectorTypes_._internal("ALL");
|
||||
|
@ -62,7 +63,7 @@ class IOSWKDataDetectorTypes_ {
|
|||
|
||||
///Phone numbers are detected and turned into links.
|
||||
static const PHONE_NUMBER =
|
||||
const IOSWKDataDetectorTypes_._internal("PHONE_NUMBER");
|
||||
const IOSWKDataDetectorTypes_._internal("PHONE_NUMBER");
|
||||
|
||||
///URLs in text are detected and turned into links.
|
||||
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.
|
||||
static const CALENDAR_EVENT =
|
||||
const IOSWKDataDetectorTypes_._internal("CALENDAR_EVENT");
|
||||
const IOSWKDataDetectorTypes_._internal("CALENDAR_EVENT");
|
||||
|
||||
///Tracking numbers are detected and turned into links.
|
||||
static const TRACKING_NUMBER =
|
||||
const IOSWKDataDetectorTypes_._internal("TRACKING_NUMBER");
|
||||
const IOSWKDataDetectorTypes_._internal("TRACKING_NUMBER");
|
||||
|
||||
///Flight numbers are detected and turned into links.
|
||||
static const FLIGHT_NUMBER =
|
||||
const IOSWKDataDetectorTypes_._internal("FLIGHT_NUMBER");
|
||||
const IOSWKDataDetectorTypes_._internal("FLIGHT_NUMBER");
|
||||
|
||||
///Lookup suggestions are detected and turned into links.
|
||||
static const LOOKUP_SUGGESTION =
|
||||
const IOSWKDataDetectorTypes_._internal("LOOKUP_SUGGESTION");
|
||||
const IOSWKDataDetectorTypes_._internal("LOOKUP_SUGGESTION");
|
||||
|
||||
///Spotlight suggestions are detected and turned into links.
|
||||
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.
|
||||
static const ALL = const IOSWKDataDetectorTypes_._internal("ALL");
|
||||
|
|
|
@ -30,10 +30,10 @@ class DownloadStartRequest_ {
|
|||
|
||||
DownloadStartRequest_(
|
||||
{required this.url,
|
||||
this.userAgent,
|
||||
this.contentDisposition,
|
||||
this.mimeType,
|
||||
required this.contentLength,
|
||||
this.suggestedFilename,
|
||||
this.textEncodingName});
|
||||
this.userAgent,
|
||||
this.contentDisposition,
|
||||
this.mimeType,
|
||||
required this.contentLength,
|
||||
this.suggestedFilename,
|
||||
this.textEncodingName});
|
||||
}
|
|
@ -43,9 +43,7 @@ class FetchRequest_ {
|
|||
String? mode;
|
||||
|
||||
///The request credentials used by the request.
|
||||
@ExchangeableObjectProperty(
|
||||
deserializer: _fetchRequestCredentialDeserializer
|
||||
)
|
||||
@ExchangeableObjectProperty(deserializer: _fetchRequestCredentialDeserializer)
|
||||
FetchRequestCredential_? credentials;
|
||||
|
||||
///The cache mode used by the request.
|
||||
|
@ -71,16 +69,16 @@ class FetchRequest_ {
|
|||
|
||||
FetchRequest_(
|
||||
{this.url,
|
||||
this.method,
|
||||
this.headers,
|
||||
this.body,
|
||||
this.mode,
|
||||
this.credentials,
|
||||
this.cache,
|
||||
this.redirect,
|
||||
this.referrer,
|
||||
this.referrerPolicy,
|
||||
this.integrity,
|
||||
this.keepalive,
|
||||
this.action = FetchRequestAction_.PROCEED});
|
||||
this.method,
|
||||
this.headers,
|
||||
this.body,
|
||||
this.mode,
|
||||
this.credentials,
|
||||
this.cache,
|
||||
this.redirect,
|
||||
this.referrer,
|
||||
this.referrerPolicy,
|
||||
this.integrity,
|
||||
this.keepalive,
|
||||
this.action = FetchRequestAction_.PROCEED});
|
||||
}
|
|
@ -16,9 +16,8 @@ class FindSession_ {
|
|||
/// Defines how results are reported through the find panel's UI.
|
||||
SearchResultDisplayStyle_ searchResultDisplayStyle;
|
||||
|
||||
FindSession_({
|
||||
required this.resultCount,
|
||||
required this.highlightedResultIndex,
|
||||
required this.searchResultDisplayStyle
|
||||
});
|
||||
FindSession_(
|
||||
{required this.resultCount,
|
||||
required this.highlightedResultIndex,
|
||||
required this.searchResultDisplayStyle});
|
||||
}
|
|
@ -15,7 +15,8 @@ class ForceDarkStrategy_ {
|
|||
///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.
|
||||
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.
|
||||
///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.
|
||||
///
|
||||
///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);
|
||||
}
|
||||
|
|
|
@ -22,7 +22,7 @@ class HttpAuthResponse_ {
|
|||
|
||||
HttpAuthResponse_(
|
||||
{this.username = "",
|
||||
this.password = "",
|
||||
this.permanentPersistence = false,
|
||||
this.action = HttpAuthResponseAction_.CANCEL});
|
||||
this.password = "",
|
||||
this.permanentPersistence = false,
|
||||
this.action = HttpAuthResponseAction_.CANCEL});
|
||||
}
|
|
@ -10,6 +10,7 @@ class HttpAuthResponseAction_ {
|
|||
// ignore: unused_field
|
||||
final int _value;
|
||||
const HttpAuthResponseAction_._internal(this._value);
|
||||
|
||||
///Instructs the WebView to cancel the authentication request.
|
||||
static const CANCEL = const HttpAuthResponseAction_._internal(0);
|
||||
|
||||
|
@ -18,5 +19,5 @@ class HttpAuthResponseAction_ {
|
|||
|
||||
///Uses the credentials stored for the current host.
|
||||
static const USE_SAVED_HTTP_AUTH_CREDENTIALS =
|
||||
const HttpAuthResponseAction_._internal(2);
|
||||
const HttpAuthResponseAction_._internal(2);
|
||||
}
|
|
@ -45,11 +45,11 @@ class HttpAuthenticationChallenge_ extends URLAuthenticationChallenge_ {
|
|||
|
||||
HttpAuthenticationChallenge_(
|
||||
{required this.previousFailureCount,
|
||||
required URLProtectionSpace_ protectionSpace,
|
||||
@Deprecated("Use failureResponse instead") this.iosFailureResponse,
|
||||
this.failureResponse,
|
||||
this.proposedCredential,
|
||||
@Deprecated("Use error instead") this.iosError,
|
||||
this.error})
|
||||
required URLProtectionSpace_ protectionSpace,
|
||||
@Deprecated("Use failureResponse instead") this.iosFailureResponse,
|
||||
this.failureResponse,
|
||||
this.proposedCredential,
|
||||
@Deprecated("Use error instead") this.iosError,
|
||||
this.error})
|
||||
: super(protectionSpace: protectionSpace);
|
||||
}
|
|
@ -26,13 +26,13 @@ class InAppWebViewHitTestResultType_ {
|
|||
|
||||
///[InAppWebViewHitTestResult] for hitting a HTML::a tag with src=http.
|
||||
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.
|
||||
static const SRC_IMAGE_ANCHOR_TYPE =
|
||||
const InAppWebViewHitTestResultType_._internal(8);
|
||||
const InAppWebViewHitTestResultType_._internal(8);
|
||||
|
||||
///[InAppWebViewHitTestResult] for hitting an edit text area.
|
||||
static const EDIT_TEXT_TYPE =
|
||||
const InAppWebViewHitTestResultType_._internal(9);
|
||||
const InAppWebViewHitTestResultType_._internal(9);
|
||||
}
|
|
@ -24,16 +24,14 @@ class InAppWebViewInitialData_ {
|
|||
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.
|
||||
@SupportedPlatforms(platforms: [
|
||||
AndroidPlatform()
|
||||
])
|
||||
@SupportedPlatforms(platforms: [AndroidPlatform()])
|
||||
Uri? historyUrl;
|
||||
|
||||
InAppWebViewInitialData_(
|
||||
{required this.data,
|
||||
this.mimeType = "text/html",
|
||||
this.encoding = "utf8",
|
||||
this.baseUrl,
|
||||
@Deprecated('Use historyUrl instead') this.androidHistoryUrl,
|
||||
this.historyUrl});
|
||||
this.mimeType = "text/html",
|
||||
this.encoding = "utf8",
|
||||
this.baseUrl,
|
||||
@Deprecated('Use historyUrl instead') this.androidHistoryUrl,
|
||||
this.historyUrl});
|
||||
}
|
|
@ -20,9 +20,9 @@ class InAppWebViewRect_ {
|
|||
@ExchangeableObjectConstructor()
|
||||
InAppWebViewRect_(
|
||||
{required this.x,
|
||||
required this.y,
|
||||
required this.width,
|
||||
required this.height}) {
|
||||
required this.y,
|
||||
required this.width,
|
||||
required this.height}) {
|
||||
assert(this.x >= 0 && this.y >= 0 && this.width >= 0 && this.height >= 0);
|
||||
}
|
||||
}
|
|
@ -23,7 +23,7 @@ class JsAlertRequest_ {
|
|||
|
||||
JsAlertRequest_(
|
||||
{this.url,
|
||||
this.message,
|
||||
@Deprecated("Use isMainFrame instead") this.iosIsMainFrame,
|
||||
this.isMainFrame});
|
||||
this.message,
|
||||
@Deprecated("Use isMainFrame instead") this.iosIsMainFrame,
|
||||
this.isMainFrame});
|
||||
}
|
|
@ -23,7 +23,7 @@ class JsAlertResponse_ {
|
|||
|
||||
JsAlertResponse_(
|
||||
{this.message = "",
|
||||
this.handledByClient = false,
|
||||
this.confirmButtonTitle = "",
|
||||
this.action = JsAlertResponseAction_.CONFIRM});
|
||||
this.handledByClient = false,
|
||||
this.confirmButtonTitle = "",
|
||||
this.action = JsAlertResponseAction_.CONFIRM});
|
||||
}
|
|
@ -26,8 +26,8 @@ class JsBeforeUnloadResponse_ {
|
|||
|
||||
JsBeforeUnloadResponse_(
|
||||
{this.message = "",
|
||||
this.handledByClient = false,
|
||||
this.confirmButtonTitle = "",
|
||||
this.cancelButtonTitle = "",
|
||||
this.action = JsBeforeUnloadResponseAction_.CONFIRM});
|
||||
this.handledByClient = false,
|
||||
this.confirmButtonTitle = "",
|
||||
this.cancelButtonTitle = "",
|
||||
this.action = JsBeforeUnloadResponseAction_.CONFIRM});
|
||||
}
|
|
@ -23,7 +23,7 @@ class JsConfirmRequest_ {
|
|||
|
||||
JsConfirmRequest_(
|
||||
{this.url,
|
||||
this.message,
|
||||
@Deprecated("Use isMainFrame instead") this.iosIsMainFrame,
|
||||
this.isMainFrame});
|
||||
this.message,
|
||||
@Deprecated("Use isMainFrame instead") this.iosIsMainFrame,
|
||||
this.isMainFrame});
|
||||
}
|
|
@ -26,8 +26,8 @@ class JsConfirmResponse_ {
|
|||
|
||||
JsConfirmResponse_(
|
||||
{this.message = "",
|
||||
this.handledByClient = false,
|
||||
this.confirmButtonTitle = "",
|
||||
this.cancelButtonTitle = "",
|
||||
this.action = JsConfirmResponseAction_.CANCEL});
|
||||
this.handledByClient = false,
|
||||
this.confirmButtonTitle = "",
|
||||
this.cancelButtonTitle = "",
|
||||
this.action = JsConfirmResponseAction_.CANCEL});
|
||||
}
|
|
@ -26,8 +26,8 @@ class JsPromptRequest_ {
|
|||
|
||||
JsPromptRequest_(
|
||||
{this.url,
|
||||
this.message,
|
||||
this.defaultValue,
|
||||
@Deprecated("Use isMainFrame instead") this.iosIsMainFrame,
|
||||
this.isMainFrame});
|
||||
this.message,
|
||||
this.defaultValue,
|
||||
@Deprecated("Use isMainFrame instead") this.iosIsMainFrame,
|
||||
this.isMainFrame});
|
||||
}
|
|
@ -32,10 +32,10 @@ class JsPromptResponse_ {
|
|||
|
||||
JsPromptResponse_(
|
||||
{this.message = "",
|
||||
this.defaultValue = "",
|
||||
this.handledByClient = false,
|
||||
this.confirmButtonTitle = "",
|
||||
this.cancelButtonTitle = "",
|
||||
this.value,
|
||||
this.action = JsPromptResponseAction_.CANCEL});
|
||||
this.defaultValue = "",
|
||||
this.handledByClient = false,
|
||||
this.confirmButtonTitle = "",
|
||||
this.cancelButtonTitle = "",
|
||||
this.value,
|
||||
this.action = JsPromptResponseAction_.CANCEL});
|
||||
}
|
|
@ -20,11 +20,11 @@ class LayoutAlgorithm_ {
|
|||
///
|
||||
///**NOTE**: available on Android 19+.
|
||||
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`.
|
||||
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.
|
||||
|
@ -44,9 +44,9 @@ class AndroidLayoutAlgorithm_ {
|
|||
///
|
||||
///**NOTE**: available on Android 19+.
|
||||
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`.
|
||||
static const NARROW_COLUMNS =
|
||||
const AndroidLayoutAlgorithm_._internal("NARROW_COLUMNS");
|
||||
const AndroidLayoutAlgorithm_._internal("NARROW_COLUMNS");
|
||||
}
|
|
@ -30,7 +30,9 @@ class LayoutInDisplayCutoutMode_ {
|
|||
static const ALWAYS = const LayoutInDisplayCutoutMode_._internal(3);
|
||||
|
||||
@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.
|
||||
|
@ -54,7 +56,7 @@ class AndroidLayoutInDisplayCutoutMode_ {
|
|||
///
|
||||
///**NOTE**: available on Android 28+.
|
||||
static const SHORT_EDGES =
|
||||
const AndroidLayoutInDisplayCutoutMode_._internal(1);
|
||||
const AndroidLayoutInDisplayCutoutMode_._internal(1);
|
||||
|
||||
///Content never renders into the cutout area.
|
||||
///
|
||||
|
|
|
@ -20,5 +20,6 @@ class LoadedResource_ {
|
|||
///Returns the [DOMHighResTimeStamp](https://developer.mozilla.org/en-US/docs/Web/API/DOMHighResTimeStamp) duration to fetch a resource.
|
||||
double? duration;
|
||||
|
||||
LoadedResource_({this.initiatorType, this.url, this.startTime, this.duration});
|
||||
LoadedResource_(
|
||||
{this.initiatorType, this.url, this.startTime, this.duration});
|
||||
}
|
|
@ -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_action.dart' show AjaxRequestAction;
|
||||
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_ready_state.dart' show AjaxRequestReadyState;
|
||||
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 'call_async_javascript_result.dart' show CallAsyncJavaScriptResult;
|
||||
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_level.dart' show ConsoleMessageLevel;
|
||||
export 'content_blocker_action_type.dart' show ContentBlockerActionType;
|
||||
export 'content_blocker_trigger_load_type.dart' show ContentBlockerTriggerLoadType;
|
||||
export 'content_blocker_trigger_resource_type.dart' show ContentBlockerTriggerResourceType;
|
||||
export 'content_blocker_trigger_load_type.dart'
|
||||
show ContentBlockerTriggerLoadType;
|
||||
export 'content_blocker_trigger_resource_type.dart'
|
||||
show ContentBlockerTriggerResourceType;
|
||||
export 'content_world.dart' show ContentWorld;
|
||||
export 'cookie.dart' show Cookie;
|
||||
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 'custom_scheme_response.dart' show CustomSchemeResponse;
|
||||
export 'custom_tabs_share_state.dart' show CustomTabsShareState;
|
||||
export 'data_detector_types.dart' show DataDetectorTypes, IOSWKDataDetectorTypes;
|
||||
export 'dismiss_button_style.dart' show DismissButtonStyle, IOSSafariDismissButtonStyle;
|
||||
export 'data_detector_types.dart'
|
||||
show DataDetectorTypes, IOSWKDataDetectorTypes;
|
||||
export 'dismiss_button_style.dart'
|
||||
show DismissButtonStyle, IOSSafariDismissButtonStyle;
|
||||
export 'download_start_request.dart' show DownloadStartRequest;
|
||||
export 'favicon.dart' show Favicon;
|
||||
export 'fetch_request.dart' show FetchRequest;
|
||||
export 'fetch_request_action.dart' show FetchRequestAction;
|
||||
export 'fetch_request_credential.dart' show FetchRequestCredential;
|
||||
export 'fetch_request_credential_default.dart' show FetchRequestCredentialDefault;
|
||||
export 'fetch_request_federated_credential.dart' show FetchRequestFederatedCredential;
|
||||
export 'fetch_request_password_credential.dart' show FetchRequestPasswordCredential;
|
||||
export 'fetch_request_credential_default.dart'
|
||||
show FetchRequestCredentialDefault;
|
||||
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_strategy.dart' show ForceDarkStrategy;
|
||||
export 'form_resubmission_action.dart' show FormResubmissionAction;
|
||||
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_action.dart' show HttpAuthResponseAction;
|
||||
export 'http_authentication_challenge.dart' show HttpAuthenticationChallenge;
|
||||
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_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_rect.dart' show InAppWebViewRect;
|
||||
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_before_unload_request.dart' show JsBeforeUnloadRequest;
|
||||
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_response.dart' show JsConfirmResponse;
|
||||
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_action.dart' show JsPromptResponseAction;
|
||||
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 'login_request.dart' show LoginRequest;
|
||||
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_attribute.dart' show MetaTagAttribute;
|
||||
export 'mixed_content_mode.dart' show MixedContentMode, AndroidMixedContentMode;
|
||||
export 'modal_presentation_style.dart' show ModalPresentationStyle, IOSUIModalPresentationStyle;
|
||||
export 'modal_transition_style.dart' show ModalTransitionStyle, IOSUIModalTransitionStyle;
|
||||
export 'modal_presentation_style.dart'
|
||||
show ModalPresentationStyle, IOSUIModalPresentationStyle;
|
||||
export 'modal_transition_style.dart'
|
||||
show ModalTransitionStyle, IOSUIModalTransitionStyle;
|
||||
export 'navigation_action.dart' show NavigationAction;
|
||||
export 'navigation_action_policy.dart' show NavigationActionPolicy;
|
||||
export 'navigation_response.dart' show NavigationResponse, IOSWKNavigationResponse;
|
||||
export 'navigation_response_action.dart' show NavigationResponseAction, IOSNavigationResponseAction;
|
||||
export 'navigation_response.dart'
|
||||
show NavigationResponse, IOSWKNavigationResponse;
|
||||
export 'navigation_response_action.dart'
|
||||
show NavigationResponseAction, IOSNavigationResponseAction;
|
||||
export 'navigation_type.dart' show NavigationType, IOSWKNavigationType;
|
||||
export 'on_post_message_callback.dart' show OnPostMessageCallback;
|
||||
export 'over_scroll_mode.dart' show OverScrollMode, AndroidOverScrollMode;
|
||||
export 'pdf_configuration.dart' show PDFConfiguration, IOSWKPDFConfiguration;
|
||||
export 'permission_request.dart' show PermissionRequest;
|
||||
export 'permission_resource_type.dart' show PermissionResourceType;
|
||||
export 'permission_response.dart' show PermissionResponse, PermissionRequestResponse;
|
||||
export 'permission_response_action.dart' show PermissionResponseAction, PermissionRequestResponseAction;
|
||||
export 'permission_response.dart'
|
||||
show PermissionResponse, PermissionRequestResponse;
|
||||
export 'permission_response_action.dart'
|
||||
show PermissionResponseAction, PermissionRequestResponseAction;
|
||||
export 'print_job_attributes.dart' show PrintJobAttributes;
|
||||
export 'print_job_color_mode.dart' show PrintJobColorMode;
|
||||
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 'proxy_rule.dart' show ProxyRule;
|
||||
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 'render_process_gone_detail.dart' show RenderProcessGoneDetail;
|
||||
export 'renderer_priority.dart' show RendererPriority;
|
||||
|
@ -110,41 +130,62 @@ export 'sandbox.dart' show Sandbox;
|
|||
export 'screenshot_configuration.dart' show ScreenshotConfiguration;
|
||||
export 'script_html_tag_attributes.dart' show ScriptHtmlTagAttributes;
|
||||
export 'scrollbar_style.dart' show ScrollBarStyle, AndroidScrollBarStyle;
|
||||
export 'scrollview_content_inset_adjustment_behavior.dart' show ScrollViewContentInsetAdjustmentBehavior, IOSUIScrollViewContentInsetAdjustmentBehavior;
|
||||
export 'scrollview_deceleration_rate.dart' show ScrollViewDecelerationRate, IOSUIScrollViewDecelerationRate;
|
||||
export 'scrollview_content_inset_adjustment_behavior.dart'
|
||||
show
|
||||
ScrollViewContentInsetAdjustmentBehavior,
|
||||
IOSUIScrollViewContentInsetAdjustmentBehavior;
|
||||
export 'scrollview_deceleration_rate.dart'
|
||||
show ScrollViewDecelerationRate, IOSUIScrollViewDecelerationRate;
|
||||
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_action.dart' show ServerTrustAuthResponseAction;
|
||||
export 'server_trust_auth_response_action.dart'
|
||||
show ServerTrustAuthResponseAction;
|
||||
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_dname.dart' show SslCertificateDName;
|
||||
export 'ssl_error.dart' show SslError;
|
||||
export 'ssl_error_type.dart' show SslErrorType, AndroidSslError, IOSSslError;
|
||||
export 'trusted_web_activity_default_display_mode.dart' show TrustedWebActivityDefaultDisplayMode;
|
||||
export 'trusted_web_activity_display_mode.dart' show TrustedWebActivityDisplayMode;
|
||||
export 'trusted_web_activity_immersive_display_mode.dart' show TrustedWebActivityImmersiveDisplayMode;
|
||||
export 'trusted_web_activity_screen_orientation.dart' show TrustedWebActivityScreenOrientation;
|
||||
export 'trusted_web_activity_default_display_mode.dart'
|
||||
show TrustedWebActivityDefaultDisplayMode;
|
||||
export 'trusted_web_activity_display_mode.dart'
|
||||
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 'url_authentication_challenge.dart' show URLAuthenticationChallenge;
|
||||
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_authentication_method.dart' show URLProtectionSpaceAuthenticationMethod, IOSNSURLProtectionSpaceAuthenticationMethod;
|
||||
export 'url_protection_space_http_auth_credentials.dart' show URLProtectionSpaceHttpAuthCredentials;
|
||||
export 'url_protection_space_proxy_type.dart' show URLProtectionSpaceProxyType, IOSNSURLProtectionSpaceProxyType;
|
||||
export 'url_protection_space_authentication_method.dart'
|
||||
show
|
||||
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_attribution.dart' show URLRequestAttribution;
|
||||
export 'url_request_cache_policy.dart' show URLRequestCachePolicy, IOSURLRequestCachePolicy;
|
||||
export 'url_request_network_service_type.dart' show URLRequestNetworkServiceType, IOSURLRequestNetworkServiceType;
|
||||
export 'url_request_cache_policy.dart'
|
||||
show URLRequestCachePolicy, IOSURLRequestCachePolicy;
|
||||
export 'url_request_network_service_type.dart'
|
||||
show URLRequestNetworkServiceType, IOSURLRequestNetworkServiceType;
|
||||
export 'url_response.dart' show URLResponse, IOSURLResponse;
|
||||
export 'user_preferred_content_mode.dart' show UserPreferredContentMode;
|
||||
export 'user_script.dart' show UserScript;
|
||||
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_authentication_session_error.dart' show WebAuthenticationSessionError;
|
||||
export 'web_authentication_session_error.dart'
|
||||
show WebAuthenticationSessionError;
|
||||
export 'web_history.dart' show WebHistory;
|
||||
export 'web_history_item.dart' show WebHistoryItem;
|
||||
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_storage_origin.dart' show WebStorageOrigin, AndroidWebStorageOrigin;
|
||||
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 '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 'window_features.dart' show WindowFeatures, IOSWKWindowFeatures;
|
||||
export 'requested_with_header_mode.dart' show RequestedWithHeaderMode;
|
||||
export 'find_session.dart' show FindSession;
|
||||
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;
|
||||
|
|
|
@ -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.
|
||||
///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.
|
||||
///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.
|
||||
///For highest security, apps are recommended to use [MixedContentMode.MIXED_CONTENT_NEVER_ALLOW].
|
||||
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.
|
||||
|
@ -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.
|
||||
///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 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.
|
||||
///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 =
|
||||
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.
|
||||
///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.
|
||||
///For highest security, apps are recommended to use [AndroidMixedContentMode.MIXED_CONTENT_NEVER_ALLOW].
|
||||
static const MIXED_CONTENT_COMPATIBILITY_MODE =
|
||||
const AndroidMixedContentMode_._internal(2);
|
||||
const AndroidMixedContentMode_._internal(2);
|
||||
}
|
|
@ -28,7 +28,8 @@ class ModalPresentationStyle_ {
|
|||
static const OVER_FULL_SCREEN = const ModalPresentationStyle_._internal(5);
|
||||
|
||||
///A presentation style where the content is displayed over another view controller’s 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.
|
||||
static const POPOVER = const ModalPresentationStyle_._internal(7);
|
||||
|
@ -61,18 +62,19 @@ class IOSUIModalPresentationStyle_ {
|
|||
static const FORM_SHEET = const IOSUIModalPresentationStyle_._internal(2);
|
||||
|
||||
///A presentation style where the content is displayed over another view controller’s 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.
|
||||
static const CUSTOM = const IOSUIModalPresentationStyle_._internal(4);
|
||||
|
||||
///A view presentation style in which the presented view covers the 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 controller’s content.
|
||||
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.
|
||||
static const POPOVER = const IOSUIModalPresentationStyle_._internal(7);
|
||||
|
|
|
@ -32,16 +32,14 @@ class NavigationAction_ {
|
|||
///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
|
||||
///gesture.
|
||||
@SupportedPlatforms(
|
||||
platforms: [
|
||||
AndroidPlatform(
|
||||
@SupportedPlatforms(platforms: [
|
||||
AndroidPlatform(
|
||||
available: "21",
|
||||
apiName: "WebResourceRequest.hasGesture",
|
||||
apiUrl: "https://developer.android.com/reference/android/webkit/WebResourceRequest#hasGesture()",
|
||||
note: "On Android < 21, this is always `false`"
|
||||
)
|
||||
]
|
||||
)
|
||||
apiUrl:
|
||||
"https://developer.android.com/reference/android/webkit/WebResourceRequest#hasGesture()",
|
||||
note: "On Android < 21, this is always `false`")
|
||||
])
|
||||
bool? hasGesture;
|
||||
|
||||
///Use [isRedirect] instead.
|
||||
|
@ -52,15 +50,13 @@ class NavigationAction_ {
|
|||
///
|
||||
///**NOTE**: If the request is associated to the [WebView.onCreateWindow] event, this is always `false`.
|
||||
///Also, on Android < 21, this is always `false`.
|
||||
@SupportedPlatforms(
|
||||
platforms: [
|
||||
AndroidPlatform(
|
||||
available: "21",
|
||||
apiName: "WebResourceRequest.isRedirect",
|
||||
apiUrl: "https://developer.android.com/reference/android/webkit/WebResourceRequest#isRedirect()"
|
||||
)
|
||||
]
|
||||
)
|
||||
@SupportedPlatforms(platforms: [
|
||||
AndroidPlatform(
|
||||
available: "21",
|
||||
apiName: "WebResourceRequest.isRedirect",
|
||||
apiUrl:
|
||||
"https://developer.android.com/reference/android/webkit/WebResourceRequest#isRedirect()")
|
||||
])
|
||||
bool? isRedirect;
|
||||
|
||||
///Use [navigationType] instead.
|
||||
|
@ -68,14 +64,12 @@ class NavigationAction_ {
|
|||
IOSWKNavigationType_? iosWKNavigationType;
|
||||
|
||||
///The type of action triggering the navigation.ì
|
||||
@SupportedPlatforms(
|
||||
platforms: [
|
||||
IOSPlatform(
|
||||
apiName: "WKNavigationAction.navigationType",
|
||||
apiUrl: "https://developer.apple.com/documentation/webkit/wknavigationaction/1401914-navigationtype"
|
||||
)
|
||||
]
|
||||
)
|
||||
@SupportedPlatforms(platforms: [
|
||||
IOSPlatform(
|
||||
apiName: "WKNavigationAction.navigationType",
|
||||
apiUrl:
|
||||
"https://developer.apple.com/documentation/webkit/wknavigationaction/1401914-navigationtype")
|
||||
])
|
||||
NavigationType_? navigationType;
|
||||
|
||||
///Use [sourceFrame] instead.
|
||||
|
@ -83,14 +77,12 @@ class NavigationAction_ {
|
|||
IOSWKFrameInfo_? iosSourceFrame;
|
||||
|
||||
///The frame that requested the navigation.
|
||||
@SupportedPlatforms(
|
||||
platforms: [
|
||||
IOSPlatform(
|
||||
apiName: "WKNavigationAction.sourceFrame",
|
||||
apiUrl: "https://developer.apple.com/documentation/webkit/wknavigationaction/1401926-sourceframe"
|
||||
)
|
||||
]
|
||||
)
|
||||
@SupportedPlatforms(platforms: [
|
||||
IOSPlatform(
|
||||
apiName: "WKNavigationAction.sourceFrame",
|
||||
apiUrl:
|
||||
"https://developer.apple.com/documentation/webkit/wknavigationaction/1401926-sourceframe")
|
||||
])
|
||||
FrameInfo_? sourceFrame;
|
||||
|
||||
///Use [targetFrame] instead.
|
||||
|
@ -98,40 +90,36 @@ class NavigationAction_ {
|
|||
IOSWKFrameInfo_? iosTargetFrame;
|
||||
|
||||
///The frame in which to display the new content.
|
||||
@SupportedPlatforms(
|
||||
platforms: [
|
||||
IOSPlatform(
|
||||
apiName: "WKNavigationAction.targetFrame",
|
||||
apiUrl: "https://developer.apple.com/documentation/webkit/wknavigationaction/1401918-targetframe"
|
||||
)
|
||||
]
|
||||
)
|
||||
@SupportedPlatforms(platforms: [
|
||||
IOSPlatform(
|
||||
apiName: "WKNavigationAction.targetFrame",
|
||||
apiUrl:
|
||||
"https://developer.apple.com/documentation/webkit/wknavigationaction/1401918-targetframe")
|
||||
])
|
||||
FrameInfo_? targetFrame;
|
||||
|
||||
///A value indicating whether the web content used a download attribute to indicate that this should be downloaded.
|
||||
@SupportedPlatforms(
|
||||
platforms: [
|
||||
IOSPlatform(
|
||||
available: "14.5",
|
||||
apiName: "WKNavigationAction.shouldPerformDownload",
|
||||
apiUrl: "https://developer.apple.com/documentation/webkit/wknavigationaction/3727357-shouldperformdownload"
|
||||
)
|
||||
]
|
||||
)
|
||||
@SupportedPlatforms(platforms: [
|
||||
IOSPlatform(
|
||||
available: "14.5",
|
||||
apiName: "WKNavigationAction.shouldPerformDownload",
|
||||
apiUrl:
|
||||
"https://developer.apple.com/documentation/webkit/wknavigationaction/3727357-shouldperformdownload")
|
||||
])
|
||||
bool? shouldPerformDownload;
|
||||
|
||||
NavigationAction_(
|
||||
{required this.request,
|
||||
required this.isForMainFrame,
|
||||
@Deprecated('Use hasGesture instead') this.androidHasGesture,
|
||||
this.hasGesture,
|
||||
@Deprecated('Use isRedirect instead') this.androidIsRedirect,
|
||||
this.isRedirect,
|
||||
@Deprecated("Use navigationType instead") this.iosWKNavigationType,
|
||||
this.navigationType,
|
||||
@Deprecated("Use sourceFrame instead") this.iosSourceFrame,
|
||||
this.sourceFrame,
|
||||
@Deprecated("Use targetFrame instead") this.iosTargetFrame,
|
||||
this.targetFrame,
|
||||
this.shouldPerformDownload});
|
||||
required this.isForMainFrame,
|
||||
@Deprecated('Use hasGesture instead') this.androidHasGesture,
|
||||
this.hasGesture,
|
||||
@Deprecated('Use isRedirect instead') this.androidIsRedirect,
|
||||
this.isRedirect,
|
||||
@Deprecated("Use navigationType instead") this.iosWKNavigationType,
|
||||
this.navigationType,
|
||||
@Deprecated("Use sourceFrame instead") this.iosSourceFrame,
|
||||
this.sourceFrame,
|
||||
@Deprecated("Use targetFrame instead") this.iosTargetFrame,
|
||||
this.targetFrame,
|
||||
this.shouldPerformDownload});
|
||||
}
|
|
@ -19,8 +19,8 @@ class NavigationResponse_ {
|
|||
|
||||
NavigationResponse_(
|
||||
{this.response,
|
||||
required this.isForMainFrame,
|
||||
required this.canShowMIMEType});
|
||||
required this.isForMainFrame,
|
||||
required this.canShowMIMEType});
|
||||
}
|
||||
|
||||
///An iOS-specific Class that represents the navigation response used by the [WebView.onNavigationResponse] event.
|
||||
|
@ -39,6 +39,6 @@ class IOSWKNavigationResponse_ {
|
|||
|
||||
IOSWKNavigationResponse_(
|
||||
{this.response,
|
||||
required this.isForMainFrame,
|
||||
required this.canShowMIMEType});
|
||||
required this.isForMainFrame,
|
||||
required this.canShowMIMEType});
|
||||
}
|
|
@ -16,8 +16,7 @@ class OverScrollMode_ {
|
|||
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.
|
||||
static const IF_CONTENT_SCROLLS =
|
||||
const OverScrollMode_._internal(1);
|
||||
static const IF_CONTENT_SCROLLS = const OverScrollMode_._internal(1);
|
||||
|
||||
///Never allow a user to over-scroll this view.
|
||||
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.
|
||||
static const OVER_SCROLL_IF_CONTENT_SCROLLS =
|
||||
const AndroidOverScrollMode_._internal(1);
|
||||
const AndroidOverScrollMode_._internal(1);
|
||||
|
||||
///Never allow a user to over-scroll this view.
|
||||
static const OVER_SCROLL_NEVER = const AndroidOverScrollMode_._internal(2);
|
||||
|
|
|
@ -15,16 +15,16 @@ class PermissionResourceType_ {
|
|||
///Resource belongs to audio capture device, like microphone.
|
||||
@EnumSupportedPlatforms(platforms: [
|
||||
EnumAndroidPlatform(
|
||||
apiName: 'PermissionRequest.RESOURCE_AUDIO_CAPTURE',
|
||||
apiUrl: 'https://developer.android.com/reference/android/webkit/PermissionRequest#RESOURCE_AUDIO_CAPTURE',
|
||||
value: 'android.webkit.resource.AUDIO_CAPTURE'
|
||||
),
|
||||
apiName: 'PermissionRequest.RESOURCE_AUDIO_CAPTURE',
|
||||
apiUrl:
|
||||
'https://developer.android.com/reference/android/webkit/PermissionRequest#RESOURCE_AUDIO_CAPTURE',
|
||||
value: 'android.webkit.resource.AUDIO_CAPTURE'),
|
||||
EnumIOSPlatform(
|
||||
available: "15.0",
|
||||
apiName: 'WKMediaCaptureType.microphone',
|
||||
apiUrl: 'https://developer.apple.com/documentation/webkit/wkmediacapturetype/microphone',
|
||||
value: 1
|
||||
)
|
||||
available: "15.0",
|
||||
apiName: 'WKMediaCaptureType.microphone',
|
||||
apiUrl:
|
||||
'https://developer.apple.com/documentation/webkit/wkmediacapturetype/microphone',
|
||||
value: 1)
|
||||
])
|
||||
static const MICROPHONE = PermissionResourceType_._internal('MICROPHONE');
|
||||
|
||||
|
@ -34,9 +34,9 @@ class PermissionResourceType_ {
|
|||
@EnumSupportedPlatforms(platforms: [
|
||||
EnumAndroidPlatform(
|
||||
apiName: 'PermissionRequest.RESOURCE_MIDI_SYSEX',
|
||||
apiUrl: 'https://developer.android.com/reference/android/webkit/PermissionRequest#RESOURCE_MIDI_SYSEX',
|
||||
value: 'android.webkit.resource.MIDI_SYSEX'
|
||||
),
|
||||
apiUrl:
|
||||
'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');
|
||||
|
||||
|
@ -44,25 +44,26 @@ class PermissionResourceType_ {
|
|||
@EnumSupportedPlatforms(platforms: [
|
||||
EnumAndroidPlatform(
|
||||
apiName: 'PermissionRequest.RESOURCE_PROTECTED_MEDIA_ID',
|
||||
apiUrl: 'https://developer.android.com/reference/android/webkit/PermissionRequest#RESOURCE_PROTECTED_MEDIA_ID',
|
||||
value: 'android.webkit.resource.PROTECTED_MEDIA_ID'
|
||||
),
|
||||
apiUrl:
|
||||
'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.
|
||||
@EnumSupportedPlatforms(platforms: [
|
||||
EnumAndroidPlatform(
|
||||
apiName: 'PermissionRequest.RESOURCE_VIDEO_CAPTURE',
|
||||
apiUrl: 'https://developer.android.com/reference/android/webkit/PermissionRequest#RESOURCE_VIDEO_CAPTURE',
|
||||
value: 'android.webkit.resource.VIDEO_CAPTURE'
|
||||
),
|
||||
apiUrl:
|
||||
'https://developer.android.com/reference/android/webkit/PermissionRequest#RESOURCE_VIDEO_CAPTURE',
|
||||
value: 'android.webkit.resource.VIDEO_CAPTURE'),
|
||||
EnumIOSPlatform(
|
||||
available: "15.0",
|
||||
apiName: 'WKMediaCaptureType.camera',
|
||||
apiUrl: 'https://developer.apple.com/documentation/webkit/wkmediacapturetype/camera',
|
||||
value: 0
|
||||
)
|
||||
apiUrl:
|
||||
'https://developer.apple.com/documentation/webkit/wkmediacapturetype/camera',
|
||||
value: 0)
|
||||
])
|
||||
static const CAMERA = PermissionResourceType_._internal('CAMERA');
|
||||
|
||||
|
@ -71,19 +72,17 @@ class PermissionResourceType_ {
|
|||
EnumIOSPlatform(
|
||||
available: "15.0",
|
||||
apiName: 'WKMediaCaptureType.cameraAndMicrophone',
|
||||
apiUrl: 'https://developer.apple.com/documentation/webkit/wkmediacapturetype/cameraandmicrophone',
|
||||
value: 2
|
||||
)
|
||||
apiUrl:
|
||||
'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 device’s orientation and motion.
|
||||
@EnumSupportedPlatforms(platforms: [
|
||||
EnumIOSPlatform(
|
||||
available: "15.0",
|
||||
value: 'deviceOrientationAndMotion'
|
||||
)
|
||||
EnumIOSPlatform(available: "15.0", value: 'deviceOrientationAndMotion')
|
||||
])
|
||||
static const DEVICE_ORIENTATION_AND_MOTION = PermissionResourceType_._internal(
|
||||
'DEVICE_ORIENTATION_AND_MOTION');
|
||||
static const DEVICE_ORIENTATION_AND_MOTION =
|
||||
PermissionResourceType_._internal('DEVICE_ORIENTATION_AND_MOTION');
|
||||
}
|
||||
|
|
|
@ -18,7 +18,8 @@ class PermissionResponse_ {
|
|||
PermissionResponseAction_? action;
|
||||
|
||||
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.
|
||||
|
@ -34,5 +35,5 @@ class PermissionRequestResponse_ {
|
|||
|
||||
PermissionRequestResponse_(
|
||||
{this.resources = const [],
|
||||
this.action = PermissionRequestResponseAction_.DENY});
|
||||
this.action = PermissionRequestResponseAction_.DENY});
|
||||
}
|
|
@ -21,10 +21,9 @@ class PermissionResponseAction_ {
|
|||
///Prompt the user for permission for the requested resource.
|
||||
@EnumSupportedPlatforms(platforms: [
|
||||
EnumIOSPlatform(
|
||||
available: "15.0",
|
||||
note: "On iOS < 15.0, it will fallback to [DENY]",
|
||||
value: 2
|
||||
)
|
||||
available: "15.0",
|
||||
note: "On iOS < 15.0, it will fallback to [DENY]",
|
||||
value: 2)
|
||||
])
|
||||
static const PROMPT = const PermissionResponseAction_._internal(2);
|
||||
}
|
||||
|
|
|
@ -22,23 +22,18 @@ class PrintJobAttributes_ {
|
|||
|
||||
///The duplex mode to use for the print job.
|
||||
@SupportedPlatforms(
|
||||
platforms: [AndroidPlatform(available: "23"), IOSPlatform()]
|
||||
)
|
||||
platforms: [AndroidPlatform(available: "23"), IOSPlatform()])
|
||||
PrintJobDuplexMode_? duplex;
|
||||
|
||||
///The orientation of the printed content, portrait or landscape.
|
||||
PrintJobOrientation_? orientation;
|
||||
|
||||
///The media size.
|
||||
@SupportedPlatforms(
|
||||
platforms: [AndroidPlatform()]
|
||||
)
|
||||
@SupportedPlatforms(platforms: [AndroidPlatform()])
|
||||
PrintJobMediaSize_? mediaSize;
|
||||
|
||||
///The supported resolution in DPI (dots per inch).
|
||||
@SupportedPlatforms(
|
||||
platforms: [AndroidPlatform()]
|
||||
)
|
||||
@SupportedPlatforms(platforms: [AndroidPlatform()])
|
||||
PrintJobResolution_? resolution;
|
||||
|
||||
///The margins for each printed page.
|
||||
|
|
|
@ -63,8 +63,8 @@ class PrintJobMediaSize_ {
|
|||
id: "ISO_A3", widthMils: 11690, heightMils: 16540);
|
||||
|
||||
///ISO A4 media size: 210mm x 297mm (8.27" x 11.69")
|
||||
static const ISO_A4 =
|
||||
const PrintJobMediaSize_(id: "ISO_A4", widthMils: 8270, heightMils: 11690);
|
||||
static const ISO_A4 = const PrintJobMediaSize_(
|
||||
id: "ISO_A4", widthMils: 8270, heightMils: 11690);
|
||||
|
||||
///ISO A5 media size: 148mm x 210mm (5.83" x 8.27")
|
||||
static const ISO_A5 =
|
||||
|
@ -87,8 +87,8 @@ class PrintJobMediaSize_ {
|
|||
const PrintJobMediaSize_(id: "ISO_A9", widthMils: 1460, heightMils: 2050);
|
||||
|
||||
///ISO A10 media size: 26mm x 37mm (1.02" x 1.46")
|
||||
static const ISO_A10 =
|
||||
const PrintJobMediaSize_(id: "ISO_A10", widthMils: 1020, heightMils: 1460);
|
||||
static const ISO_A10 = const PrintJobMediaSize_(
|
||||
id: "ISO_A10", widthMils: 1020, heightMils: 1460);
|
||||
|
||||
///ISO B0 media size: 1000mm x 1414mm (39.37" x 55.67")
|
||||
static const ISO_B0 = const PrintJobMediaSize_(
|
||||
|
@ -107,8 +107,8 @@ class PrintJobMediaSize_ {
|
|||
id: "ISO_B3", widthMils: 13900, heightMils: 19690);
|
||||
|
||||
///ISO B4 media size: 250mm x 353mm (9.84" x 13.90")
|
||||
static const ISO_B4 =
|
||||
const PrintJobMediaSize_(id: "ISO_B4", widthMils: 9840, heightMils: 13900);
|
||||
static const ISO_B4 = const PrintJobMediaSize_(
|
||||
id: "ISO_B4", widthMils: 9840, heightMils: 13900);
|
||||
|
||||
///ISO B5 media size: 176mm x 250mm (6.93" x 9.84")
|
||||
static const ISO_B5 =
|
||||
|
@ -131,8 +131,8 @@ class PrintJobMediaSize_ {
|
|||
const PrintJobMediaSize_(id: "ISO_B9", widthMils: 1730, heightMils: 2440);
|
||||
|
||||
///ISO B10 media size: 31mm x 44mm (1.22" x 1.73")
|
||||
static const ISO_B10 =
|
||||
const PrintJobMediaSize_(id: "ISO_B10", widthMils: 1220, heightMils: 1730);
|
||||
static const ISO_B10 = const PrintJobMediaSize_(
|
||||
id: "ISO_B10", widthMils: 1220, heightMils: 1730);
|
||||
|
||||
///ISO C0 media size: 917mm x 1297mm (36.10" x 51.06")
|
||||
static const ISO_C0 = const PrintJobMediaSize_(
|
||||
|
@ -151,8 +151,8 @@ class PrintJobMediaSize_ {
|
|||
id: "ISO_C3", widthMils: 12760, heightMils: 18030);
|
||||
|
||||
///ISO C4 media size: 229mm x 324mm (9.02" x 12.76")
|
||||
static const ISO_C4 =
|
||||
const PrintJobMediaSize_(id: "ISO_C4", widthMils: 9020, heightMils: 12760);
|
||||
static const ISO_C4 = const PrintJobMediaSize_(
|
||||
id: "ISO_C4", widthMils: 9020, heightMils: 12760);
|
||||
|
||||
///ISO C5 media size: 162mm x 229mm (6.38" x 9.02")
|
||||
static const ISO_C5 =
|
||||
|
@ -175,8 +175,8 @@ class PrintJobMediaSize_ {
|
|||
const PrintJobMediaSize_(id: "ISO_C9", widthMils: 1570, heightMils: 2240);
|
||||
|
||||
///ISO C10 media size: 28mm x 40mm (1.10" x 1.57")
|
||||
static const ISO_C10 =
|
||||
const PrintJobMediaSize_(id: "ISO_C10", widthMils: 1100, heightMils: 1570);
|
||||
static const ISO_C10 = const PrintJobMediaSize_(
|
||||
id: "ISO_C10", widthMils: 1100, heightMils: 1570);
|
||||
|
||||
// North America
|
||||
|
||||
|
@ -323,8 +323,8 @@ class PrintJobMediaSize_ {
|
|||
id: "PRC_10", widthMils: 12756, heightMils: 18032);
|
||||
|
||||
///Chinese PRC 16k media size: 146mm x 215mm (5.749" x 8.465")
|
||||
static const PRC_16K =
|
||||
const PrintJobMediaSize_(id: "PRC_16K", widthMils: 5749, heightMils: 8465);
|
||||
static const PRC_16K = const PrintJobMediaSize_(
|
||||
id: "PRC_16K", widthMils: 5749, heightMils: 8465);
|
||||
|
||||
///Chinese Pa Kai media size: 267mm x 389mm (10.512" x 15.315")
|
||||
static const OM_PA_KAI = const PrintJobMediaSize_(
|
||||
|
@ -341,8 +341,8 @@ class PrintJobMediaSize_ {
|
|||
// Japanese
|
||||
|
||||
///Japanese JIS B10 media size: 32mm x 45mm (1.259" x 1.772")
|
||||
static const JIS_B10 =
|
||||
const PrintJobMediaSize_(id: "JIS_B10", widthMils: 1259, heightMils: 1772);
|
||||
static const JIS_B10 = const PrintJobMediaSize_(
|
||||
id: "JIS_B10", widthMils: 1259, heightMils: 1772);
|
||||
|
||||
///Japanese JIS B9 media size: 45mm x 64mm (1.772" x 2.52")
|
||||
static const JIS_B9 =
|
||||
|
@ -361,8 +361,8 @@ class PrintJobMediaSize_ {
|
|||
const PrintJobMediaSize_(id: "JIS_B6", widthMils: 5049, heightMils: 7165);
|
||||
|
||||
///Japanese JIS B5 media size: 182mm x 257mm (7.165" x 10.118")
|
||||
static const JIS_B5 =
|
||||
const PrintJobMediaSize_(id: "JIS_B5", widthMils: 7165, heightMils: 10118);
|
||||
static const JIS_B5 = const PrintJobMediaSize_(
|
||||
id: "JIS_B5", widthMils: 7165, heightMils: 10118);
|
||||
|
||||
///Japanese JIS B4 media size: 257mm x 364mm (10.118" x 14.331")
|
||||
static const JIS_B4 = const PrintJobMediaSize_(
|
||||
|
|
|
@ -17,10 +17,10 @@ class PrintJobState_ {
|
|||
///Next valid states: [QUEUED].
|
||||
@EnumSupportedPlatforms(platforms: [
|
||||
EnumAndroidPlatform(
|
||||
apiName: 'PrintJobInfo.STATE_CREATED',
|
||||
apiUrl: 'https://developer.android.com/reference/android/print/PrintJobInfo#STATE_CREATED',
|
||||
value: 1
|
||||
),
|
||||
apiName: 'PrintJobInfo.STATE_CREATED',
|
||||
apiUrl:
|
||||
'https://developer.android.com/reference/android/print/PrintJobInfo#STATE_CREATED',
|
||||
value: 1),
|
||||
EnumIOSPlatform(value: 1)
|
||||
])
|
||||
static const CREATED = const PrintJobState_._internal(1);
|
||||
|
@ -31,9 +31,9 @@ class PrintJobState_ {
|
|||
@EnumSupportedPlatforms(platforms: [
|
||||
EnumAndroidPlatform(
|
||||
apiName: 'PrintJobInfo.STATE_QUEUED',
|
||||
apiUrl: 'https://developer.android.com/reference/android/print/PrintJobInfo#STATE_QUEUED',
|
||||
value: 2
|
||||
)
|
||||
apiUrl:
|
||||
'https://developer.android.com/reference/android/print/PrintJobInfo#STATE_QUEUED',
|
||||
value: 2)
|
||||
])
|
||||
static const QUEUED = const PrintJobState_._internal(2);
|
||||
|
||||
|
@ -43,9 +43,9 @@ class PrintJobState_ {
|
|||
@EnumSupportedPlatforms(platforms: [
|
||||
EnumAndroidPlatform(
|
||||
apiName: 'PrintJobInfo.STATE_STARTED',
|
||||
apiUrl: 'https://developer.android.com/reference/android/print/PrintJobInfo#STATE_STARTED',
|
||||
value: 3
|
||||
),
|
||||
apiUrl:
|
||||
'https://developer.android.com/reference/android/print/PrintJobInfo#STATE_STARTED',
|
||||
value: 3),
|
||||
EnumIOSPlatform(value: 3)
|
||||
])
|
||||
static const STARTED = const PrintJobState_._internal(3);
|
||||
|
@ -56,9 +56,9 @@ class PrintJobState_ {
|
|||
@EnumSupportedPlatforms(platforms: [
|
||||
EnumAndroidPlatform(
|
||||
apiName: 'PrintJobInfo.STATE_BLOCKED',
|
||||
apiUrl: 'https://developer.android.com/reference/android/print/PrintJobInfo#STATE_BLOCKED',
|
||||
value: 4
|
||||
)
|
||||
apiUrl:
|
||||
'https://developer.android.com/reference/android/print/PrintJobInfo#STATE_BLOCKED',
|
||||
value: 4)
|
||||
])
|
||||
static const BLOCKED = const PrintJobState_._internal(4);
|
||||
|
||||
|
@ -68,23 +68,22 @@ class PrintJobState_ {
|
|||
@EnumSupportedPlatforms(platforms: [
|
||||
EnumAndroidPlatform(
|
||||
apiName: 'PrintJobInfo.STATE_COMPLETED',
|
||||
apiUrl: 'https://developer.android.com/reference/android/print/PrintJobInfo#STATE_COMPLETED',
|
||||
value: 5
|
||||
),
|
||||
apiUrl:
|
||||
'https://developer.android.com/reference/android/print/PrintJobInfo#STATE_COMPLETED',
|
||||
value: 5),
|
||||
EnumIOSPlatform(value: 5)
|
||||
])
|
||||
static const COMPLETED = const PrintJobState_._internal(5);
|
||||
|
||||
|
||||
///Print job state: The print job was printing but printing failed.
|
||||
///
|
||||
///Next valid states: None.
|
||||
@EnumSupportedPlatforms(platforms: [
|
||||
EnumAndroidPlatform(
|
||||
apiName: 'PrintJobInfo.STATE_FAILED',
|
||||
apiUrl: 'https://developer.android.com/reference/android/print/PrintJobInfo#STATE_FAILED',
|
||||
value: 6
|
||||
),
|
||||
apiUrl:
|
||||
'https://developer.android.com/reference/android/print/PrintJobInfo#STATE_FAILED',
|
||||
value: 6),
|
||||
EnumIOSPlatform(value: 6)
|
||||
])
|
||||
static const FAILED = const PrintJobState_._internal(6);
|
||||
|
@ -95,9 +94,9 @@ class PrintJobState_ {
|
|||
@EnumSupportedPlatforms(platforms: [
|
||||
EnumAndroidPlatform(
|
||||
apiName: 'PrintJobInfo.STATE_CANCELED',
|
||||
apiUrl: 'https://developer.android.com/reference/android/print/PrintJobInfo#STATE_CANCELED',
|
||||
value: 7
|
||||
),
|
||||
apiUrl:
|
||||
'https://developer.android.com/reference/android/print/PrintJobInfo#STATE_CANCELED',
|
||||
value: 7),
|
||||
EnumIOSPlatform(value: 7)
|
||||
])
|
||||
static const CANCELED = const PrintJobState_._internal(7);
|
||||
|
|
|
@ -18,6 +18,5 @@ class ProxySchemeFilter_ {
|
|||
static const MATCH_HTTP = const ProxySchemeFilter_._internal("http");
|
||||
|
||||
///HTTPS scheme.
|
||||
static const MATCH_HTTPS =
|
||||
const ProxySchemeFilter_._internal("https");
|
||||
static const MATCH_HTTPS = const ProxySchemeFilter_._internal("https");
|
||||
}
|
|
@ -19,7 +19,7 @@ class ReferrerPolicy_ {
|
|||
|
||||
///The Referer header will not be sent to origins without TLS (HTTPS).
|
||||
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.
|
||||
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.
|
||||
///Navigations on the same origin will still include the path.
|
||||
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.
|
||||
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),
|
||||
///and send no header to a less secure destination (e.g. HTTPS -> HTTP).
|
||||
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).
|
||||
///This value is unsafe, because it leaks origins and paths from TLS-protected resources to insecure origins.
|
||||
|
|
|
@ -20,5 +20,5 @@ class RendererPriority_ {
|
|||
|
||||
///The renderer associated with this WebView is bound with Android `Context#BIND_IMPORTANT`.
|
||||
static const RENDERER_PRIORITY_IMPORTANT =
|
||||
const RendererPriority_._internal(2);
|
||||
const RendererPriority_._internal(2);
|
||||
}
|
|
@ -21,5 +21,5 @@ class RendererPriorityPolicy_ {
|
|||
|
||||
RendererPriorityPolicy_(
|
||||
{required this.rendererRequestedPriority,
|
||||
required this.waivedWhenNotVisible});
|
||||
required this.waivedWhenNotVisible});
|
||||
}
|
|
@ -19,5 +19,5 @@ class SafeBrowsingResponse_ {
|
|||
|
||||
SafeBrowsingResponse_(
|
||||
{this.report = true,
|
||||
this.action = SafeBrowsingResponseAction_.SHOW_INTERSTITIAL});
|
||||
this.action = SafeBrowsingResponseAction_.SHOW_INTERSTITIAL});
|
||||
}
|
|
@ -19,5 +19,5 @@ class SafeBrowsingResponseAction_ {
|
|||
|
||||
///Display the default interstitial.
|
||||
static const SHOW_INTERSTITIAL =
|
||||
const SafeBrowsingResponseAction_._internal(2);
|
||||
const SafeBrowsingResponseAction_._internal(2);
|
||||
}
|
|
@ -11,24 +11,24 @@ class SafeBrowsingThreat_ {
|
|||
|
||||
///The resource was blocked for an unknown reason.
|
||||
static const SAFE_BROWSING_THREAT_UNKNOWN =
|
||||
const SafeBrowsingThreat_._internal(0);
|
||||
const SafeBrowsingThreat_._internal(0);
|
||||
|
||||
///The resource was blocked because it contains malware.
|
||||
static const SAFE_BROWSING_THREAT_MALWARE =
|
||||
const SafeBrowsingThreat_._internal(1);
|
||||
const SafeBrowsingThreat_._internal(1);
|
||||
|
||||
///The resource was blocked because it contains deceptive content.
|
||||
static const SAFE_BROWSING_THREAT_PHISHING =
|
||||
const SafeBrowsingThreat_._internal(2);
|
||||
const SafeBrowsingThreat_._internal(2);
|
||||
|
||||
///The resource was blocked because it contains 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.
|
||||
///
|
||||
///This constant is only used when `targetSdkVersion` is at least Android 29.
|
||||
///Otherwise, [SAFE_BROWSING_THREAT_UNKNOWN] is used instead.
|
||||
static const SAFE_BROWSING_THREAT_BILLING =
|
||||
const SafeBrowsingThreat_._internal(4);
|
||||
const SafeBrowsingThreat_._internal(4);
|
||||
}
|
|
@ -16,7 +16,8 @@ class Sandbox_ {
|
|||
return Sandbox._NONE;
|
||||
}
|
||||
try {
|
||||
return Sandbox.values.firstWhere((element) => element.toNativeValue() == value);
|
||||
return Sandbox.values
|
||||
.firstWhere((element) => element.toNativeValue() == value);
|
||||
} catch (e) {
|
||||
return null;
|
||||
}
|
||||
|
@ -41,10 +42,8 @@ class Sandbox_ {
|
|||
|
||||
@override
|
||||
String toString() {
|
||||
if (_value == null)
|
||||
return 'allow-all';
|
||||
if (_value == '')
|
||||
return 'allow-none';
|
||||
if (_value == null) return 'allow-all';
|
||||
if (_value == '') return 'allow-none';
|
||||
return _value ?? '';
|
||||
}
|
||||
|
||||
|
@ -70,11 +69,11 @@ class Sandbox_ {
|
|||
|
||||
///Lets the resource lock the screen orientation.
|
||||
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.
|
||||
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()`).
|
||||
///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.
|
||||
///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 =
|
||||
const Sandbox_._internal("allow-popups-to-escape-sandbox");
|
||||
const Sandbox_._internal("allow-popups-to-escape-sandbox");
|
||||
|
||||
///Lets the resource start a presentation session.
|
||||
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
|
||||
///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).
|
||||
static const ALLOW_SCRIPTS = const Sandbox_._internal("allow-scripts");
|
||||
|
||||
///Lets the resource navigate the top-level browsing context (the one named `_top`).
|
||||
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.
|
||||
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");
|
||||
}
|
|
@ -46,15 +46,15 @@ class ScreenshotConfiguration_ {
|
|||
@ExchangeableObjectConstructor()
|
||||
ScreenshotConfiguration_(
|
||||
{this.rect,
|
||||
this.snapshotWidth,
|
||||
this.compressFormat = CompressFormat_.PNG,
|
||||
this.quality = 100,
|
||||
@Deprecated("Use afterScreenUpdates instead") this.iosAfterScreenUpdates,
|
||||
this.afterScreenUpdates = true}) {
|
||||
this.snapshotWidth,
|
||||
this.compressFormat = CompressFormat_.PNG,
|
||||
this.quality = 100,
|
||||
@Deprecated("Use afterScreenUpdates instead") this.iosAfterScreenUpdates,
|
||||
this.afterScreenUpdates = true}) {
|
||||
assert(this.quality >= 0);
|
||||
// ignore: deprecated_member_use_from_same_package
|
||||
this.afterScreenUpdates = this.iosAfterScreenUpdates != null
|
||||
// ignore: deprecated_member_use_from_same_package
|
||||
// ignore: deprecated_member_use_from_same_package
|
||||
? this.iosAfterScreenUpdates!
|
||||
: this.afterScreenUpdates;
|
||||
}
|
||||
|
|
|
@ -72,19 +72,19 @@ class ScriptHtmlTagAttributes_ {
|
|||
@ExchangeableObjectConstructor()
|
||||
ScriptHtmlTagAttributes_(
|
||||
{this.type = "text/javascript",
|
||||
this.id,
|
||||
this.async,
|
||||
this.defer,
|
||||
this.crossOrigin,
|
||||
this.integrity,
|
||||
this.noModule,
|
||||
this.nonce,
|
||||
this.referrerPolicy,
|
||||
this.onLoad,
|
||||
this.onError}) {
|
||||
this.id,
|
||||
this.async,
|
||||
this.defer,
|
||||
this.crossOrigin,
|
||||
this.integrity,
|
||||
this.noModule,
|
||||
this.nonce,
|
||||
this.referrerPolicy,
|
||||
this.onLoad,
|
||||
this.onError}) {
|
||||
if (this.onLoad != null || this.onError != 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.');
|
||||
}
|
||||
}
|
||||
}
|
|
@ -22,17 +22,17 @@ class ScrollBarStyle_ {
|
|||
///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.
|
||||
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 scrollbars will be overlaid with translucency.
|
||||
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 scrollbars will only overlap the background, if any.
|
||||
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.
|
||||
|
@ -54,20 +54,20 @@ class AndroidScrollBarStyle_ {
|
|||
///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.
|
||||
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 scrollbars will not overlap the content area of the view.
|
||||
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 scrollbars will be overlaid with translucency.
|
||||
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 scrollbars will only overlap the background, if any.
|
||||
static const SCROLLBARS_OUTSIDE_INSET =
|
||||
const AndroidScrollBarStyle_._internal(50331648);
|
||||
const AndroidScrollBarStyle_._internal(50331648);
|
||||
}
|
|
@ -11,19 +11,19 @@ class ScrollViewContentInsetAdjustmentBehavior_ {
|
|||
|
||||
///Automatically adjust the scroll view insets.
|
||||
static const AUTOMATIC =
|
||||
const ScrollViewContentInsetAdjustmentBehavior_._internal(0);
|
||||
const ScrollViewContentInsetAdjustmentBehavior_._internal(0);
|
||||
|
||||
///Adjust the insets only in the scrollable directions.
|
||||
static const SCROLLABLE_AXES =
|
||||
const ScrollViewContentInsetAdjustmentBehavior_._internal(1);
|
||||
const ScrollViewContentInsetAdjustmentBehavior_._internal(1);
|
||||
|
||||
///Do not adjust the scroll view insets.
|
||||
static const NEVER =
|
||||
const ScrollViewContentInsetAdjustmentBehavior_._internal(2);
|
||||
const ScrollViewContentInsetAdjustmentBehavior_._internal(2);
|
||||
|
||||
///Always include the safe area insets in the content adjustment.
|
||||
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.
|
||||
|
@ -40,17 +40,17 @@ class IOSUIScrollViewContentInsetAdjustmentBehavior_ {
|
|||
|
||||
///Automatically adjust the scroll view insets.
|
||||
static const AUTOMATIC =
|
||||
const IOSUIScrollViewContentInsetAdjustmentBehavior_._internal(0);
|
||||
const IOSUIScrollViewContentInsetAdjustmentBehavior_._internal(0);
|
||||
|
||||
///Adjust the insets only in the scrollable directions.
|
||||
static const SCROLLABLE_AXES =
|
||||
const IOSUIScrollViewContentInsetAdjustmentBehavior_._internal(1);
|
||||
const IOSUIScrollViewContentInsetAdjustmentBehavior_._internal(1);
|
||||
|
||||
///Do not adjust the scroll view insets.
|
||||
static const NEVER =
|
||||
const IOSUIScrollViewContentInsetAdjustmentBehavior_._internal(2);
|
||||
const IOSUIScrollViewContentInsetAdjustmentBehavior_._internal(2);
|
||||
|
||||
///Always include the safe area insets in the content adjustment.
|
||||
static const ALWAYS =
|
||||
const IOSUIScrollViewContentInsetAdjustmentBehavior_._internal(3);
|
||||
const IOSUIScrollViewContentInsetAdjustmentBehavior_._internal(3);
|
||||
}
|
|
@ -27,7 +27,7 @@ class IOSUIScrollViewDecelerationRate_ {
|
|||
|
||||
///The default deceleration rate for a scroll view: `0.998`.
|
||||
static const NORMAL =
|
||||
const IOSUIScrollViewDecelerationRate_._internal("NORMAL");
|
||||
const IOSUIScrollViewDecelerationRate_._internal("NORMAL");
|
||||
|
||||
///A fast deceleration rate for a scroll view: `0.99`.
|
||||
static const FAST = const IOSUIScrollViewDecelerationRate_._internal("FAST");
|
||||
|
|
|
@ -12,5 +12,6 @@ class ServerTrustAuthResponse_ {
|
|||
///Indicate the [ServerTrustAuthResponseAction] to take in response of the server trust authentication challenge.
|
||||
ServerTrustAuthResponseAction_? action;
|
||||
|
||||
ServerTrustAuthResponse_({this.action = ServerTrustAuthResponseAction_.CANCEL});
|
||||
ServerTrustAuthResponse_(
|
||||
{this.action = ServerTrustAuthResponseAction_.CANCEL});
|
||||
}
|
|
@ -28,10 +28,10 @@ class SslCertificate_ {
|
|||
|
||||
SslCertificate_(
|
||||
{this.issuedBy,
|
||||
this.issuedTo,
|
||||
this.validNotAfterDate,
|
||||
this.validNotBeforeDate,
|
||||
this.x509Certificate});
|
||||
this.issuedTo,
|
||||
this.validNotAfterDate,
|
||||
this.validNotBeforeDate,
|
||||
this.x509Certificate});
|
||||
|
||||
///Gets a possible [SslCertificate] instance from a [Map] value.
|
||||
static SslCertificate? fromMap(Map<String, dynamic>? map) {
|
||||
|
@ -52,25 +52,25 @@ class SslCertificate_ {
|
|||
return SslCertificate(
|
||||
issuedBy: SslCertificateDName(
|
||||
CName: x509Certificate.issuer(
|
||||
dn: ASN1DistinguishedNames.COMMON_NAME) ??
|
||||
dn: ASN1DistinguishedNames.COMMON_NAME) ??
|
||||
"",
|
||||
DName: x509Certificate.issuerDistinguishedName ?? "",
|
||||
OName: x509Certificate.issuer(
|
||||
dn: ASN1DistinguishedNames.ORGANIZATION_NAME) ??
|
||||
dn: ASN1DistinguishedNames.ORGANIZATION_NAME) ??
|
||||
"",
|
||||
UName: x509Certificate.issuer(
|
||||
dn: ASN1DistinguishedNames.ORGANIZATIONAL_UNIT_NAME) ??
|
||||
dn: ASN1DistinguishedNames.ORGANIZATIONAL_UNIT_NAME) ??
|
||||
""),
|
||||
issuedTo: SslCertificateDName(
|
||||
CName: x509Certificate.subject(
|
||||
dn: ASN1DistinguishedNames.COMMON_NAME) ??
|
||||
dn: ASN1DistinguishedNames.COMMON_NAME) ??
|
||||
"",
|
||||
DName: x509Certificate.subjectDistinguishedName ?? "",
|
||||
OName: x509Certificate.subject(
|
||||
dn: ASN1DistinguishedNames.ORGANIZATION_NAME) ??
|
||||
dn: ASN1DistinguishedNames.ORGANIZATION_NAME) ??
|
||||
"",
|
||||
UName: x509Certificate.subject(
|
||||
dn: ASN1DistinguishedNames.ORGANIZATIONAL_UNIT_NAME) ??
|
||||
dn: ASN1DistinguishedNames.ORGANIZATIONAL_UNIT_NAME) ??
|
||||
""),
|
||||
validNotAfterDate: x509Certificate.notAfter,
|
||||
validNotBeforeDate: x509Certificate.notBefore,
|
||||
|
@ -82,13 +82,13 @@ class SslCertificate_ {
|
|||
|
||||
return SslCertificate(
|
||||
issuedBy:
|
||||
SslCertificateDName.fromMap(map["issuedBy"]?.cast<String, dynamic>()),
|
||||
SslCertificateDName.fromMap(map["issuedBy"]?.cast<String, dynamic>()),
|
||||
issuedTo:
|
||||
SslCertificateDName.fromMap(map["issuedTo"]?.cast<String, dynamic>()),
|
||||
SslCertificateDName.fromMap(map["issuedTo"]?.cast<String, dynamic>()),
|
||||
validNotAfterDate:
|
||||
DateTime.fromMillisecondsSinceEpoch(map["validNotAfterDate"]),
|
||||
DateTime.fromMillisecondsSinceEpoch(map["validNotAfterDate"]),
|
||||
validNotBeforeDate:
|
||||
DateTime.fromMillisecondsSinceEpoch(map["validNotBeforeDate"]),
|
||||
DateTime.fromMillisecondsSinceEpoch(map["validNotBeforeDate"]),
|
||||
x509Certificate: x509Certificate,
|
||||
);
|
||||
}
|
||||
|
|
|
@ -24,7 +24,7 @@ class SslError_ {
|
|||
|
||||
SslError_(
|
||||
{@Deprecated('Use code instead') this.androidError,
|
||||
@Deprecated('Use code instead') this.iosError,
|
||||
this.code,
|
||||
this.message}) {}
|
||||
@Deprecated('Use code instead') this.iosError,
|
||||
this.code,
|
||||
this.message}) {}
|
||||
}
|
|
@ -20,9 +20,9 @@ class SslErrorType_ {
|
|||
@EnumSupportedPlatforms(platforms: [
|
||||
EnumAndroidPlatform(
|
||||
apiName: 'SslError.SSL_NOTYETVALID',
|
||||
apiUrl: 'https://developer.android.com/reference/android/net/http/SslError#SSL_NOTYETVALID',
|
||||
value: 0
|
||||
)
|
||||
apiUrl:
|
||||
'https://developer.android.com/reference/android/net/http/SslError#SSL_NOTYETVALID',
|
||||
value: 0)
|
||||
])
|
||||
static const NOT_YET_VALID = SslErrorType_._internal('NOT_YET_VALID');
|
||||
|
||||
|
@ -30,9 +30,9 @@ class SslErrorType_ {
|
|||
@EnumSupportedPlatforms(platforms: [
|
||||
EnumAndroidPlatform(
|
||||
apiName: 'SslError.SSL_EXPIRED',
|
||||
apiUrl: 'https://developer.android.com/reference/android/net/http/SslError#SSL_EXPIRED',
|
||||
value: 1
|
||||
)
|
||||
apiUrl:
|
||||
'https://developer.android.com/reference/android/net/http/SslError#SSL_EXPIRED',
|
||||
value: 1)
|
||||
])
|
||||
static const EXPIRED = SslErrorType_._internal('EXPIRED');
|
||||
|
||||
|
@ -40,9 +40,9 @@ class SslErrorType_ {
|
|||
@EnumSupportedPlatforms(platforms: [
|
||||
EnumAndroidPlatform(
|
||||
apiName: 'SslError.SSL_IDMISMATCH',
|
||||
apiUrl: 'https://developer.android.com/reference/android/net/http/SslError#SSL_IDMISMATCH',
|
||||
value: 2
|
||||
)
|
||||
apiUrl:
|
||||
'https://developer.android.com/reference/android/net/http/SslError#SSL_IDMISMATCH',
|
||||
value: 2)
|
||||
])
|
||||
static const IDMISMATCH = SslErrorType_._internal('IDMISMATCH');
|
||||
|
||||
|
@ -50,9 +50,9 @@ class SslErrorType_ {
|
|||
@EnumSupportedPlatforms(platforms: [
|
||||
EnumAndroidPlatform(
|
||||
apiName: 'SslError.SSL_UNTRUSTED',
|
||||
apiUrl: 'https://developer.android.com/reference/android/net/http/SslError#SSL_UNTRUSTED',
|
||||
value: 3
|
||||
)
|
||||
apiUrl:
|
||||
'https://developer.android.com/reference/android/net/http/SslError#SSL_UNTRUSTED',
|
||||
value: 3)
|
||||
])
|
||||
static const UNTRUSTED = SslErrorType_._internal('UNTRUSTED');
|
||||
|
||||
|
@ -60,9 +60,9 @@ class SslErrorType_ {
|
|||
@EnumSupportedPlatforms(platforms: [
|
||||
EnumAndroidPlatform(
|
||||
apiName: 'SslError.DATE_INVALID',
|
||||
apiUrl: 'https://developer.android.com/reference/android/net/http/SslError#SSL_DATE_INVALID',
|
||||
value: 4
|
||||
)
|
||||
apiUrl:
|
||||
'https://developer.android.com/reference/android/net/http/SslError#SSL_DATE_INVALID',
|
||||
value: 4)
|
||||
])
|
||||
static const DATE_INVALID = SslErrorType_._internal('DATE_INVALID');
|
||||
|
||||
|
@ -70,14 +70,14 @@ class SslErrorType_ {
|
|||
@EnumSupportedPlatforms(platforms: [
|
||||
EnumAndroidPlatform(
|
||||
apiName: 'SslError.SSL_INVALID',
|
||||
apiUrl: 'https://developer.android.com/reference/android/net/http/SslError#SSL_INVALID',
|
||||
value: 5
|
||||
),
|
||||
apiUrl:
|
||||
'https://developer.android.com/reference/android/net/http/SslError#SSL_INVALID',
|
||||
value: 5),
|
||||
EnumIOSPlatform(
|
||||
apiName: 'SecTrustResultType.invalid',
|
||||
apiUrl: 'https://developer.apple.com/documentation/security/sectrustresulttype/invalid',
|
||||
value: 0
|
||||
)
|
||||
apiUrl:
|
||||
'https://developer.apple.com/documentation/security/sectrustresulttype/invalid',
|
||||
value: 0)
|
||||
])
|
||||
static const INVALID = SslErrorType_._internal('INVALID');
|
||||
|
||||
|
@ -90,9 +90,9 @@ class SslErrorType_ {
|
|||
@EnumSupportedPlatforms(platforms: [
|
||||
EnumIOSPlatform(
|
||||
apiName: 'SecTrustResultType.deny',
|
||||
apiUrl: 'https://developer.apple.com/documentation/security/sectrustresulttype/deny',
|
||||
value: 3
|
||||
)
|
||||
apiUrl:
|
||||
'https://developer.apple.com/documentation/security/sectrustresulttype/deny',
|
||||
value: 3)
|
||||
])
|
||||
static const DENY = SslErrorType_._internal('DENY');
|
||||
|
||||
|
@ -107,9 +107,9 @@ class SslErrorType_ {
|
|||
@EnumSupportedPlatforms(platforms: [
|
||||
EnumIOSPlatform(
|
||||
apiName: 'SecTrustResultType.unspecified',
|
||||
apiUrl: 'https://developer.apple.com/documentation/security/sectrustresulttype/unspecified',
|
||||
value: 4
|
||||
)
|
||||
apiUrl:
|
||||
'https://developer.apple.com/documentation/security/sectrustresulttype/unspecified',
|
||||
value: 4)
|
||||
])
|
||||
static const UNSPECIFIED = SslErrorType_._internal('UNSPECIFIED');
|
||||
|
||||
|
@ -125,11 +125,12 @@ class SslErrorType_ {
|
|||
@EnumSupportedPlatforms(platforms: [
|
||||
EnumIOSPlatform(
|
||||
apiName: 'SecTrustResultType.recoverableTrustFailure',
|
||||
apiUrl: 'https://developer.apple.com/documentation/security/sectrustresulttype/recoverabletrustfailure',
|
||||
value: 5
|
||||
)
|
||||
apiUrl:
|
||||
'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.
|
||||
///
|
||||
|
@ -140,11 +141,12 @@ class SslErrorType_ {
|
|||
@EnumSupportedPlatforms(platforms: [
|
||||
EnumIOSPlatform(
|
||||
apiName: 'SecTrustResultType.fatalTrustFailure',
|
||||
apiUrl: 'https://developer.apple.com/documentation/security/sectrustresulttype/fataltrustfailure',
|
||||
value: 6
|
||||
)
|
||||
apiUrl:
|
||||
'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.
|
||||
///
|
||||
|
@ -153,9 +155,9 @@ class SslErrorType_ {
|
|||
@EnumSupportedPlatforms(platforms: [
|
||||
EnumIOSPlatform(
|
||||
apiName: 'SecTrustResultType.otherError',
|
||||
apiUrl: 'https://developer.apple.com/documentation/security/sectrustresulttype/othererror',
|
||||
value: 7
|
||||
)
|
||||
apiUrl:
|
||||
'https://developer.apple.com/documentation/security/sectrustresulttype/othererror',
|
||||
value: 7)
|
||||
])
|
||||
static const OTHER_ERROR = SslErrorType_._internal('OTHER_ERROR');
|
||||
}
|
||||
|
|
|
@ -4,6 +4,4 @@ part 'trusted_web_activity_display_mode.g.dart';
|
|||
|
||||
///Class that represents display mode of a Trusted Web Activity.
|
||||
@ExchangeableObject(fromMapFactory: false)
|
||||
abstract class TrustedWebActivityDisplayMode_ {
|
||||
|
||||
}
|
||||
abstract class TrustedWebActivityDisplayMode_ {}
|
||||
|
|
|
@ -12,31 +12,32 @@ class TrustedWebActivityScreenOrientation_ {
|
|||
|
||||
/// The default screen orientation is the set of orientations to which the screen is locked when
|
||||
/// 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
|
||||
/// screen height. If the device's natural orientation is portrait, then it is in
|
||||
/// portrait-primary when held in that position.
|
||||
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
|
||||
/// screen height. If the device's natural orientation is portrait, then it is in
|
||||
/// portrait-secondary when rotated 180° from its natural position.
|
||||
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.
|
||||
/// If the device's natural orientation is landscape, then it is in landscape-primary when held
|
||||
/// in that position.
|
||||
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
|
||||
/// screen height. If the device's natural orientation is landscape, it is in
|
||||
/// landscape-secondary when rotated 180° from its natural orientation.
|
||||
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,
|
||||
/// portrait-secondary, landscape-primary and landscape-secondary.
|
||||
|
@ -46,16 +47,17 @@ class TrustedWebActivityScreenOrientation_ {
|
|||
/// depending on platform convention locking the screen to landscape can represent
|
||||
/// landscape-primary, landscape-secondary or both.
|
||||
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
|
||||
/// and depending on platform convention locking the screen to portrait can represent
|
||||
/// portrait-primary, portrait-secondary or both.
|
||||
static const PORTRAIT =
|
||||
const TrustedWebActivityScreenOrientation_._internal(7);
|
||||
const TrustedWebActivityScreenOrientation_._internal(7);
|
||||
|
||||
/// 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
|
||||
/// the underlying operating system.
|
||||
static const NATURAL = const TrustedWebActivityScreenOrientation_._internal(8);
|
||||
static const NATURAL =
|
||||
const TrustedWebActivityScreenOrientation_._internal(8);
|
||||
}
|
|
@ -68,7 +68,8 @@ class IOSNSUnderlineStyle_ {
|
|||
static const PATTERN_DASH_DOT = const IOSNSUnderlineStyle_._internal(768);
|
||||
|
||||
///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.
|
||||
static const BY_WORD = const IOSNSUnderlineStyle_._internal(32768);
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue