Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -34,19 +34,19 @@ extension BrowserViewController {
// Used only on iOS 15
private func useCustomFindInteraction(isVisible: Bool, tab: Tab? = nil) {
if isVisible {
if findInPageBar == nil {
if iOS15FindInPageBar == nil {
setupFindInPage()
}

self.findInPageBar?.becomeFirstResponder()
} else if let findInPageBar = self.findInPageBar {
self.iOS15FindInPageBar?.becomeFirstResponder()
} else if let findInPageBar = self.iOS15FindInPageBar {
removeFindInPage(findInPageBar, tab: tab)
}
}

private func setupFindInPage() {
let findInPageBar = FindInPageBar()
self.findInPageBar = findInPageBar
self.iOS15FindInPageBar = findInPageBar
findInPageBar.delegate = self

bottomContentStackView.addArrangedViewToBottom(findInPageBar, animated: false, completion: {
Expand Down Expand Up @@ -74,7 +74,7 @@ extension BrowserViewController {
guard let webView = tab?.webView else { return }
webView.evaluateJavascriptInDefaultContentWorld("__firefox__.findDone()")
bottomContentStackView.removeArrangedView(findInPageBar)
self.findInPageBar = nil
self.iOS15FindInPageBar = nil
updateConstraintsForFindInPageChanges()
}

Expand All @@ -93,12 +93,12 @@ extension BrowserViewController: FindInPageBarDelegate, FindInPageHelperDelegate
}

func findInPage(didFindNextWithText text: String) {
findInPageBar?.endEditing(true)
iOS15FindInPageBar?.endEditing(true)
find(text, function: "findNext")
}

func findInPage(didFindPreviousWithText text: String) {
findInPageBar?.endEditing(true)
iOS15FindInPageBar?.endEditing(true)
find(text, function: "findPrevious")
}

Expand All @@ -113,10 +113,10 @@ extension BrowserViewController: FindInPageBarDelegate, FindInPageHelperDelegate
}

func findInPageHelper(didUpdateCurrentResult currentResult: Int) {
findInPageBar?.currentResult = currentResult
iOS15FindInPageBar?.currentResult = currentResult
}

func findInPageHelper(didUpdateTotalResults totalResults: Int) {
findInPageBar?.totalResults = totalResults
iOS15FindInPageBar?.totalResults = totalResults
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ class BrowserViewController: UIViewController,
var searchController: SearchViewController?
var searchSessionState: SearchSessionState?
var searchLoader: SearchLoader?
var findInPageBar: FindInPageBar?
var iOS15FindInPageBar: FindInPageBar? /* TODO: Remove once we drop iOS 15 support */
var zoomPageBar: ZoomPageBar?
var addressBarPanGestureHandler: AddressBarPanGestureHandler?
var microsurvey: MicrosurveyPromptView?
Expand Down Expand Up @@ -4438,7 +4438,7 @@ extension BrowserViewController: LegacyTabDelegate {

func tab(_ tab: Tab, didSelectFindInPageForSelection selection: String) {
updateFindInPageVisibility(isVisible: true, withSearchText: selection)
findInPageBar?.text = selection
iOS15FindInPageBar?.text = selection
}

func tab(_ tab: Tab, didSelectSearchWithFirefoxForSelection selection: String) {
Expand Down Expand Up @@ -5051,7 +5051,7 @@ extension BrowserViewController: KeyboardHelperDelegate {
)
}
tabManager.selectedTab?.setFindInPage(isBottomSearchBar: isBottomSearchBar,
doesFindInPageBarExist: findInPageBar != nil)
doesFindInPageBarExist: iOS15FindInPageBar != nil)
guard isSwipingTabsEnabled else { return }
addressBarPanGestureHandler?.enablePanGestureOnHomepageIfNeeded()
}
Expand Down
4 changes: 3 additions & 1 deletion firefox-ios/Client/PrivacyWindowHelper.swift
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,9 @@ final class PrivacyWindowHelper {
privacyWindow?.rootViewController?.view.backgroundColor = color
// Set the privacy window level to be above alert windows (highest in importance).
privacyWindow?.windowLevel = .alert + 1
privacyWindow?.makeKeyAndVisible()
// Avoid makeKeyAndVisible(), becoming key steals first responder
// and causses iOS keyboard to dismiss on background/foreground in private mode.
privacyWindow?.isHidden = false
}

@MainActor
Expand Down
Loading