From f7667f5a38f013e545fec67eb205576c9f3eb237 Mon Sep 17 00:00:00 2001 From: Alex Forcier Date: Tue, 22 Sep 2020 14:28:48 +0900 Subject: [PATCH 1/2] Exclude story images from link tag wrapping --- .../ViewRelated/Reader/Detail/WebView/ReaderWebView.swift | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/WordPress/Classes/ViewRelated/Reader/Detail/WebView/ReaderWebView.swift b/WordPress/Classes/ViewRelated/Reader/Detail/WebView/ReaderWebView.swift index 7b1bc923ca7e..056e97899a70 100644 --- a/WordPress/Classes/ViewRelated/Reader/Detail/WebView/ReaderWebView.swift +++ b/WordPress/Classes/ViewRelated/Reader/Detail/WebView/ReaderWebView.swift @@ -70,7 +70,10 @@ class ReaderWebView: WKWebView { }) // Make all images tappable - document.querySelectorAll('img').forEach((el) => { el.outerHTML = `${el.outerHTML}` }) + // Exception for images in Stories, which have their own link structure + document.querySelectorAll('img:not(.wp-story-image)').forEach((el) => { + el.outerHTML = `${el.outerHTML}` + }) // Only display images after they have fully loaded, to have a native feel document.querySelectorAll('img').forEach((el) => { From bfb09fc3125859a701765e7d7ae685253833149f Mon Sep 17 00:00:00 2001 From: Alex Forcier Date: Tue, 22 Sep 2020 14:30:23 +0900 Subject: [PATCH 2/2] Open webview controller when tapping a story --- .../ViewRelated/Reader/Detail/ReaderDetailCoordinator.swift | 3 +++ 1 file changed, 3 insertions(+) diff --git a/WordPress/Classes/ViewRelated/Reader/Detail/ReaderDetailCoordinator.swift b/WordPress/Classes/ViewRelated/Reader/Detail/ReaderDetailCoordinator.swift index 5e1b77d62136..742746811bc6 100644 --- a/WordPress/Classes/ViewRelated/Reader/Detail/ReaderDetailCoordinator.swift +++ b/WordPress/Classes/ViewRelated/Reader/Detail/ReaderDetailCoordinator.swift @@ -281,6 +281,7 @@ class ReaderDetailCoordinator { /// Given a URL presents it the best way possible. /// /// If it's an image, shows it fullscreen. + /// If it's a fullscreen Story link, open it in the webview controller /// If it's a post, open a new detail screen. /// If it's a regular URL, open it in the webview controller /// @@ -290,6 +291,8 @@ class ReaderDetailCoordinator { view?.scroll(to: hash) } else if url.pathExtension.contains("gif") || url.pathExtension.contains("jpg") || url.pathExtension.contains("jpeg") || url.pathExtension.contains("png") { presentImage(url) + } else if url.query?.contains("wp-story") ?? false { + presentWebViewController(url) } else if readerLinkRouter.canHandle(url: url) { readerLinkRouter.handle(url: url, shouldTrack: false, source: viewController) } else if url.isWordPressDotComPost {