Conversation
GerardPaligot
left a comment
There was a problem hiding this comment.
Work as expected, also tested in bottom and split mode.
This reverts commit ddd5c8b.
d25098d to
a1aa34a
Compare
GerardPaligot
left a comment
There was a problem hiding this comment.
Not directly linked to keyboard behavior but related to your new scenarios, I found a case where the query in the address bar is wrong.
- Run a query with "cats"
- Tap on the address bar
- Remove the query
- Enter a new query without running it
- Tap on back button
- Page is still on "cats" but with your new query is in the address bar
But it is maybe the expected behavior for this scenario
Screen_recording_20260417_111933.mp4
|
@GerardPaligot Yeah, that's expected. It was explicitly added in https://app.asana.com/1/137249556945/project/1208671518894266/task/1210964284781033?focus=true. |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 6d63332. Configure here.
| } | ||
| } | ||
| }, | ||
| ) |
There was a problem hiding this comment.
Scroll listeners accumulate on repeated calls
Low Severity
addOnScrollListener is additive, so if configureAutoCompleteSuggestions() is called more than once, duplicate keyboard-dismiss scroll listeners accumulate on autoCompleteSuggestionsList. Unlike ChatTabFragment and SearchTabFragment, which call clearOnScrollListeners() in onDestroyView(), BrowserTabFragment never removes these listeners from the autocomplete RecyclerView. Each additional listener fires hideKeyboardRetainFocus() redundantly on every drag event.
Please tell me if this was useful or not with a 👍 or 👎.
Reviewed by Cursor Bugbot for commit 6d63332. Configure here.


Task/Issue URL:
https://app.asana.com/1/137249556945/project/715106103902962/task/1213877678474928?focus=true
Description
Unifies the keyboard behavior and focused state across address bar flows, regardless of AI toggle status.
Steps to test this PR
1. AI Toggle OFF, no favourites
2. AI Toggle OFF, with favourites
3. AI Toggle OFF: autocomplete scroll dismisses keyboard
4. AI Toggle ON (Input Screen), with favorites
5. AI Toggle ON: empty-field cancel preserves SERP query
6. No shadow on focused view / autocomplete during keyboard animation
UI changes
Screen_recording_20260415_101618.webm
Screen_recording_20260415_100831.webm
Screen_recording_20260415_095005.webm
Note
Medium Risk
Touches omnibar focus/autocomplete state decisions and back/scroll event handling across browser and Duck.ai input screens, which can regress navigation or suggestion visibility if edge cases are missed.
Overview
Unifies the omnibar focused overlay behavior by replacing
showFavoriteswithshowFocusedView, showing the focused overlay for URL-focused/empty-query browsing (including SERP prefill) and displaying the DDG logo when there are no favorites.Prevents programmatic URL/query prefill changes on focus from triggering autocomplete suggestions, and adjusts the omnibar back-key handling to return whether an overlay was dismissed (so back closes focused/autocomplete overlays without navigating).
Improves keyboard dismissal consistency by hiding the keyboard when users scroll autocomplete/focused/favorites content (browser tab and Duck.ai input screen), wraps the focused overlay content in a
NestedScrollView, avoids overwriting SERP/NTP draft text with empty strings, and removes overlay drop shadows viaandroid:outlineProvider="none".Reviewed by Cursor Bugbot for commit 6d63332. Bugbot is set up for automated code reviews on this repo. Configure here.