Merge branch 'ashank-patch' of https://github.com/ashank96/flutter_inappwebview into ashank96-ashank-patch
This commit is contained in:
commit
1e287fd1d3
|
@ -1184,6 +1184,10 @@ final public class InAppWebView extends InputAwareWebView implements InAppWebVie
|
|||
public void onDownloadStart(String url, String userAgent, String contentDisposition, String mimetype, long contentLength) {
|
||||
Map<String, Object> obj = new HashMap<>();
|
||||
obj.put("url", url);
|
||||
obj.put("userAgent", userAgent);
|
||||
obj.put("contentDisposition", contentDisposition);
|
||||
obj.put("mimetype", mimetype);
|
||||
obj.put("contentLength", contentLength);
|
||||
channel.invokeMethod("onDownloadStart", obj);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2739,7 +2739,7 @@ void main() {
|
|||
onWebViewCreated: (controller) {
|
||||
controllerCompleter.complete(controller);
|
||||
},
|
||||
onDownloadStart: (controller, url) {
|
||||
onDownloadStart:(controller, url, userAgent, contentDisposition, mimeType, contentLength) {
|
||||
onDownloadStartCompleter.complete(url.toString());
|
||||
},
|
||||
),
|
||||
|
|
|
@ -386,7 +386,7 @@ class InAppBrowser {
|
|||
///**Official Android API**: https://developer.android.com/reference/android/webkit/WebView#setDownloadListener(android.webkit.DownloadListener)
|
||||
///
|
||||
///**Official iOS API**: https://developer.apple.com/documentation/webkit/wknavigationdelegate/1455643-webview
|
||||
void onDownloadStart(Uri url) {}
|
||||
void onDownloadStart(Uri url, String userAgent, String contentDisposition, String mimeType, int contentLength) {}
|
||||
|
||||
///Event fired when the [InAppBrowser] webview finds the `custom-scheme` while loading a resource. Here you can handle the url request and return a [CustomSchemeResponse] to load a specific resource encoded to `base64`.
|
||||
///
|
||||
|
|
|
@ -302,7 +302,13 @@ class HeadlessInAppWebView implements WebView {
|
|||
void Function(InAppWebViewController controller)? onWindowBlur;
|
||||
|
||||
@override
|
||||
void Function(InAppWebViewController controller, Uri url)? onDownloadStart;
|
||||
void Function(
|
||||
InAppWebViewController controller,
|
||||
Uri url,
|
||||
String userAgent,
|
||||
String contentDisposition,
|
||||
String mimeType,
|
||||
int contentLength)? onDownloadStart;
|
||||
|
||||
@override
|
||||
void Function(InAppWebViewController controller, int activeMatchOrdinal,
|
||||
|
|
|
@ -212,7 +212,7 @@ class InAppWebView extends StatefulWidget implements WebView {
|
|||
androidOnReceivedTouchIconUrl;
|
||||
|
||||
@override
|
||||
final void Function(InAppWebViewController controller, Uri url)?
|
||||
final void Function(InAppWebViewController controller, Uri url, String userAgent, String contentDisposition, String mimeType, int contentLength)?
|
||||
onDownloadStart;
|
||||
|
||||
@override
|
||||
|
|
|
@ -205,11 +205,16 @@ class InAppWebViewController {
|
|||
if ((_webview != null && _webview!.onDownloadStart != null) ||
|
||||
_inAppBrowser != null) {
|
||||
String url = call.arguments["url"];
|
||||
String userAgent = call.arguments["userAgent"];
|
||||
String contentDisposition = call.arguments["contentDisposition"];
|
||||
String mimeType = call.arguments["mimetype"];
|
||||
int contentLength = call.arguments["contentLength"] as int;
|
||||
Uri uri = Uri.parse(url);
|
||||
|
||||
if (_webview != null && _webview!.onDownloadStart != null)
|
||||
_webview!.onDownloadStart!(this, uri);
|
||||
_webview!.onDownloadStart!(this, uri, userAgent, contentDisposition, mimeType, contentLength);
|
||||
else
|
||||
_inAppBrowser!.onDownloadStart(uri);
|
||||
_inAppBrowser!.onDownloadStart(uri, userAgent, contentDisposition, mimeType, contentLength);
|
||||
}
|
||||
break;
|
||||
case "onLoadResourceCustomScheme":
|
||||
|
|
|
@ -122,7 +122,7 @@ abstract class WebView {
|
|||
///**Official Android API**: https://developer.android.com/reference/android/webkit/WebView#setDownloadListener(android.webkit.DownloadListener)
|
||||
///
|
||||
///**Official iOS API**: https://developer.apple.com/documentation/webkit/wknavigationdelegate/1455643-webview
|
||||
final void Function(InAppWebViewController controller, Uri url)?
|
||||
final void Function(InAppWebViewController controller, Uri url, String userAgent, String contentDisposition, String mimeType, int contentLength)?
|
||||
onDownloadStart;
|
||||
|
||||
///Event fired when the [WebView] finds the `custom-scheme` while loading a resource. Here you can handle the url request and return a [CustomSchemeResponse] to load a specific resource encoded to `base64`.
|
||||
|
|
Loading…
Reference in New Issue