diff --git a/lib/src/in_app_webview/in_app_webview_controller.dart b/lib/src/in_app_webview/in_app_webview_controller.dart index b2be39c4..09fae84f 100644 --- a/lib/src/in_app_webview/in_app_webview_controller.dart +++ b/lib/src/in_app_webview/in_app_webview_controller.dart @@ -1096,13 +1096,18 @@ class InAppWebViewController { } if (manifestFound) { - Map<String, dynamic> manifest = - json.decode(await manifestResponse!.transform(Utf8Decoder()).join()); - if (manifest.containsKey("icons")) { - for (Map<String, dynamic> icon in manifest["icons"]) { - favicons.addAll(_createFavicons(webviewUrl, assetPathBase, - icon["src"], icon["rel"], icon["sizes"], true)); + try { + Map<String, dynamic> manifest = + json.decode(await manifestResponse!.transform(Utf8Decoder()).join()); + if (manifest.containsKey("icons")) { + for (Map<String, dynamic> icon in manifest["icons"]) { + favicons.addAll(_createFavicons(webviewUrl, assetPathBase, + icon["src"], icon["rel"], icon["sizes"], true)); + } } + } on FormatException catch (_) { + /// The [manifestResponse] might not has a valid JSON string, catch and + /// ignore the error } }