diff --git a/android/java/apk_for_test.flags b/android/java/apk_for_test.flags
index 4c04bb51c8d3..53b31c91ef29 100644
--- a/android/java/apk_for_test.flags
+++ b/android/java/apk_for_test.flags
@@ -894,6 +894,7 @@
-keep class org.chromium.chrome.browser.tabbed_mode.TabbedNavigationBarColorController {
*** mContext;
+ *** mTabModelSelector;
}
-keep class org.chromium.chrome.browser.tabbed_mode.BraveTabbedNavigationBarColorControllerBase
diff --git a/android/java/org/chromium/chrome/browser/tabbed_mode/BraveTabbedNavigationBarColorControllerBase.java b/android/java/org/chromium/chrome/browser/tabbed_mode/BraveTabbedNavigationBarColorControllerBase.java
index b7f024825bd9..8dc5b4a71082 100644
--- a/android/java/org/chromium/chrome/browser/tabbed_mode/BraveTabbedNavigationBarColorControllerBase.java
+++ b/android/java/org/chromium/chrome/browser/tabbed_mode/BraveTabbedNavigationBarColorControllerBase.java
@@ -9,10 +9,12 @@
import android.os.Build;
import androidx.annotation.ColorInt;
+import androidx.annotation.Nullable;
import androidx.annotation.RequiresApi;
import org.chromium.base.BraveReflectionUtil;
import org.chromium.chrome.R;
+import org.chromium.chrome.browser.tabmodel.TabModelSelector;
import org.chromium.chrome.browser.toolbar.bottom.BottomToolbarConfiguration;
import org.chromium.chrome.browser.toolbar.menu_button.BraveMenuButtonCoordinator;
@@ -23,7 +25,9 @@ class BraveTabbedNavigationBarColorControllerBase {
* This variable will be used instead of `TabGroupModelFilter#mContext`, that will be deleted in
* bytecode.
*/
- protected Context mContext;
+ protected @Nullable Context mContext;
+
+ protected @Nullable TabModelSelector mTabModelSelector;
// Calls from the upstream's private function
// `TabbedNavigationBarColorController#getNavigationBarColor`
@@ -33,8 +37,13 @@ public int getNavigationBarColor(boolean forceDarkNavigationBar) {
// Adjust navigation bar color to match the bottom toolbar color when it is visible.
if (BottomToolbarConfiguration.isBottomToolbarEnabled()
&& BraveMenuButtonCoordinator.isMenuFromBottom()
- && mContext != null) {
- return mContext.getColor(R.color.default_bg_color_baseline);
+ && mContext != null
+ && mTabModelSelector != null) {
+ if (mTabModelSelector.isIncognitoSelected()) {
+ return mContext.getColor(R.color.toolbar_background_primary_dark);
+ } else {
+ return mContext.getColor(R.color.default_bg_color_baseline);
+ }
}
// Otherwise just call upstream's method.
diff --git a/android/java/res/values/brave_colors.xml b/android/java/res/values/brave_colors.xml
index 82da4e98fa97..f98fc17ff225 100644
--- a/android/java/res/values/brave_colors.xml
+++ b/android/java/res/values/brave_colors.xml
@@ -100,6 +100,7 @@
#0061aa
#3f39e8
#ffffff
+ #160041
@android:color/transparent
@@ -143,6 +144,7 @@
#4C54D2
+ @color/primitive_private_window_5
@color/incognito_modern_primary_color
#13052A
#4B415D
diff --git a/android/javatests/org/chromium/chrome/browser/BytecodeTest.java b/android/javatests/org/chromium/chrome/browser/BytecodeTest.java
index 4884fb4c1012..a57159a8d80c 100644
--- a/android/javatests/org/chromium/chrome/browser/BytecodeTest.java
+++ b/android/javatests/org/chromium/chrome/browser/BytecodeTest.java
@@ -2108,6 +2108,10 @@ public void testFieldsExist() throws Exception {
fieldExists(
"org/chromium/chrome/browser/tabbed_mode/TabbedNavigationBarColorController", // presubmit: ignore-long-line
"mContext"));
+ Assert.assertFalse(
+ fieldExists(
+ "org/chromium/chrome/browser/tabbed_mode/TabbedNavigationBarColorController", // presubmit: ignore-long-line
+ "mTabModelSelector"));
}
@Test
diff --git a/build/android/bytecode/java/org/brave/bytecode/BraveTabbedNavigationBarColorControllerBaseClassAdapter.java b/build/android/bytecode/java/org/brave/bytecode/BraveTabbedNavigationBarColorControllerBaseClassAdapter.java
index 8c17d64bbcfc..1cfdba653383 100644
--- a/build/android/bytecode/java/org/brave/bytecode/BraveTabbedNavigationBarColorControllerBaseClassAdapter.java
+++ b/build/android/bytecode/java/org/brave/bytecode/BraveTabbedNavigationBarColorControllerBaseClassAdapter.java
@@ -22,6 +22,8 @@ public BraveTabbedNavigationBarColorControllerBaseClassAdapter(ClassVisitor visi
deleteField(sTabbedNavigationBarColorControllerClassName, "mContext");
+ deleteField(sTabbedNavigationBarColorControllerClassName, "mTabModelSelector");
+
changeMethodOwner(
sTabbedNavigationBarColorControllerClassName,
"getNavigationBarColor",