             
             self?.isRenderingReadabilityHTML = false
             guard let html = html else {
-                self?.completionHandler(nil, webView, error)
+                self?.completionHandler(nil, webView, error, self?.previousNavigationDelegate)
                 return
             }
-            self?.completionHandler(html, webView, nil)
+            self?.completionHandler(html, webView, nil, self?.previousNavigationDelegate)
         }
     }
     

        if allowNavigationFailures > 0 {
            allowNavigationFailures -= 1
        } else {
            completionHandler(nil, webView, error)
        }
    }
}

            let parseError = ReadabilityError.unableToParseScriptResult(rawResult: result as? String)
            
            guard let resultData = (result as? String)?.data(using: .utf8) else {
                self?.completionHandler(nil, webView, error, self?.previousNavigationDelegate)
                return
            }
            guard let jsonResultOptional = try? JSONSerialization.jsonObject(with: resultData, options: []), let jsonResult = jsonResultOptional as? [String: String?], let contentOptional = jsonResult["content"], let content = contentOptional, let titleOptional = jsonResult["title"], let bylineOptional = jsonResult["byline"] else {
                self?.completionHandler(nil, webView, parseError, self?.previousNavigationDelegate)
                return
            }
            guard let html = self?.renderHTML(
