From 9628962880ec05bc8ec382d6de89218bec7c287a Mon Sep 17 00:00:00 2001 From: samartnik <30602739+samartnik@users.noreply.github.com> Date: Thu, 25 Sep 2025 22:26:26 -0400 Subject: [PATCH] [Android] Fix for hairline height (#31434) Chromium changes: https://chromium.googlesource.com/chromium/src/+/e981dd46821f563acaa6a5a3d8fd51e046e311e2 commit e981dd46821f563acaa6a5a3d8fd51e046e311e2 Author: Patrick Noland Date: Wed Aug 13 13:37:18 2025 -0700 [Toolbar] Rework hairline positioning Manually calculating the margin for the hairline is error-prone and tedious when multiple components can alter the height of the toolbar. Instead of manual manipulation, we can position it "for free" by using coordinator layout's anchor gravity concept. This does require switching the toolbar container to be a CoordinatorLayout. Mostly this is easy since CoordinatorLayout is a more powerful FrameLayout. There is one consideration: OptimizedFrameLayout, formerly in the inheritance chain for the toolbar container, reduced the number of measure calls on ToolbarLayout for performance reasons. This ends up not mattering because CoordinatorLayout performs the same number of measure calls. NO_IFTTT=Adding block for the first time Change-Id: Idfbb41afbbb1d361214cd0e8e585fefa545aee89 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6828889 Reviewed-by: Xi Han Reviewed-by: Wenyu Fu Commit-Queue: Patrick Noland Cr-Commit-Position: refs/heads/main@{#1501003} --- .../chrome/browser/app/BraveActivity.java | 33 ------------------- android/java/res/values/brave_dimens.xml | 2 ++ .../expectations/lint-suppressions.xml | 1 - .../java/res/drawable/toolbar_hairline.xml | 11 ------- 4 files changed, 2 insertions(+), 45 deletions(-) delete mode 100644 components/browser_ui/styles/android/java/res/drawable/toolbar_hairline.xml diff --git a/android/java/org/chromium/chrome/browser/app/BraveActivity.java b/android/java/org/chromium/chrome/browser/app/BraveActivity.java index d04025eb4c2..fd2f372947d 100644 --- a/android/java/org/chromium/chrome/browser/app/BraveActivity.java +++ b/android/java/org/chromium/chrome/browser/app/BraveActivity.java @@ -2305,39 +2305,6 @@ public abstract class BraveActivity extends ChromeActivity return mBrowserControlsManagerSupplier; } - public int getToolbarShadowHeight() { - View toolbarShadow = findViewById(R.id.toolbar_hairline); - assert toolbarShadow != null; - if (toolbarShadow != null) { - return toolbarShadow.getHeight(); - } - return 0; - } - - public float getToolbarBottom() { - View toolbarShadow = findViewById(R.id.toolbar_hairline); - assert toolbarShadow != null; - if (toolbarShadow != null) { - return toolbarShadow.getY(); - } - return 0; - } - - public boolean isViewBelowToolbar(View view) { - View toolbarShadow = findViewById(R.id.toolbar_hairline); - assert toolbarShadow != null; - assert view != null; - if (toolbarShadow != null && view != null) { - int[] coordinatesToolbar = new int[2]; - toolbarShadow.getLocationInWindow(coordinatesToolbar); - int[] coordinatesView = new int[2]; - view.getLocationInWindow(coordinatesView); - return coordinatesView[1] >= coordinatesToolbar[1]; - } - - return false; - } - @NativeMethods interface Natives { void restartStatsUpdater(); diff --git a/android/java/res/values/brave_dimens.xml b/android/java/res/values/brave_dimens.xml index e7276a5b515..c60113ccf26 100644 --- a/android/java/res/values/brave_dimens.xml +++ b/android/java/res/values/brave_dimens.xml @@ -98,4 +98,6 @@ 12dp + + 0dp diff --git a/chromium_src/chrome/android/expectations/lint-suppressions.xml b/chromium_src/chrome/android/expectations/lint-suppressions.xml index c36fded271d..1c74916f259 100644 --- a/chromium_src/chrome/android/expectations/lint-suppressions.xml +++ b/chromium_src/chrome/android/expectations/lint-suppressions.xml @@ -27,7 +27,6 @@ - diff --git a/components/browser_ui/styles/android/java/res/drawable/toolbar_hairline.xml b/components/browser_ui/styles/android/java/res/drawable/toolbar_hairline.xml deleted file mode 100644 index f74f8d8a506..00000000000 --- a/components/browser_ui/styles/android/java/res/drawable/toolbar_hairline.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - -