akaboshinit/flutter_inline_webview_macos

Gestures not working

Opened this issue · 1 comments

Hi,

I'm currently trying to write a flutter application that uses webviews to display some content. I'm using some dependencies to handle the webview creation and interaction (I'm using webview_windows for Windows and webview_flutter for Android and iOS, just in case you're interested)

Looking for MacOS, I'm trying to use your dependency, which is the only one that fits my needs (an inline webview that interacts with the native WKWebView). But I'm having some issues with it, specifically when trying to interact with the webview's content using gestures.

The issue:

I load any website, and when I try to perform any gesture on the current webview's content, I get the following exception:

[ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: MissingPluginException(No implementation found for method acceptGesture on channel flutter/platform_views) #0 MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:308:7) <asynchronous suspension>

I have not been able to sort that issue even though I'm providing a valid set of gestureRecognizers when instantiating InlineWebViewMacOs. Whatever I try, I keep receiving the same exception.

Steps to reproduce:

Clone a fresh copy of this repository, load the application and load any website you want (default youtube URL would be enough). Then just try to click on any part of the screen (it can be over a specific action or just an empty site of the page, same result).

Have you (or anybody else that may be reading this) faced this issue? Were you able to solve it? How?

If nobody found a solution, I'm open to start creating a solution to fix this. Would you be interested in a collaboration @akaboshinit?

Thank you in advance!

flutter/flutter#124492

Perhaps there is an issue on flutter with the same problem
but the flutter engine has closed the platform view on macos as a work in progress.

As far as I can see, we'll have to wait for flutter to improve itself.

Thanks for the issue, and thanks for letting us know you're willing to collaborate.