Support for Sydro find interaction

This commit is contained in:
James Magahern
2022-03-28 16:52:03 -07:00
parent c1e194cfe9
commit 44cde0018b
4 changed files with 31 additions and 11 deletions

View File

@@ -77,9 +77,17 @@ class BrowserViewController: UIViewController
override func loadView() {
browserView.toolbarView = toolbarController.toolbarView
browserView.findOnPageView = findOnPageController.findOnPageView
browserView.tabBarView = tabBarViewController.tabBarView
if FindOnPageViewController.isEnabled() {
browserView.findOnPageView = findOnPageController.findOnPageView
// Find on page dismiss
findOnPageController.findOnPageView.doneButton.addAction(UIAction(handler: { [unowned self] _ in
browserView.setFindOnPageVisible(false, animated: true)
}), for: .touchUpInside)
}
// Refresh button
toolbarController.urlBar.refreshButton.addAction(UIAction(handler: { [unowned self] action in
if self.webView.isLoading {
@@ -220,7 +228,12 @@ class BrowserViewController: UIViewController
// Find on page
documentControls.findOnPageControlView.addAction(UIAction(handler: { [unowned self] _ in
documentControls.dismiss(animated: true, completion: nil)
browserView.setFindOnPageVisible(true, animated: true)
if FindOnPageViewController.isEnabled() {
browserView.setFindOnPageVisible(true, animated: true)
} else if #available(iOS 16.0, *) {
browserView.webView?._findInteraction.presentFindNavigatorShowingReplace(false)
}
}), for: .touchUpInside)
// Navigation controls
@@ -294,11 +307,6 @@ class BrowserViewController: UIViewController
present(documentControls, animated: true, completion: nil)
}), for: .touchUpInside)
// Find on page dismiss
findOnPageController.findOnPageView.doneButton.addAction(UIAction(handler: { [unowned self] _ in
browserView.setFindOnPageVisible(false, animated: true)
}), for: .touchUpInside)
// Tab controller
activeTabObservation = tabController.$activeTabIndex
.receive(on: RunLoop.main)