fluttercommunity/flutter_webview_plugin

onHttpError called with a 200 code

Open

#414 opened on May 9, 2019

View on GitHub
 (1 comment) (0 reactions) (0 assignees)Java (1,457 stars) (919 forks)batch import
IOSbughelp wanted

Description

I'm using this plugin for a payment process (using a bank web interface). I first load a generated HTML page (given a Uri.dataFromString() with mimeType sets to text/html) that build a form that auto-submit with action field sets to the bank server URL (where you enter your credit card information).

This workflow works fine on Android but I'm having a strange behavior on iOS. Right after the state changed to WebViewState.startLoad (with the bank server URL), onHttpError is triggered with a HTTP 200 code.

I initially quit the webview when an error occur to show a message. So I add a test to avoid false error codes and the web page works fine despite the error.

My app use the latest version (0.3.5).

I would like to know what can cause this behavior, I tried to put breakpoints in Xcode to have more info directly from the WKWebView didFailNavigation (inside FlutterWebviewPlugin.m) but my breakpoint is never hit...

EDIT: Putting the breakpoint in WKWebView decidePolicyForNavigationResponse works. Reading the code inside this method I noticed that there is no test to determined if the response is effectively an error.

Contributor guide