NavigationDelegate.fromPlatformCreationParams constructor

NavigationDelegate.fromPlatformCreationParams(
  1. PlatformNavigationDelegateCreationParams params, {
  2. FutureOr<NavigationDecision> onNavigationRequest(
    1. NavigationRequest request
    )?,
  3. void onPageStarted(
    1. String url
    )?,
  4. void onPageFinished(
    1. String url
    )?,
  5. void onProgress(
    1. int progress
    )?,
  6. void onWebResourceError(
    1. WebResourceError error
    )?,
  7. void onUrlChange(
    1. UrlChange change
    )?,
  8. void onHttpAuthRequest(
    1. HttpAuthRequest request
    )?,
})

Constructs a NavigationDelegate from creation params for a specific platform.

onUrlChange: invoked when the underlying web view changes to a new url. onHttpAuthRequest: invoked when the web view is requesting authentication.

Below is an example of setting platform-specific creation parameters for iOS and Android:

PlatformNavigationDelegateCreationParams params =
    const PlatformNavigationDelegateCreationParams();

if (WebViewPlatform.instance is WebKitWebViewPlatform) {
  params = WebKitNavigationDelegateCreationParams
      .fromPlatformNavigationDelegateCreationParams(
    params,
  );
} else if (WebViewPlatform.instance is AndroidWebViewPlatform) {
  params = AndroidNavigationDelegateCreationParams
      .fromPlatformNavigationDelegateCreationParams(
    params,
  );
}

final NavigationDelegate navigationDelegate =
    NavigationDelegate.fromPlatformCreationParams(
  params,
);

Implementation

NavigationDelegate.fromPlatformCreationParams(
  PlatformNavigationDelegateCreationParams params, {
  FutureOr<NavigationDecision> Function(NavigationRequest request)?
      onNavigationRequest,
  void Function(String url)? onPageStarted,
  void Function(String url)? onPageFinished,
  void Function(int progress)? onProgress,
  void Function(WebResourceError error)? onWebResourceError,
  void Function(UrlChange change)? onUrlChange,
  void Function(HttpAuthRequest request)? onHttpAuthRequest,
}) : this.fromPlatform(
        PlatformNavigationDelegate(params),
        onNavigationRequest: onNavigationRequest,
        onPageStarted: onPageStarted,
        onPageFinished: onPageFinished,
        onProgress: onProgress,
        onWebResourceError: onWebResourceError,
        onUrlChange: onUrlChange,
        onHttpAuthRequest: onHttpAuthRequest,
      );