From 47d4b21cab2a10b918f1fd4865d7b2a88fdc0125 Mon Sep 17 00:00:00 2001 From: Artem Samoilenko Date: Thu, 3 Oct 2024 14:53:07 -0400 Subject: [PATCH] [Android] Adjustment to extending the omnibox suggestions when drawing E2E Chromium change: https://source.chromium.org/chromium/chromium/src/+/3c34eed14f29d850c9756a3f7e1ef4f7cb4da709 Extend the omnibox suggestions when drawing E2E By default, the omnibox suggestions fit the height of the screen, without including system bars. When the edge-to-edge feature is enabled, the bottom navigation bar region can be drawn into, showing a gap with tab content underneath the omnibox suggestions list. This change allows for the edge-to-edge feature to communicate extra bottom padding to the omnibox suggestions dropdown to allow it to extend down and cover that bottom region, so the dropdown can draw "edge-to-edge" while keeping all of the suggestions fully visible and interactable. Demo: https://screencast.googleplex.com/cast/NjYyMDM3MTIxNzI4NTEyMHwzOTA4ZmJkZi00NQ Demo (landscape): https://screencast.googleplex.com/cast/NTk5NTYyMjA4NjczNzkyMHw5MzI3Y2ZlYi02YQ Drawing E2E: https://screenshot.googleplex.com/BUEWNAUMbguNCNY.png Drawing E2E (bottom): https://screenshot.googleplex.com/BuCyb2EzK95bsuC.png Bug: b/325636004 --- .../chrome/browser/omnibox/BraveLocationBarCoordinator.java | 6 ++++-- .../javatests/org/chromium/chrome/browser/BytecodeTest.java | 3 ++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/android/java/org/chromium/chrome/browser/omnibox/BraveLocationBarCoordinator.java b/android/java/org/chromium/chrome/browser/omnibox/BraveLocationBarCoordinator.java index 6f8d5d50a046..cc882e8b459c 100644 --- a/android/java/org/chromium/chrome/browser/omnibox/BraveLocationBarCoordinator.java +++ b/android/java/org/chromium/chrome/browser/omnibox/BraveLocationBarCoordinator.java @@ -87,7 +87,8 @@ public BraveLocationBarCoordinator( omniboxSuggestionsDropdownScrollListener, @Nullable ObservableSupplier tabModelSelectorSupplier, LocationBarEmbedderUiOverrides uiOverrides, - @Nullable View baseChromeLayout) { + @Nullable View baseChromeLayout, + Supplier bottomWindowPaddingSupplier) { super( locationBarLayout, autocompleteAnchorView, @@ -118,7 +119,8 @@ public BraveLocationBarCoordinator( omniboxSuggestionsDropdownScrollListener, tabModelSelectorSupplier, uiOverrides, - baseChromeLayout); + baseChromeLayout, + bottomWindowPaddingSupplier); if (mUrlBar != null) { ((UrlBar) mUrlBar).setSelectAllOnFocus(true); diff --git a/android/javatests/org/chromium/chrome/browser/BytecodeTest.java b/android/javatests/org/chromium/chrome/browser/BytecodeTest.java index e149b53c36e1..18c739d517ea 100644 --- a/android/javatests/org/chromium/chrome/browser/BytecodeTest.java +++ b/android/javatests/org/chromium/chrome/browser/BytecodeTest.java @@ -1426,7 +1426,8 @@ public void testConstructorsExistAndMatch() throws Exception { OmniboxSuggestionsDropdownScrollListener.class, ObservableSupplier.class, LocationBarEmbedderUiOverrides.class, - View.class)); + View.class, + Supplier.class)); Assert.assertTrue( constructorsMatch( "org/chromium/chrome/browser/omnibox/LocationBarMediator",