From c8dbf3813e816fca80d64de5fffc233f9da69c8a Mon Sep 17 00:00:00 2001 From: jahorton Date: Fri, 24 Jun 2022 09:48:30 +0700 Subject: [PATCH] chore(ios): remaining patch-up --- .../KMWebBrowser/BookmarksViewController.swift | 11 ++++++++--- .../KMWebBrowser/WebBrowserViewController.swift | 5 ++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/ios/keyman/Keyman/Keyman/Classes/KMWebBrowser/BookmarksViewController.swift b/ios/keyman/Keyman/Keyman/Classes/KMWebBrowser/BookmarksViewController.swift index fe0ecba47a..ed4f54a003 100644 --- a/ios/keyman/Keyman/Keyman/Classes/KMWebBrowser/BookmarksViewController.swift +++ b/ios/keyman/Keyman/Keyman/Classes/KMWebBrowser/BookmarksViewController.swift @@ -62,7 +62,12 @@ class BookmarksViewController: UIViewController, UITableViewDelegate, UITableVie selector: #selector(BookmarksViewController.handleTextFieldTextChangedNotification(notification:)), name: UITextField.textDidChangeNotification, object: textField) textField.placeholder = "Title" - textField.text = self.webBrowser?.webView?.stringByEvaluatingJavaScript(from: "document.title") + self.webBrowser?.webView?.evaluateJavaScript("document.title") { val, _ in + if let str = val as? String { + textField.text = str + self.updateAddButtonEnableState() + } + } textField.autocapitalizationType = .sentences textField.font = UIFont.systemFont(ofSize: 17) textField.keyboardType = .default @@ -75,7 +80,7 @@ class BookmarksViewController: UIViewController, UITableViewDelegate, UITableVie selector: #selector(BookmarksViewController.handleTextFieldTextChangedNotification(notification:)), name: UITextField.textDidChangeNotification, object: textField) textField.placeholder = "URL" - textField.text = self.webBrowser?.webView?.request?.mainDocumentURL?.absoluteString + textField.text = self.webBrowser?.webView?.url?.absoluteString textField.autocapitalizationType = .none textField.font = UIFont.systemFont(ofSize: 17) textField.keyboardType = UIKeyboardType.URL @@ -186,7 +191,7 @@ class BookmarksViewController: UIViewController, UITableViewDelegate, UITableVie private func performAction(for indexPath: IndexPath) { let bookmark = bookmarks[indexPath.section] if let urlString = bookmark[bookmarkUrlKey], let url = URL(string: urlString) { - webBrowser?.webView?.loadRequest(URLRequest(url: url)) + webBrowser?.webView?.load(URLRequest(url: url)) } dismiss(animated: true, completion: nil) } diff --git a/ios/keyman/Keyman/Keyman/Classes/KMWebBrowser/WebBrowserViewController.swift b/ios/keyman/Keyman/Keyman/Classes/KMWebBrowser/WebBrowserViewController.swift index e1827974ed..157afeafa9 100644 --- a/ios/keyman/Keyman/Keyman/Classes/KMWebBrowser/WebBrowserViewController.swift +++ b/ios/keyman/Keyman/Keyman/Classes/KMWebBrowser/WebBrowserViewController.swift @@ -52,7 +52,6 @@ class WebBrowserViewController: UIViewController, WKNavigationDelegate, UIAlertV function: WebBrowserViewController.keyboardPickerDismissed) webView.navigationDelegate = self - webView.scalesPageToFit = true if #available(iOS 13.0, *) { // Dark mode settings must be applied through this new property, @@ -203,7 +202,7 @@ class WebBrowserViewController: UIViewController, WKNavigationDelegate, UIAlertV func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, - decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) -> Void { + decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) { let request = navigationAction.request if request.url?.lastPathComponent.hasSuffix(".kmp") ?? false { // Can't have the browser auto-download with no way to select a different page. @@ -292,7 +291,7 @@ class WebBrowserViewController: UIViewController, WKNavigationDelegate, UIAlertV "style.type = 'text/css';" + "style.innerHTML = '*{font-family:\"\(fontFamily)\" !important;}';" + "document.getElementsByTagName('head')[0].appendChild(style);" - webView?.stringByEvaluatingJavaScript(from: jsStr) + webView.evaluateJavaScript(jsStr) } private func keyboardChanged(_ kb: InstallableKeyboard) {