@@ -350,6 +350,7 @@ enum MenuOptions {
350
350
basicAuthentication,
351
351
javaScriptAlert,
352
352
viewportMeta,
353
+ checkWebViewPaymentRequestFeatureEnabled,
353
354
}
354
355
355
356
class SampleMenu extends StatelessWidget {
@@ -407,6 +408,8 @@ class SampleMenu extends StatelessWidget {
407
408
_onJavaScriptAlertExample (context);
408
409
case MenuOptions .viewportMeta:
409
410
_onViewportMetaExample ();
411
+ case MenuOptions .checkWebViewPaymentRequestFeatureEnabled:
412
+ _onWebViewFeatureExample (context);
410
413
}
411
414
},
412
415
itemBuilder: (BuildContext context) => < PopupMenuItem <MenuOptions >> [
@@ -483,6 +486,10 @@ class SampleMenu extends StatelessWidget {
483
486
value: MenuOptions .viewportMeta,
484
487
child: Text ('Viewport meta example' ),
485
488
),
489
+ const PopupMenuItem <MenuOptions >(
490
+ value: MenuOptions .checkWebViewPaymentRequestFeatureEnabled,
491
+ child: Text ('WebView Feature Example' ),
492
+ ),
486
493
],
487
494
);
488
495
}
@@ -783,6 +790,24 @@ class SampleMenu extends StatelessWidget {
783
790
Future <void > _onViewportMetaExample () {
784
791
return webViewController.loadHtmlString (kViewportMetaPage);
785
792
}
793
+
794
+ Future <void > _onWebViewFeatureExample (BuildContext context) async {
795
+ final AndroidWebViewController androidController =
796
+ webViewController as AndroidWebViewController ;
797
+ final bool paymentRequestEnabled = await androidController
798
+ .isWebViewFeatureSupported (WebViewFeatureType .paymentRequest);
799
+
800
+ // Call this method to enable the Payment Request API.
801
+ // if (paymentRequestEnabled) {
802
+ // await androidController.setPaymentRequestEnabled(true);
803
+ // }
804
+
805
+ if (context.mounted) {
806
+ ScaffoldMessenger .of (context).showSnackBar (SnackBar (
807
+ content: Text ('Payment Request API enabled: $paymentRequestEnabled ' ),
808
+ ));
809
+ }
810
+ }
786
811
}
787
812
788
813
class NavigationControls extends StatelessWidget {
0 commit comments