WebKitJavaScriptChannelParams constructor

WebKitJavaScriptChannelParams({
  1. required String name,
  2. required void onMessageReceived(
    1. JavaScriptMessage
    ),
  3. @visibleForTesting WebKitProxy webKitProxy = const WebKitProxy(),
})

Implementation

WebKitJavaScriptChannelParams({
  required super.name,
  required super.onMessageReceived,
  @visibleForTesting WebKitProxy webKitProxy = const WebKitProxy(),
})  : assert(name.isNotEmpty),
      _messageHandler = webKitProxy.createScriptMessageHandler(
        didReceiveScriptMessage: withWeakReferenceTo(
          onMessageReceived,
          (WeakReference<void Function(JavaScriptMessage)> weakReference) {
            return (
              WKUserContentController controller,
              WKScriptMessage message,
            ) {
              if (weakReference.target != null) {
                weakReference.target!(
                  JavaScriptMessage(message: message.body!.toString()),
                );
              }
            };
          },
        ),
      );