diff --git a/iOS/Article/ArticleIconSchemeHandler.swift b/iOS/Article/ArticleIconSchemeHandler.swift index 55e36a619..20b0f32bc 100644 --- a/iOS/Article/ArticleIconSchemeHandler.swift +++ b/iOS/Article/ArticleIconSchemeHandler.swift @@ -15,28 +15,28 @@ class ArticleIconSchemeHandler: NSObject, WKURLSchemeHandler { var currentArticle: Article? func webView(_ webView: WKWebView, start urlSchemeTask: WKURLSchemeTask) { - DispatchQueue.main.async { - guard let responseURL = urlSchemeTask.request.url, let iconImage = self.currentArticle?.iconImage() else { - urlSchemeTask.didFailWithError(URLError(.fileDoesNotExist)) - return - } - let iconView = IconView(frame: CGRect(x: 0, y: 0, width: 48, height: 48)) - iconView.iconImage = iconImage - let renderedImage = iconView.asImage() - - guard let data = renderedImage.dataRepresentation() else { - urlSchemeTask.didFailWithError(URLError(.fileDoesNotExist)) - return - } - - let headerFields = ["Cache-Control": "no-cache"] - if let response = HTTPURLResponse(url: responseURL, statusCode: 200, httpVersion: nil, headerFields: headerFields) { - urlSchemeTask.didReceive(response) - urlSchemeTask.didReceive(data) - urlSchemeTask.didFinish() - } + guard let responseURL = urlSchemeTask.request.url, let iconImage = self.currentArticle?.iconImage() else { + urlSchemeTask.didFailWithError(URLError(.fileDoesNotExist)) + return } + + let iconView = IconView(frame: CGRect(x: 0, y: 0, width: 48, height: 48)) + iconView.iconImage = iconImage + let renderedImage = iconView.asImage() + + guard let data = renderedImage.dataRepresentation() else { + urlSchemeTask.didFailWithError(URLError(.fileDoesNotExist)) + return + } + + let headerFields = ["Cache-Control": "no-cache"] + if let response = HTTPURLResponse(url: responseURL, statusCode: 200, httpVersion: nil, headerFields: headerFields) { + urlSchemeTask.didReceive(response) + urlSchemeTask.didReceive(data) + urlSchemeTask.didFinish() + } + } func webView(_ webView: WKWebView, stop urlSchemeTask: WKURLSchemeTask) {