commit
d0a8d6fb4c
|
@ -52,10 +52,10 @@ public class PlatformUtil extends ChannelDelegateImpl {
|
|||
if (locale == null) {
|
||||
return Locale.US;
|
||||
}
|
||||
String[] localeSplitted = locale.split("_");
|
||||
String language = localeSplitted[0];
|
||||
String country = localeSplitted.length > 1 ? localeSplitted[1] : "";
|
||||
String variant = localeSplitted.length > 2 ? localeSplitted[2] : "";
|
||||
String[] localeSplit = locale.split("_");
|
||||
String language = localeSplit[0];
|
||||
String country = localeSplit.length > 1 ? localeSplit[1] : "";
|
||||
String variant = localeSplit.length > 2 ? localeSplit[2] : "";
|
||||
return new Locale(language, country, variant);
|
||||
}
|
||||
|
||||
|
|
|
@ -202,7 +202,7 @@ public class Util {
|
|||
|
||||
/**
|
||||
* SslCertificate class does not has a public getter for the underlying
|
||||
* X509Certificate, we can only do this by hack. This only works for andorid 4.0+
|
||||
* X509Certificate, we can only do this by hack. This only works for Android 4.0+
|
||||
* https://groups.google.com/forum/#!topic/android-developers/eAPJ6b7mrmg
|
||||
*/
|
||||
public static X509Certificate getX509CertFromSslCertHack(SslCertificate sslCert) {
|
||||
|
|
|
@ -62,8 +62,8 @@ public class ContentBlockerHandler {
|
|||
try {
|
||||
u = new URI(url);
|
||||
} catch (URISyntaxException e) {
|
||||
String[] urlSplitted = url.split(":");
|
||||
String scheme = urlSplitted[0];
|
||||
String[] urlSplit = url.split(":");
|
||||
String scheme = urlSplit[0];
|
||||
URL tempUrl = new URL(url.replace(scheme, "https"));
|
||||
u = new URI(scheme, tempUrl.getUserInfo(), tempUrl.getHost(), tempUrl.getPort(), tempUrl.getPath(), tempUrl.getQuery(), tempUrl.getRef());
|
||||
}
|
||||
|
@ -202,11 +202,11 @@ public class ContentBlockerHandler {
|
|||
if (contentType == null) {
|
||||
contentType = "text/plain";
|
||||
} else {
|
||||
String[] contentTypeSplitted = contentType.split(";");
|
||||
contentType = contentTypeSplitted[0].trim();
|
||||
String[] contentTypeSplit = contentType.split(";");
|
||||
contentType = contentTypeSplit[0].trim();
|
||||
if (encoding == null) {
|
||||
encoding = (contentTypeSplitted.length > 1 && contentTypeSplitted[1].contains("charset="))
|
||||
? contentTypeSplitted[1].replace("charset=", "").trim()
|
||||
encoding = (contentTypeSplit.length > 1 && contentTypeSplit[1].contains("charset="))
|
||||
? contentTypeSplit[1].replace("charset=", "").trim()
|
||||
: "utf-8";
|
||||
}
|
||||
}
|
||||
|
@ -245,11 +245,11 @@ public class ContentBlockerHandler {
|
|||
// byte[] dataBytes = response.body().bytes();
|
||||
// InputStream dataStream = new ByteArrayInputStream(dataBytes);
|
||||
//
|
||||
// String[] contentTypeSplitted = response.header("content-type", "text/plain").split(";");
|
||||
// String[] contentTypeSplit = response.header("content-type", "text/plain").split(";");
|
||||
//
|
||||
// String contentType = contentTypeSplitted[0].trim();
|
||||
// String encoding = (contentTypeSplitted.length > 1 && contentTypeSplitted[1].contains("charset="))
|
||||
// ? contentTypeSplitted[1].replace("charset=", "").trim()
|
||||
// String contentType = contentTypeSplit[0].trim();
|
||||
// String encoding = (contentTypeSplit.length > 1 && contentTypeSplit[1].contains("charset="))
|
||||
// ? contentTypeSplit[1].replace("charset=", "").trim()
|
||||
// : "utf-8";
|
||||
//
|
||||
// response.body().close();
|
||||
|
@ -297,8 +297,8 @@ public class ContentBlockerHandler {
|
|||
try {
|
||||
String contentType = urlConnection.getContentType();
|
||||
if (contentType != null) {
|
||||
String[] contentTypeSplitted = contentType.split(";");
|
||||
contentType = contentTypeSplitted[0].trim();
|
||||
String[] contentTypeSplit = contentType.split(";");
|
||||
contentType = contentTypeSplit[0].trim();
|
||||
responseResourceType = getResourceTypeFromContentType(contentType);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
|
|
|
@ -1589,8 +1589,8 @@ class AndroidInAppWebViewController extends PlatformInAppWebViewController
|
|||
}
|
||||
|
||||
if (webviewUrl.isScheme("file")) {
|
||||
var assetPathSplitted = webviewUrl.toString().split("/flutter_assets/");
|
||||
var assetPath = assetPathSplitted[assetPathSplitted.length - 1];
|
||||
var assetPathSplit = webviewUrl.toString().split("/flutter_assets/");
|
||||
var assetPath = assetPathSplit[assetPathSplit.length - 1];
|
||||
try {
|
||||
var bytes = await rootBundle.load(assetPath);
|
||||
html = utf8.decode(bytes.buffer.asUint8List());
|
||||
|
@ -1628,8 +1628,8 @@ class AndroidInAppWebViewController extends PlatformInAppWebViewController
|
|||
var assetPathBase;
|
||||
|
||||
if (webviewUrl.isScheme("file")) {
|
||||
var assetPathSplitted = webviewUrl.toString().split("/flutter_assets/");
|
||||
assetPathBase = assetPathSplitted[0] + "/flutter_assets/";
|
||||
var assetPathSplit = webviewUrl.toString().split("/flutter_assets/");
|
||||
assetPathBase = assetPathSplit[0] + "/flutter_assets/";
|
||||
}
|
||||
|
||||
InAppWebViewSettings? settings = await getSettings();
|
||||
|
@ -1745,7 +1745,7 @@ class AndroidInAppWebViewController extends PlatformInAppWebViewController
|
|||
String urlIcon, String? rel, String? sizes, bool isManifest) {
|
||||
List<Favicon> favicons = [];
|
||||
|
||||
List<String> urlSplitted = urlIcon.split("/");
|
||||
List<String> urlSplit = urlIcon.split("/");
|
||||
if (!_isUrlAbsolute(urlIcon)) {
|
||||
if (urlIcon.startsWith("/")) {
|
||||
urlIcon = urlIcon.substring(1);
|
||||
|
@ -1757,15 +1757,15 @@ class AndroidInAppWebViewController extends PlatformInAppWebViewController
|
|||
}
|
||||
if (isManifest) {
|
||||
rel = (sizes != null)
|
||||
? urlSplitted[urlSplitted.length - 1]
|
||||
? urlSplit[urlSplit.length - 1]
|
||||
.replaceFirst("-" + sizes, "")
|
||||
.split(" ")[0]
|
||||
.split(".")[0]
|
||||
: null;
|
||||
}
|
||||
if (sizes != null && sizes.isNotEmpty && sizes != "any") {
|
||||
List<String> sizesSplitted = sizes.split(" ");
|
||||
for (String size in sizesSplitted) {
|
||||
List<String> sizesSplit = sizes.split(" ");
|
||||
for (String size in sizesSplit) {
|
||||
int width = int.parse(size.split("x")[0]);
|
||||
int height = int.parse(size.split("x")[1]);
|
||||
favicons.add(Favicon(
|
||||
|
|
|
@ -62,8 +62,8 @@ public class InAppBrowserWebViewController: UIViewController, InAppBrowserDelega
|
|||
channelDelegate = InAppBrowserChannelDelegate(channel: channel)
|
||||
|
||||
var userScripts: [UserScript] = []
|
||||
for intialUserScript in initialUserScripts {
|
||||
userScripts.append(UserScript.fromMap(map: intialUserScript, windowId: windowId)!)
|
||||
for initialUserScript in initialUserScripts {
|
||||
userScripts.append(UserScript.fromMap(map: initialUserScript, windowId: windowId)!)
|
||||
}
|
||||
|
||||
let preWebviewConfiguration = InAppWebView.preWKWebViewConfiguration(settings: webViewSettings)
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
//
|
||||
// CustomeSchemeHandler.swift
|
||||
// CustomSchemeHandler.swift
|
||||
// flutter_inappwebview
|
||||
//
|
||||
// Created by Lorenzo Pichilli on 25/10/2019.
|
||||
|
|
|
@ -29,8 +29,8 @@ public class FlutterWebViewController: NSObject, FlutterPlatformView, Disposable
|
|||
|
||||
var userScripts: [UserScript] = []
|
||||
if let initialUserScripts = initialUserScripts {
|
||||
for intialUserScript in initialUserScripts {
|
||||
userScripts.append(UserScript.fromMap(map: intialUserScript, windowId: windowId)!)
|
||||
for initialUserScript in initialUserScripts {
|
||||
userScripts.append(UserScript.fromMap(map: initialUserScript, windowId: windowId)!)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1982,7 +1982,7 @@ public class InAppWebView: WKWebView, UIScrollViewDelegate, WKUIDelegate,
|
|||
switch action {
|
||||
case 0:
|
||||
InAppWebView.credentialsProposed = []
|
||||
// used .performDefaultHandling to mantain consistency with Android
|
||||
// used .performDefaultHandling to maintain consistency with Android
|
||||
// because .cancelAuthenticationChallenge will call webView(_:didFail:withError:)
|
||||
completionHandler(.performDefaultHandling, nil)
|
||||
//completionHandler(.cancelAuthenticationChallenge, nil)
|
||||
|
|
|
@ -62,7 +62,7 @@ public class InAppWebViewManager: ChannelDelegate {
|
|||
webViewForUserAgent?.evaluateJavaScript("navigator.userAgent") { (value, error) in
|
||||
|
||||
if error != nil {
|
||||
print("Error occured to get userAgent")
|
||||
print("Error occurred to get userAgent")
|
||||
self.webViewForUserAgent = nil
|
||||
completionHandler(nil)
|
||||
return
|
||||
|
|
|
@ -111,7 +111,7 @@ window.\(JAVASCRIPT_BRIDGE_NAME)._findAllAsync = function(keyword) {
|
|||
);
|
||||
}
|
||||
|
||||
// helper function, recursively removes the highlights in elements and their childs
|
||||
// helper function, recursively removes the highlights in elements and their children
|
||||
window.\(JAVASCRIPT_BRIDGE_NAME)._clearMatchesForElement = function(element) {
|
||||
if (element) {
|
||||
if (element.nodeType == 1) {
|
||||
|
|
|
@ -49,7 +49,7 @@ extension URLProtectionSpace {
|
|||
public func toMap () -> [String:Any?] {
|
||||
return [
|
||||
"host": host,
|
||||
"procotol": self.protocol,
|
||||
"protocol": self.protocol,
|
||||
"realm": realm,
|
||||
"port": port,
|
||||
"sslCertificate": sslCertificate?.toMap(),
|
||||
|
|
|
@ -177,10 +177,10 @@ public class Util {
|
|||
}
|
||||
if let ipv4Range = Range(match.range(at: 2), in: address) {
|
||||
let ipv4 = address[ipv4Range]
|
||||
let ipv4Splitted = ipv4.split(separator: ".")
|
||||
let ipv4Split = ipv4.split(separator: ".")
|
||||
var ipv4Converted = Array(repeating: "0000", count: 4)
|
||||
for i in 0...3 {
|
||||
let byte = Int(ipv4Splitted[i])!
|
||||
let byte = Int(ipv4Split[i])!
|
||||
let hex = ("0" + String(byte, radix: 16))
|
||||
var offset = hex.count - 3
|
||||
offset = offset < 0 ? 0 : offset
|
||||
|
|
|
@ -1585,8 +1585,8 @@ class IOSInAppWebViewController extends PlatformInAppWebViewController
|
|||
}
|
||||
|
||||
if (webviewUrl.isScheme("file")) {
|
||||
var assetPathSplitted = webviewUrl.toString().split("/flutter_assets/");
|
||||
var assetPath = assetPathSplitted[assetPathSplitted.length - 1];
|
||||
var assetPathSplit = webviewUrl.toString().split("/flutter_assets/");
|
||||
var assetPath = assetPathSplit[assetPathSplit.length - 1];
|
||||
try {
|
||||
var bytes = await rootBundle.load(assetPath);
|
||||
html = utf8.decode(bytes.buffer.asUint8List());
|
||||
|
@ -1624,8 +1624,8 @@ class IOSInAppWebViewController extends PlatformInAppWebViewController
|
|||
var assetPathBase;
|
||||
|
||||
if (webviewUrl.isScheme("file")) {
|
||||
var assetPathSplitted = webviewUrl.toString().split("/flutter_assets/");
|
||||
assetPathBase = assetPathSplitted[0] + "/flutter_assets/";
|
||||
var assetPathSplit = webviewUrl.toString().split("/flutter_assets/");
|
||||
assetPathBase = assetPathSplit[0] + "/flutter_assets/";
|
||||
}
|
||||
|
||||
InAppWebViewSettings? settings = await getSettings();
|
||||
|
@ -1741,7 +1741,7 @@ class IOSInAppWebViewController extends PlatformInAppWebViewController
|
|||
String urlIcon, String? rel, String? sizes, bool isManifest) {
|
||||
List<Favicon> favicons = [];
|
||||
|
||||
List<String> urlSplitted = urlIcon.split("/");
|
||||
List<String> urlSplit = urlIcon.split("/");
|
||||
if (!_isUrlAbsolute(urlIcon)) {
|
||||
if (urlIcon.startsWith("/")) {
|
||||
urlIcon = urlIcon.substring(1);
|
||||
|
@ -1753,15 +1753,15 @@ class IOSInAppWebViewController extends PlatformInAppWebViewController
|
|||
}
|
||||
if (isManifest) {
|
||||
rel = (sizes != null)
|
||||
? urlSplitted[urlSplitted.length - 1]
|
||||
? urlSplit[urlSplit.length - 1]
|
||||
.replaceFirst("-" + sizes, "")
|
||||
.split(" ")[0]
|
||||
.split(".")[0]
|
||||
: null;
|
||||
}
|
||||
if (sizes != null && sizes.isNotEmpty && sizes != "any") {
|
||||
List<String> sizesSplitted = sizes.split(" ");
|
||||
for (String size in sizesSplitted) {
|
||||
List<String> sizesSplit = sizes.split(" ");
|
||||
for (String size in sizesSplit) {
|
||||
int width = int.parse(size.split("x")[0]);
|
||||
int height = int.parse(size.split("x")[1]);
|
||||
favicons.add(Favicon(
|
||||
|
|
|
@ -1586,8 +1586,8 @@ class MacOSInAppWebViewController extends PlatformInAppWebViewController
|
|||
}
|
||||
|
||||
if (webviewUrl.isScheme("file")) {
|
||||
var assetPathSplitted = webviewUrl.toString().split("/flutter_assets/");
|
||||
var assetPath = assetPathSplitted[assetPathSplitted.length - 1];
|
||||
var assetPathSplit = webviewUrl.toString().split("/flutter_assets/");
|
||||
var assetPath = assetPathSplit[assetPathSplit.length - 1];
|
||||
try {
|
||||
var bytes = await rootBundle.load(assetPath);
|
||||
html = utf8.decode(bytes.buffer.asUint8List());
|
||||
|
@ -1625,8 +1625,8 @@ class MacOSInAppWebViewController extends PlatformInAppWebViewController
|
|||
var assetPathBase;
|
||||
|
||||
if (webviewUrl.isScheme("file")) {
|
||||
var assetPathSplitted = webviewUrl.toString().split("/flutter_assets/");
|
||||
assetPathBase = assetPathSplitted[0] + "/flutter_assets/";
|
||||
var assetPathSplit = webviewUrl.toString().split("/flutter_assets/");
|
||||
assetPathBase = assetPathSplit[0] + "/flutter_assets/";
|
||||
}
|
||||
|
||||
InAppWebViewSettings? settings = await getSettings();
|
||||
|
@ -1742,7 +1742,7 @@ class MacOSInAppWebViewController extends PlatformInAppWebViewController
|
|||
String urlIcon, String? rel, String? sizes, bool isManifest) {
|
||||
List<Favicon> favicons = [];
|
||||
|
||||
List<String> urlSplitted = urlIcon.split("/");
|
||||
List<String> urlSplit = urlIcon.split("/");
|
||||
if (!_isUrlAbsolute(urlIcon)) {
|
||||
if (urlIcon.startsWith("/")) {
|
||||
urlIcon = urlIcon.substring(1);
|
||||
|
@ -1754,15 +1754,15 @@ class MacOSInAppWebViewController extends PlatformInAppWebViewController
|
|||
}
|
||||
if (isManifest) {
|
||||
rel = (sizes != null)
|
||||
? urlSplitted[urlSplitted.length - 1]
|
||||
? urlSplit[urlSplit.length - 1]
|
||||
.replaceFirst("-" + sizes, "")
|
||||
.split(" ")[0]
|
||||
.split(".")[0]
|
||||
: null;
|
||||
}
|
||||
if (sizes != null && sizes.isNotEmpty && sizes != "any") {
|
||||
List<String> sizesSplitted = sizes.split(" ");
|
||||
for (String size in sizesSplitted) {
|
||||
List<String> sizesSplit = sizes.split(" ");
|
||||
for (String size in sizesSplit) {
|
||||
int width = int.parse(size.split("x")[0]);
|
||||
int height = int.parse(size.split("x")[1]);
|
||||
favicons.add(Favicon(
|
||||
|
|
|
@ -41,8 +41,8 @@ public class InAppBrowserWebViewController: NSViewController, InAppBrowserDelega
|
|||
channelDelegate = InAppBrowserChannelDelegate(channel: channel)
|
||||
|
||||
var userScripts: [UserScript] = []
|
||||
for intialUserScript in initialUserScripts {
|
||||
userScripts.append(UserScript.fromMap(map: intialUserScript, windowId: windowId)!)
|
||||
for initialUserScript in initialUserScripts {
|
||||
userScripts.append(UserScript.fromMap(map: initialUserScript, windowId: windowId)!)
|
||||
}
|
||||
|
||||
let preWebviewConfiguration = InAppWebView.preWKWebViewConfiguration(settings: webViewSettings)
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
//
|
||||
// CustomeSchemeHandler.swift
|
||||
// CustomSchemeHandler.swift
|
||||
// flutter_inappwebview
|
||||
//
|
||||
// Created by Lorenzo Pichilli on 25/10/2019.
|
||||
|
|
|
@ -27,8 +27,8 @@ public class FlutterWebViewController: NSObject, /*FlutterPlatformView,*/ Dispos
|
|||
|
||||
var userScripts: [UserScript] = []
|
||||
if let initialUserScripts = initialUserScripts {
|
||||
for intialUserScript in initialUserScripts {
|
||||
userScripts.append(UserScript.fromMap(map: intialUserScript, windowId: windowId)!)
|
||||
for initialUserScript in initialUserScripts {
|
||||
userScripts.append(UserScript.fromMap(map: initialUserScript, windowId: windowId)!)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1365,7 +1365,7 @@ public class InAppWebView: WKWebView, WKUIDelegate,
|
|||
switch action {
|
||||
case 0:
|
||||
InAppWebView.credentialsProposed = []
|
||||
// used .performDefaultHandling to mantain consistency with Android
|
||||
// used .performDefaultHandling to maintain consistency with Android
|
||||
// because .cancelAuthenticationChallenge will call webView(_:didFail:withError:)
|
||||
completionHandler(.performDefaultHandling, nil)
|
||||
//completionHandler(.cancelAuthenticationChallenge, nil)
|
||||
|
|
|
@ -63,7 +63,7 @@ public class InAppWebViewManager: ChannelDelegate {
|
|||
webViewForUserAgent?.evaluateJavaScript("navigator.userAgent") { (value, error) in
|
||||
|
||||
if error != nil {
|
||||
print("Error occured to get userAgent")
|
||||
print("Error occurred to get userAgent")
|
||||
self.webViewForUserAgent = nil
|
||||
completionHandler(nil)
|
||||
return
|
||||
|
|
|
@ -111,7 +111,7 @@ window.\(JAVASCRIPT_BRIDGE_NAME)._findAllAsync = function(keyword) {
|
|||
);
|
||||
}
|
||||
|
||||
// helper function, recursively removes the highlights in elements and their childs
|
||||
// helper function, recursively removes the highlights in elements and their children
|
||||
window.\(JAVASCRIPT_BRIDGE_NAME)._clearMatchesForElement = function(element) {
|
||||
if (element) {
|
||||
if (element.nodeType == 1) {
|
||||
|
|
|
@ -49,7 +49,7 @@ extension URLProtectionSpace {
|
|||
public func toMap () -> [String:Any?] {
|
||||
return [
|
||||
"host": host,
|
||||
"procotol": self.protocol,
|
||||
"protocol": self.protocol,
|
||||
"realm": realm,
|
||||
"port": port,
|
||||
"sslCertificate": sslCertificate?.toMap(),
|
||||
|
|
|
@ -106,10 +106,10 @@ public class Util {
|
|||
}
|
||||
if let ipv4Range = Range(match.range(at: 2), in: address) {
|
||||
let ipv4 = address[ipv4Range]
|
||||
let ipv4Splitted = ipv4.split(separator: ".")
|
||||
let ipv4Split = ipv4.split(separator: ".")
|
||||
var ipv4Converted = Array(repeating: "0000", count: 4)
|
||||
for i in 0...3 {
|
||||
let byte = Int(ipv4Splitted[i])!
|
||||
let byte = Int(ipv4Split[i])!
|
||||
let hex = ("0" + String(byte, radix: 16))
|
||||
var offset = hex.count - 3
|
||||
offset = offset < 0 ? 0 : offset
|
||||
|
|
|
@ -14,7 +14,7 @@ class ConsoleMessage_ {
|
|||
///Console message
|
||||
String message;
|
||||
|
||||
///Console messsage level
|
||||
///Console message level
|
||||
ConsoleMessageLevel_ messageLevel;
|
||||
|
||||
ConsoleMessage_(
|
||||
|
|
|
@ -14,7 +14,7 @@ class ConsoleMessage {
|
|||
///Console message
|
||||
String message;
|
||||
|
||||
///Console messsage level
|
||||
///Console message level
|
||||
ConsoleMessageLevel messageLevel;
|
||||
ConsoleMessage(
|
||||
{this.message = "", this.messageLevel = ConsoleMessageLevel.LOG});
|
||||
|
|
|
@ -261,8 +261,8 @@ class WebPlatformInAppWebViewController extends PlatformInAppWebViewController
|
|||
}
|
||||
|
||||
if (webviewUrl.isScheme("file")) {
|
||||
var assetPathSplitted = webviewUrl.toString().split("/flutter_assets/");
|
||||
var assetPath = assetPathSplitted[assetPathSplitted.length - 1];
|
||||
var assetPathSplit = webviewUrl.toString().split("/flutter_assets/");
|
||||
var assetPath = assetPathSplit[assetPathSplit.length - 1];
|
||||
try {
|
||||
var bytes = await rootBundle.load(assetPath);
|
||||
html = utf8.decode(bytes.buffer.asUint8List());
|
||||
|
@ -291,8 +291,8 @@ class WebPlatformInAppWebViewController extends PlatformInAppWebViewController
|
|||
var assetPathBase;
|
||||
|
||||
if (webviewUrl.isScheme("file")) {
|
||||
var assetPathSplitted = webviewUrl.toString().split("/flutter_assets/");
|
||||
assetPathBase = assetPathSplitted[0] + "/flutter_assets/";
|
||||
var assetPathSplit = webviewUrl.toString().split("/flutter_assets/");
|
||||
assetPathBase = assetPathSplit[0] + "/flutter_assets/";
|
||||
}
|
||||
|
||||
InAppWebViewSettings? settings = await getSettings();
|
||||
|
@ -354,7 +354,7 @@ class WebPlatformInAppWebViewController extends PlatformInAppWebViewController
|
|||
String urlIcon, String? rel, String? sizes, bool isManifest) {
|
||||
List<Favicon> favicons = [];
|
||||
|
||||
List<String> urlSplitted = urlIcon.split("/");
|
||||
List<String> urlSplit = urlIcon.split("/");
|
||||
if (!_isUrlAbsolute(urlIcon)) {
|
||||
if (urlIcon.startsWith("/")) {
|
||||
urlIcon = urlIcon.substring(1);
|
||||
|
@ -366,15 +366,15 @@ class WebPlatformInAppWebViewController extends PlatformInAppWebViewController
|
|||
}
|
||||
if (isManifest) {
|
||||
rel = (sizes != null)
|
||||
? urlSplitted[urlSplitted.length - 1]
|
||||
? urlSplit[urlSplit.length - 1]
|
||||
.replaceFirst("-" + sizes, "")
|
||||
.split(" ")[0]
|
||||
.split(".")[0]
|
||||
: null;
|
||||
}
|
||||
if (sizes != null && sizes.isNotEmpty && sizes != "any") {
|
||||
List<String> sizesSplitted = sizes.split(" ");
|
||||
for (String size in sizesSplitted) {
|
||||
List<String> sizesSplit = sizes.split(" ");
|
||||
for (String size in sizesSplit) {
|
||||
int width = int.parse(size.split("x")[0]);
|
||||
int height = int.parse(size.split("x")[1]);
|
||||
favicons.add(Favicon(
|
||||
|
|
Loading…
Reference in New Issue