From 267fbdd6c0267055bf8efbc6465fa26cb1ecf6f5 Mon Sep 17 00:00:00 2001 From: Jacob Bullock Date: Sun, 29 Apr 2018 17:26:21 -1000 Subject: [PATCH] search google if an unqualified url is entered --- .../WebBrowserViewController.swift | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/ios/keyman/Keyman/Keyman/KMWebBrowser/WebBrowserViewController.swift b/ios/keyman/Keyman/Keyman/KMWebBrowser/WebBrowserViewController.swift index 2e14f2799e..bd825e081f 100644 --- a/ios/keyman/Keyman/Keyman/KMWebBrowser/WebBrowserViewController.swift +++ b/ios/keyman/Keyman/Keyman/KMWebBrowser/WebBrowserViewController.swift @@ -179,8 +179,16 @@ class WebBrowserViewController: UIViewController, UIWebViewDelegate, UIAlertView } @objc func loadAddress(_ sender: Any, event: UIEvent) { - guard let urlString = addressField?.text, var url = URL(string: urlString) else { - log.debug("Attempting to load invalid URL: \(addressField?.text ?? "nil")") + if let urlString = addressField?.text { + loadUrlString(urlString) + } + } + + func loadUrlString(_ urlString: String, allowSearchRedirect: Bool = true) { + guard var url = URL(string: urlString) else { + if allowSearchRedirect { + loadSearchString(urlString) + } return } if url.scheme == nil { @@ -189,6 +197,12 @@ class WebBrowserViewController: UIViewController, UIWebViewDelegate, UIAlertView let request = URLRequest(url: url) webView.loadRequest(request) } + + func loadSearchString(_ searchString: String) { + if let query = searchString.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) { + loadUrlString("google.com/search?q=\(query)", allowSearchRedirect: false) + } + } func updateAddress(_ request: URLRequest) { let url: URL? = request.mainDocumentURL