Merge pull request #246 from omnivore-app/fix/process-pool

Use a single process pool for all webviews
This commit is contained in:
Jackson Harper 2022-03-17 11:44:43 -07:00 committed by GitHub
commit 0e1690d9f5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -5,6 +5,27 @@ import WebKit
public let readerViewNavBarHeight = 50.0
enum WebViewConfigurationManager {
private static let processPool = WKProcessPool()
static func create() -> WKWebViewConfiguration {
let config = WKWebViewConfiguration()
config.processPool = processPool
// config.limitsNavigationsToAppBoundDomains = true
return config
}
}
enum WebViewManager {
public static let sharedView = create()
public static func shared() -> WebView {
sharedView
}
public static func create() -> WebView {
WebView(frame: CGRect.zero, configuration: WebViewConfigurationManager.create())
}
}
#if os(iOS)
struct WebAppView: UIViewRepresentable {
let request: URLRequest
@ -28,7 +49,7 @@ public let readerViewNavBarHeight = 50.0
}
func makeUIView(context: Context) -> WKWebView {
let webView = WebView(frame: CGRect.zero)
let webView = WebViewManager.create()
let contentController = WKUserContentController()
webView.navigationDelegate = context.coordinator