Swift code improvements
This commit is contained in:
parent
73c27928ca
commit
7c1cd442bb
|
@ -9,8 +9,9 @@ import Foundation
|
||||||
|
|
||||||
public class CredentialDatabase: ChannelDelegate {
|
public class CredentialDatabase: ChannelDelegate {
|
||||||
static let METHOD_CHANNEL_NAME = "com.pichillilorenzo/flutter_inappwebview_credential_database"
|
static let METHOD_CHANNEL_NAME = "com.pichillilorenzo/flutter_inappwebview_credential_database"
|
||||||
var plugin: SwiftFlutterPlugin?
|
static let credentialStore = URLCredentialStorage.shared
|
||||||
static var credentialStore = URLCredentialStorage.shared
|
|
||||||
|
private var plugin: SwiftFlutterPlugin?
|
||||||
|
|
||||||
init(plugin: SwiftFlutterPlugin) {
|
init(plugin: SwiftFlutterPlugin) {
|
||||||
super.init(channel: FlutterMethodChannel(name: CredentialDatabase.METHOD_CHANNEL_NAME, binaryMessenger: plugin.registrar!.messenger()))
|
super.init(channel: FlutterMethodChannel(name: CredentialDatabase.METHOD_CHANNEL_NAME, binaryMessenger: plugin.registrar!.messenger()))
|
||||||
|
@ -44,7 +45,7 @@ public class CredentialDatabase: ChannelDelegate {
|
||||||
let host = arguments!["host"] as! String
|
let host = arguments!["host"] as! String
|
||||||
let urlProtocol = arguments!["protocol"] as? String
|
let urlProtocol = arguments!["protocol"] as? String
|
||||||
let urlPort = arguments!["port"] as? Int ?? 0
|
let urlPort = arguments!["port"] as? Int ?? 0
|
||||||
var realm = arguments!["realm"] as? String;
|
var realm = arguments!["realm"] as? String
|
||||||
if let r = realm, r.isEmpty {
|
if let r = realm, r.isEmpty {
|
||||||
realm = nil
|
realm = nil
|
||||||
}
|
}
|
||||||
|
@ -64,7 +65,7 @@ public class CredentialDatabase: ChannelDelegate {
|
||||||
let host = arguments!["host"] as! String
|
let host = arguments!["host"] as! String
|
||||||
let urlProtocol = arguments!["protocol"] as? String
|
let urlProtocol = arguments!["protocol"] as? String
|
||||||
let urlPort = arguments!["port"] as? Int ?? 0
|
let urlPort = arguments!["port"] as? Int ?? 0
|
||||||
var realm = arguments!["realm"] as? String;
|
var realm = arguments!["realm"] as? String
|
||||||
if let r = realm, r.isEmpty {
|
if let r = realm, r.isEmpty {
|
||||||
realm = nil
|
realm = nil
|
||||||
}
|
}
|
||||||
|
@ -80,14 +81,14 @@ public class CredentialDatabase: ChannelDelegate {
|
||||||
let host = arguments!["host"] as! String
|
let host = arguments!["host"] as! String
|
||||||
let urlProtocol = arguments!["protocol"] as? String
|
let urlProtocol = arguments!["protocol"] as? String
|
||||||
let urlPort = arguments!["port"] as? Int ?? 0
|
let urlPort = arguments!["port"] as? Int ?? 0
|
||||||
var realm = arguments!["realm"] as? String;
|
var realm = arguments!["realm"] as? String
|
||||||
if let r = realm, r.isEmpty {
|
if let r = realm, r.isEmpty {
|
||||||
realm = nil
|
realm = nil
|
||||||
}
|
}
|
||||||
let username = arguments!["username"] as! String
|
let username = arguments!["username"] as! String
|
||||||
let password = arguments!["password"] as! String
|
let password = arguments!["password"] as! String
|
||||||
|
|
||||||
var credential: URLCredential? = nil;
|
var credential: URLCredential? = nil
|
||||||
var protectionSpaceCredential: URLProtectionSpace? = nil
|
var protectionSpaceCredential: URLProtectionSpace? = nil
|
||||||
|
|
||||||
for (protectionSpace, credentials) in CredentialDatabase.credentialStore.allCredentials {
|
for (protectionSpace, credentials) in CredentialDatabase.credentialStore.allCredentials {
|
||||||
|
@ -116,12 +117,12 @@ public class CredentialDatabase: ChannelDelegate {
|
||||||
let host = arguments!["host"] as! String
|
let host = arguments!["host"] as! String
|
||||||
let urlProtocol = arguments!["protocol"] as? String
|
let urlProtocol = arguments!["protocol"] as? String
|
||||||
let urlPort = arguments!["port"] as? Int ?? 0
|
let urlPort = arguments!["port"] as? Int ?? 0
|
||||||
var realm = arguments!["realm"] as? String;
|
var realm = arguments!["realm"] as? String
|
||||||
if let r = realm, r.isEmpty {
|
if let r = realm, r.isEmpty {
|
||||||
realm = nil
|
realm = nil
|
||||||
}
|
}
|
||||||
|
|
||||||
var credentialsToRemove: [URLCredential] = [];
|
var credentialsToRemove: [URLCredential] = []
|
||||||
var protectionSpaceCredential: URLProtectionSpace? = nil
|
var protectionSpaceCredential: URLProtectionSpace? = nil
|
||||||
|
|
||||||
for (protectionSpace, credentials) in CredentialDatabase.credentialStore.allCredentials {
|
for (protectionSpace, credentials) in CredentialDatabase.credentialStore.allCredentials {
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
public class FindInteractionChannelDelegate : ChannelDelegate {
|
public class FindInteractionChannelDelegate: ChannelDelegate {
|
||||||
private weak var findInteractionController: FindInteractionController?
|
private weak var findInteractionController: FindInteractionController?
|
||||||
|
|
||||||
public init(findInteractionController: FindInteractionController, channel: FlutterMethodChannel) {
|
public init(findInteractionController: FindInteractionController, channel: FlutterMethodChannel) {
|
||||||
|
|
|
@ -8,14 +8,14 @@
|
||||||
import Foundation
|
import Foundation
|
||||||
import Flutter
|
import Flutter
|
||||||
|
|
||||||
public class FindInteractionController : NSObject, Disposable {
|
public class FindInteractionController: NSObject, Disposable {
|
||||||
|
static let METHOD_CHANNEL_NAME_PREFIX = "com.pichillilorenzo/flutter_inappwebview_find_interaction_"
|
||||||
|
|
||||||
static var METHOD_CHANNEL_NAME_PREFIX = "com.pichillilorenzo/flutter_inappwebview_find_interaction_";
|
|
||||||
var plugin: SwiftFlutterPlugin?
|
|
||||||
var webView: InAppWebView?
|
var webView: InAppWebView?
|
||||||
var channelDelegate: FindInteractionChannelDelegate?
|
var channelDelegate: FindInteractionChannelDelegate?
|
||||||
var settings: FindInteractionSettings?
|
|
||||||
var shouldCallOnRefresh = false
|
private var plugin: SwiftFlutterPlugin?
|
||||||
|
private var settings: FindInteractionSettings?
|
||||||
|
|
||||||
private var _searchText: String? = nil
|
private var _searchText: String? = nil
|
||||||
var searchText: String? {
|
var searchText: String? {
|
||||||
|
|
|
@ -7,8 +7,9 @@
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
public class HeadlessInAppWebView : Disposable {
|
public class HeadlessInAppWebView: Disposable {
|
||||||
static let METHOD_CHANNEL_NAME_PREFIX = "com.pichillilorenzo/flutter_headless_inappwebview_"
|
static let METHOD_CHANNEL_NAME_PREFIX = "com.pichillilorenzo/flutter_headless_inappwebview_"
|
||||||
|
|
||||||
var id: String
|
var id: String
|
||||||
var channelDelegate: HeadlessWebViewChannelDelegate?
|
var channelDelegate: HeadlessWebViewChannelDelegate?
|
||||||
var flutterWebView: FlutterWebViewController?
|
var flutterWebView: FlutterWebViewController?
|
||||||
|
@ -24,7 +25,7 @@ public class HeadlessInAppWebView : Disposable {
|
||||||
}
|
}
|
||||||
|
|
||||||
public func onWebViewCreated() {
|
public func onWebViewCreated() {
|
||||||
channelDelegate?.onWebViewCreated();
|
channelDelegate?.onWebViewCreated()
|
||||||
}
|
}
|
||||||
|
|
||||||
public func prepare(params: NSDictionary) {
|
public func prepare(params: NSDictionary) {
|
||||||
|
|
|
@ -11,7 +11,7 @@ import WebKit
|
||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
public class InAppBrowserWebViewController: UIViewController, InAppBrowserDelegate, UIScrollViewDelegate, UISearchBarDelegate, Disposable {
|
public class InAppBrowserWebViewController: UIViewController, InAppBrowserDelegate, UIScrollViewDelegate, UISearchBarDelegate, Disposable {
|
||||||
static var METHOD_CHANNEL_NAME_PREFIX = "com.pichillilorenzo/flutter_inappbrowser_";
|
static let METHOD_CHANNEL_NAME_PREFIX = "com.pichillilorenzo/flutter_inappbrowser_"
|
||||||
|
|
||||||
var closeButton: UIBarButtonItem!
|
var closeButton: UIBarButtonItem!
|
||||||
var reloadButton: UIBarButtonItem!
|
var reloadButton: UIBarButtonItem!
|
||||||
|
|
|
@ -9,7 +9,7 @@ import Foundation
|
||||||
|
|
||||||
public class ContextMenuSettings: ISettings<NSObject> {
|
public class ContextMenuSettings: ISettings<NSObject> {
|
||||||
|
|
||||||
var hideDefaultSystemContextMenuItems = false;
|
var hideDefaultSystemContextMenuItems = false
|
||||||
|
|
||||||
override init(){
|
override init(){
|
||||||
super.init()
|
super.init()
|
||||||
|
|
|
@ -14,7 +14,7 @@ public class InAppWebView: WKWebView, UIScrollViewDelegate, WKUIDelegate,
|
||||||
WKDownloadDelegate,
|
WKDownloadDelegate,
|
||||||
PullToRefreshDelegate,
|
PullToRefreshDelegate,
|
||||||
Disposable {
|
Disposable {
|
||||||
static var METHOD_CHANNEL_NAME_PREFIX = "com.pichillilorenzo/flutter_inappwebview_"
|
static let METHOD_CHANNEL_NAME_PREFIX = "com.pichillilorenzo/flutter_inappwebview_"
|
||||||
|
|
||||||
var id: Any? // viewId
|
var id: Any? // viewId
|
||||||
var plugin: SwiftFlutterPlugin?
|
var plugin: SwiftFlutterPlugin?
|
||||||
|
@ -26,14 +26,14 @@ public class InAppWebView: WKWebView, UIScrollViewDelegate, WKUIDelegate,
|
||||||
var settings: InAppWebViewSettings?
|
var settings: InAppWebViewSettings?
|
||||||
var pullToRefreshControl: PullToRefreshControl?
|
var pullToRefreshControl: PullToRefreshControl?
|
||||||
var findInteractionController: FindInteractionController?
|
var findInteractionController: FindInteractionController?
|
||||||
var webMessageChannels: [String:WebMessageChannel] = [:]
|
var webMessageChannels: [String: WebMessageChannel] = [:]
|
||||||
var webMessageListeners: [WebMessageListener] = []
|
var webMessageListeners: [WebMessageListener] = []
|
||||||
var currentOriginalUrl: URL?
|
var currentOriginalUrl: URL?
|
||||||
var inFullscreen = false
|
var inFullscreen = false
|
||||||
var preventGestureDelay = false
|
var preventGestureDelay = false
|
||||||
|
|
||||||
static var sslCertificatesMap: [String: SslCertificate] = [:] // [URL host name : SslCertificate]
|
private static var sslCertificatesMap: [String: SslCertificate] = [:] // [URL host name : SslCertificate]
|
||||||
static var credentialsProposed: [URLCredential] = []
|
private static var credentialsProposed: [URLCredential] = []
|
||||||
|
|
||||||
var lastScrollX: CGFloat = 0
|
var lastScrollX: CGFloat = 0
|
||||||
var lastScrollY: CGFloat = 0
|
var lastScrollY: CGFloat = 0
|
||||||
|
@ -103,14 +103,14 @@ public class InAppWebView: WKWebView, UIScrollViewDelegate, WKUIDelegate,
|
||||||
set {
|
set {
|
||||||
super.frame = newValue
|
super.frame = newValue
|
||||||
|
|
||||||
self.scrollView.contentInset = UIEdgeInsets.zero;
|
self.scrollView.contentInset = .zero
|
||||||
if #available(iOS 11, *) {
|
if #available(iOS 11, *) {
|
||||||
// Above iOS 11, adjust contentInset to compensate the adjustedContentInset so the sum will
|
// Above iOS 11, adjust contentInset to compensate the adjustedContentInset so the sum will
|
||||||
// always be 0.
|
// always be 0.
|
||||||
if (scrollView.adjustedContentInset != UIEdgeInsets.zero) {
|
if (scrollView.adjustedContentInset != UIEdgeInsets.zero) {
|
||||||
let insetToAdjust = self.scrollView.adjustedContentInset;
|
let insetToAdjust = self.scrollView.adjustedContentInset
|
||||||
scrollView.contentInset = UIEdgeInsets(top: -insetToAdjust.top, left: -insetToAdjust.left,
|
scrollView.contentInset = UIEdgeInsets(top: -insetToAdjust.top, left: -insetToAdjust.left,
|
||||||
bottom: -insetToAdjust.bottom, right: -insetToAdjust.right);
|
bottom: -insetToAdjust.bottom, right: -insetToAdjust.right)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2214,13 +2214,13 @@ public class InAppWebView: WKWebView, UIScrollViewDelegate, WKUIDelegate,
|
||||||
if let certEntry:Dictionary = dict as? Dictionary<String, AnyObject> {
|
if let certEntry:Dictionary = dict as? Dictionary<String, AnyObject> {
|
||||||
// grab the identity
|
// grab the identity
|
||||||
let identityPointer:AnyObject? = certEntry["identity"];
|
let identityPointer:AnyObject? = certEntry["identity"];
|
||||||
let secIdentityRef:SecIdentity = (identityPointer as! SecIdentity?)!;
|
let secIdentityRef:SecIdentity = (identityPointer as! SecIdentity?)!
|
||||||
// grab the trust
|
// grab the trust
|
||||||
let trustPointer:AnyObject? = certEntry["trust"];
|
let trustPointer:AnyObject? = certEntry["trust"]
|
||||||
let trustRef:SecTrust = trustPointer as! SecTrust;
|
let trustRef:SecTrust = trustPointer as! SecTrust
|
||||||
// grab the cert
|
// grab the cert
|
||||||
let chainPointer:AnyObject? = certEntry["chain"];
|
let chainPointer:AnyObject? = certEntry["chain"]
|
||||||
identityAndTrust = IdentityAndTrust(identityRef: secIdentityRef, trust: trustRef, certArray: chainPointer!);
|
identityAndTrust = IdentityAndTrust(identityRef: secIdentityRef, trust: trustRef, certArray: chainPointer!)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
print("Security Error: " + securityError.description)
|
print("Security Error: " + securityError.description)
|
||||||
|
@ -2228,7 +2228,7 @@ public class InAppWebView: WKWebView, UIScrollViewDelegate, WKUIDelegate,
|
||||||
print(SecCopyErrorMessageString(securityError,nil) ?? "")
|
print(SecCopyErrorMessageString(securityError,nil) ?? "")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return identityAndTrust;
|
return identityAndTrust
|
||||||
}
|
}
|
||||||
|
|
||||||
func createAlertDialog(message: String?, responseMessage: String?, confirmButtonTitle: String?, completionHandler: @escaping () -> Void) {
|
func createAlertDialog(message: String?, responseMessage: String?, confirmButtonTitle: String?, completionHandler: @escaping () -> Void) {
|
||||||
|
|
|
@ -11,8 +11,9 @@ import WebKit
|
||||||
@available(iOS 11.0, *)
|
@available(iOS 11.0, *)
|
||||||
public class MyCookieManager: ChannelDelegate {
|
public class MyCookieManager: ChannelDelegate {
|
||||||
static let METHOD_CHANNEL_NAME = "com.pichillilorenzo/flutter_inappwebview_cookiemanager"
|
static let METHOD_CHANNEL_NAME = "com.pichillilorenzo/flutter_inappwebview_cookiemanager"
|
||||||
var plugin: SwiftFlutterPlugin?
|
static let httpCookieStore = WKWebsiteDataStore.default().httpCookieStore
|
||||||
static var httpCookieStore = WKWebsiteDataStore.default().httpCookieStore
|
|
||||||
|
private var plugin: SwiftFlutterPlugin?
|
||||||
|
|
||||||
init(plugin: SwiftFlutterPlugin) {
|
init(plugin: SwiftFlutterPlugin) {
|
||||||
super.init(channel: FlutterMethodChannel(name: MyCookieManager.METHOD_CHANNEL_NAME, binaryMessenger: plugin.registrar!.messenger()))
|
super.init(channel: FlutterMethodChannel(name: MyCookieManager.METHOD_CHANNEL_NAME, binaryMessenger: plugin.registrar!.messenger()))
|
||||||
|
@ -64,13 +65,13 @@ public class MyCookieManager: ChannelDelegate {
|
||||||
let path = arguments!["path"] as! String
|
let path = arguments!["path"] as! String
|
||||||
let domain = arguments!["domain"] as? String
|
let domain = arguments!["domain"] as? String
|
||||||
MyCookieManager.deleteCookie(url: url, name: name, path: path, domain: domain, result: result)
|
MyCookieManager.deleteCookie(url: url, name: name, path: path, domain: domain, result: result)
|
||||||
break;
|
break
|
||||||
case "deleteCookies":
|
case "deleteCookies":
|
||||||
let url = arguments!["url"] as! String
|
let url = arguments!["url"] as! String
|
||||||
let path = arguments!["path"] as! String
|
let path = arguments!["path"] as! String
|
||||||
let domain = arguments!["domain"] as? String
|
let domain = arguments!["domain"] as? String
|
||||||
MyCookieManager.deleteCookies(url: url, path: path, domain: domain, result: result)
|
MyCookieManager.deleteCookies(url: url, path: path, domain: domain, result: result)
|
||||||
break;
|
break
|
||||||
case "deleteAllCookies":
|
case "deleteAllCookies":
|
||||||
MyCookieManager.deleteAllCookies(result: result)
|
MyCookieManager.deleteAllCookies(result: result)
|
||||||
break
|
break
|
||||||
|
|
|
@ -11,8 +11,9 @@ import WebKit
|
||||||
@available(iOS 9.0, *)
|
@available(iOS 9.0, *)
|
||||||
public class MyWebStorageManager: ChannelDelegate {
|
public class MyWebStorageManager: ChannelDelegate {
|
||||||
static let METHOD_CHANNEL_NAME = "com.pichillilorenzo/flutter_inappwebview_webstoragemanager"
|
static let METHOD_CHANNEL_NAME = "com.pichillilorenzo/flutter_inappwebview_webstoragemanager"
|
||||||
var plugin: SwiftFlutterPlugin?
|
static let websiteDataStore = WKWebsiteDataStore.default()
|
||||||
static var websiteDataStore = WKWebsiteDataStore.default()
|
|
||||||
|
private var plugin: SwiftFlutterPlugin?
|
||||||
|
|
||||||
init(plugin: SwiftFlutterPlugin) {
|
init(plugin: SwiftFlutterPlugin) {
|
||||||
super.init(channel: FlutterMethodChannel(name: MyWebStorageManager.METHOD_CHANNEL_NAME, binaryMessenger: plugin.registrar!.messenger()))
|
super.init(channel: FlutterMethodChannel(name: MyWebStorageManager.METHOD_CHANNEL_NAME, binaryMessenger: plugin.registrar!.messenger()))
|
||||||
|
|
|
@ -8,8 +8,9 @@
|
||||||
import Foundation
|
import Foundation
|
||||||
import Flutter
|
import Flutter
|
||||||
|
|
||||||
public class PullToRefreshControl : UIRefreshControl, Disposable {
|
public class PullToRefreshControl: UIRefreshControl, Disposable {
|
||||||
static var METHOD_CHANNEL_NAME_PREFIX = "com.pichillilorenzo/flutter_inappwebview_pull_to_refresh_";
|
static let METHOD_CHANNEL_NAME_PREFIX = "com.pichillilorenzo/flutter_inappwebview_pull_to_refresh_"
|
||||||
|
|
||||||
var plugin: SwiftFlutterPlugin?
|
var plugin: SwiftFlutterPlugin?
|
||||||
var channelDelegate: PullToRefreshChannelDelegate?
|
var channelDelegate: PullToRefreshChannelDelegate?
|
||||||
var settings: PullToRefreshSettings?
|
var settings: PullToRefreshSettings?
|
||||||
|
|
Loading…
Reference in New Issue