Use noContentHTML rather than noSelectionHTML for prepared web views.
Added a noContentHTML to ArticleRenderer. Use that for the initial content for queued web views so that we don't see a temporary flash of "No Selection" when pushing to an article that doesn't load instantly.
This commit is contained in:
parent
fe2e0155da
commit
5f11c42fc2
|
@ -41,6 +41,11 @@ struct ArticleRenderer {
|
||||||
let renderer = ArticleRenderer(article: nil, style: style)
|
let renderer = ArticleRenderer(article: nil, style: style)
|
||||||
return renderer.noSelectionHTML
|
return renderer.noSelectionHTML
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static func noContentHTML(style: ArticleStyle) -> String {
|
||||||
|
let renderer = ArticleRenderer(article: nil, style: style)
|
||||||
|
return renderer.noContentHTML
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// MARK: - Private
|
// MARK: - Private
|
||||||
|
@ -62,6 +67,10 @@ private extension ArticleRenderer {
|
||||||
return renderHTML(withBody: body)
|
return renderHTML(withBody: body)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private var noContentHTML: String {
|
||||||
|
return renderHTML(withBody: "")
|
||||||
|
}
|
||||||
|
|
||||||
static var faviconImgTagCache = [Feed: String]()
|
static var faviconImgTagCache = [Feed: String]()
|
||||||
static var feedIconImgTagCache = [Feed: String]()
|
static var feedIconImgTagCache = [Feed: String]()
|
||||||
|
|
||||||
|
|
|
@ -270,7 +270,7 @@ class DetailViewControllerWebViewProvider {
|
||||||
webView.uiDelegate = nil
|
webView.uiDelegate = nil
|
||||||
webView.navigationDelegate = nil
|
webView.navigationDelegate = nil
|
||||||
|
|
||||||
let html = ArticleRenderer.noSelectionHTML(style: .defaultStyle)
|
let html = ArticleRenderer.noContentHTML(style: .defaultStyle)
|
||||||
webView.loadHTMLString(html, baseURL: nil)
|
webView.loadHTMLString(html, baseURL: nil)
|
||||||
|
|
||||||
queue.insert(webView, at: 0)
|
queue.insert(webView, at: 0)
|
||||||
|
|
Loading…
Reference in New Issue