From 67ed3785270bf2ce4f9a69250353cfacb1a9e23e Mon Sep 17 00:00:00 2001 From: Brandon Date: Tue, 24 Mar 2020 15:38:53 -0400 Subject: [PATCH] Desktop disabled data URI schemes. --- ...rViewController+WKNavigationDelegate.swift | 31 +++---------------- 1 file changed, 4 insertions(+), 27 deletions(-) diff --git a/Client/Frontend/Browser/BrowserViewController/BrowserViewController+WKNavigationDelegate.swift b/Client/Frontend/Browser/BrowserViewController/BrowserViewController+WKNavigationDelegate.swift index 40f4c16ce95..7c26c5d59b7 100644 --- a/Client/Frontend/Browser/BrowserViewController/BrowserViewController+WKNavigationDelegate.swift +++ b/Client/Frontend/Browser/BrowserViewController/BrowserViewController+WKNavigationDelegate.swift @@ -260,33 +260,10 @@ extension BrowserViewController: WKNavigationDelegate { } // Prevents synthetically activated links such as: CVE-2017-7089 - if ["data", "blob", "file"].contains(url.scheme) { - if let clickType = navigationAction.value(forKey: "syntheticClickType") as? Int { - //A click is synthetic if its value is 0 (aka WKSyntheticClickTypeNoTap). - /*switch (syntheticClickType) { - case WebKit::WebMouseEvent::OneFingerTap: - return WKSyntheticClickTypeOneFingerTap; - case WebKit::WebMouseEvent::TwoFingerTap: - return WKSyntheticClickTypeTwoFingerTap; - }*/ - if clickType == 0 { - decisionHandler(.cancel) - return - } - } - - //Fallback.. Asks the user whether or not the url should be opened.. but only for `data` - if navigationAction.navigationType == .linkActivated && url.scheme == "data" { - handleExternalURL(url) { didOpenURL in - if !didOpenURL { - let alert = UIAlertController(title: Strings.unableToOpenURLErrorTitle, message: Strings.unableToOpenURLError, preferredStyle: .alert) - alert.addAction(UIAlertAction(title: Strings.OKString, style: .default, handler: nil)) - self.present(alert, animated: true, completion: nil) - } - } - decisionHandler(.cancel) - return - } + //Follow desktop + if url.scheme == "data" { + decisionHandler(.cancel) + return } decisionHandler(.allow)