@@ -350,6 +350,7 @@ enum MenuOptions {
350350 basicAuthentication,
351351 javaScriptAlert,
352352 viewportMeta,
353+ checkWebViewPaymentRequestFeatureEnabled,
353354}
354355
355356class SampleMenu extends StatelessWidget {
@@ -407,6 +408,8 @@ class SampleMenu extends StatelessWidget {
407408 _onJavaScriptAlertExample (context);
408409 case MenuOptions .viewportMeta:
409410 _onViewportMetaExample ();
411+ case MenuOptions .checkWebViewPaymentRequestFeatureEnabled:
412+ _onWebViewFeatureExample (context);
410413 }
411414 },
412415 itemBuilder: (BuildContext context) => < PopupMenuItem <MenuOptions >> [
@@ -483,6 +486,10 @@ class SampleMenu extends StatelessWidget {
483486 value: MenuOptions .viewportMeta,
484487 child: Text ('Viewport meta example' ),
485488 ),
489+ const PopupMenuItem <MenuOptions >(
490+ value: MenuOptions .checkWebViewPaymentRequestFeatureEnabled,
491+ child: Text ('WebView Feature Example' ),
492+ ),
486493 ],
487494 );
488495 }
@@ -783,6 +790,25 @@ class SampleMenu extends StatelessWidget {
783790 Future <void > _onViewportMetaExample () {
784791 return webViewController.loadHtmlString (kViewportMetaPage);
785792 }
793+
794+ Future <void > _onWebViewFeatureExample (BuildContext context) async {
795+ final AndroidWebViewController androidController =
796+ webViewController as AndroidWebViewController ;
797+ // #docregion payment_request_example
798+ final bool paymentRequestEnabled = await androidController
799+ .isWebViewFeatureSupported (WebViewFeatureType .paymentRequest);
800+
801+ if (paymentRequestEnabled) {
802+ await androidController.setPaymentRequestEnabled (true );
803+ }
804+
805+ // #enddocregion payment_request_example
806+ if (context.mounted) {
807+ ScaffoldMessenger .of (context).showSnackBar (SnackBar (
808+ content: Text ('Payment Request API supported: $paymentRequestEnabled ' ),
809+ ));
810+ }
811+ }
786812}
787813
788814class NavigationControls extends StatelessWidget {
0 commit comments