From d2f3ddf8641e4dc341104dbc428aa0945b51b121 Mon Sep 17 00:00:00 2001 From: Shadowfacts Date: Sun, 20 Dec 2020 22:27:59 -0500 Subject: [PATCH] Fix reload not working --- BrowserCore/NavigationManager.swift | 4 ++-- Gemini-iOS/BrowserNavigationController.swift | 4 ++++ Gemini-iOS/BrowserWebViewController.swift | 6 ++++++ 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/BrowserCore/NavigationManager.swift b/BrowserCore/NavigationManager.swift index 83a8a48..6e53d6b 100644 --- a/BrowserCore/NavigationManager.swift +++ b/BrowserCore/NavigationManager.swift @@ -68,7 +68,7 @@ public class NavigationManager: NSObject, ObservableObject { @objc public func reload() { let url = currentURL currentURL = url - // todo: send navigation op + navigationOperation.send(.reload) } @objc public func goBack() { @@ -105,6 +105,6 @@ public class NavigationManager: NSObject, ObservableObject { public extension NavigationManager { enum Operation { - case go, forward(count: Int), backward(count: Int) + case go, reload, forward(count: Int), backward(count: Int) } } diff --git a/Gemini-iOS/BrowserNavigationController.swift b/Gemini-iOS/BrowserNavigationController.swift index f4f536c..62eaa00 100644 --- a/Gemini-iOS/BrowserNavigationController.swift +++ b/Gemini-iOS/BrowserNavigationController.swift @@ -134,6 +134,10 @@ class BrowserNavigationController: UIViewController { backBrowserVCs.append(currentBrowserVC) newVC = BrowserWebViewController(navigator: navigator, url: navigator.currentURL) + case .reload: + currentBrowserVC.reload() + return + case let .backward(count: count): var removed = backBrowserVCs.suffix(count) backBrowserVCs.removeLast(count) diff --git a/Gemini-iOS/BrowserWebViewController.swift b/Gemini-iOS/BrowserWebViewController.swift index 579d70b..769d230 100644 --- a/Gemini-iOS/BrowserWebViewController.swift +++ b/Gemini-iOS/BrowserWebViewController.swift @@ -129,6 +129,11 @@ class BrowserWebViewController: UIViewController { loadDocument() } + func reload() { + loaded = false + loadDocument() + } + private func loadDocument() { guard !loaded else { return } @@ -149,6 +154,7 @@ class BrowserWebViewController: UIViewController { } case let .success(response): if response.status.isRedirect { + print("Trying to redirect to: '\(response.meta)'") if let redirect = URL(string: response.meta) { self.navigator.changeURL(redirect) } else {