diff --git a/app/src/androidTest/java/com/duckduckgo/app/browser/BrowserTabViewModelTest.kt b/app/src/androidTest/java/com/duckduckgo/app/browser/BrowserTabViewModelTest.kt index d7d66dd6c860..18b016467b0a 100644 --- a/app/src/androidTest/java/com/duckduckgo/app/browser/BrowserTabViewModelTest.kt +++ b/app/src/androidTest/java/com/duckduckgo/app/browser/BrowserTabViewModelTest.kt @@ -869,6 +869,19 @@ class BrowserTabViewModelTest { assertTrue(browserViewState().canGoForward) } + @Test + fun whenFindInPageShowingByPressingBackOnBrowserThenViewStateUpdatedInvisibleAndDoesNotGoToPreviousPage() { + setupNavigation(isBrowsing = true, canGoBack = true) + testee.onFindInPageSelected() + testee.onUserPressedBack() + + assertFalse(findInPageViewState().visible) + assertCommandIssued() + + val issuedCommand = commandCaptor.allValues.find { it is Command.NavigateBack } + assertNull(issuedCommand) + } + @Test fun whenHomeShowingByPressingBackOnInvalidatedBrowserThenForwardButtonInactive() { setupNavigation(isBrowsing = true) diff --git a/app/src/main/java/com/duckduckgo/app/browser/BrowserTabViewModel.kt b/app/src/main/java/com/duckduckgo/app/browser/BrowserTabViewModel.kt index a2d6afe73102..135dfc464581 100644 --- a/app/src/main/java/com/duckduckgo/app/browser/BrowserTabViewModel.kt +++ b/app/src/main/java/com/duckduckgo/app/browser/BrowserTabViewModel.kt @@ -414,6 +414,11 @@ class BrowserTabViewModel( fun onUserPressedBack(): Boolean { val navigation = webNavigationState ?: return false + if (currentFindInPageViewState().visible) { + dismissFindInView() + return true + } + if (!currentBrowserViewState().browserShowing) { return false }