From 5f11c42fc2063aab947af4ce06068a8b2303ef59 Mon Sep 17 00:00:00 2001 From: Jim Correia Date: Sat, 31 Aug 2019 15:03:03 -0700 Subject: [PATCH] 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. --- Shared/Article Rendering/ArticleRenderer.swift | 9 +++++++++ iOS/Detail/DetailViewController.swift | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/Shared/Article Rendering/ArticleRenderer.swift b/Shared/Article Rendering/ArticleRenderer.swift index 833228120..d54e99a00 100644 --- a/Shared/Article Rendering/ArticleRenderer.swift +++ b/Shared/Article Rendering/ArticleRenderer.swift @@ -41,6 +41,11 @@ struct ArticleRenderer { let renderer = ArticleRenderer(article: nil, style: style) return renderer.noSelectionHTML } + + static func noContentHTML(style: ArticleStyle) -> String { + let renderer = ArticleRenderer(article: nil, style: style) + return renderer.noContentHTML + } } // MARK: - Private @@ -62,6 +67,10 @@ private extension ArticleRenderer { return renderHTML(withBody: body) } + private var noContentHTML: String { + return renderHTML(withBody: "") + } + static var faviconImgTagCache = [Feed: String]() static var feedIconImgTagCache = [Feed: String]() diff --git a/iOS/Detail/DetailViewController.swift b/iOS/Detail/DetailViewController.swift index d206c1e24..1ae298f05 100644 --- a/iOS/Detail/DetailViewController.swift +++ b/iOS/Detail/DetailViewController.swift @@ -270,7 +270,7 @@ class DetailViewControllerWebViewProvider { webView.uiDelegate = nil webView.navigationDelegate = nil - let html = ArticleRenderer.noSelectionHTML(style: .defaultStyle) + let html = ArticleRenderer.noContentHTML(style: .defaultStyle) webView.loadHTMLString(html, baseURL: nil) queue.insert(webView, at: 0)