[cr137] [Android] Add web app header to the main layout

Chromium change:
https://chromium.googlesource.com/chromium/src/+/8cf864537cf0665d3558a5848f92eb469e61fc81

[Minimal UI] Add web app header to the main layout

Integrating web app header into the CCT base activity based on the
feature enabled state and web app launch params.

Support to show web app header in the dialogs will be added in a
separate CL.

HSV: https://hsv.googleplex.com/5366214560841728

Bug: 401230452
This commit is contained in:
Artem Samoilenko
2025-05-13 15:53:16 -04:00
committed by Max Karolinskiy
parent 92cbf028b1
commit dff290f724
5 changed files with 25 additions and 3 deletions
+1
View File
@@ -913,6 +913,7 @@
*** mTabController;
*** mMinimizationManagerHolder;
*** mCustomTabFeatureOverridesManager;
*** getAppHeaderCoordinator(...);
public <init>(...);
}
@@ -36,6 +36,7 @@ import org.chromium.chrome.browser.customtabs.features.toolbar.CustomTabToolbarC
import org.chromium.chrome.browser.notifications.BravePermissionUtils;
import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
import org.chromium.chrome.browser.ui.RootUiCoordinator;
import org.chromium.chrome.browser.ui.desktop_windowing.AppHeaderCoordinator;
import org.chromium.chrome.browser.ui.messages.snackbar.Snackbar;
import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager.SnackbarController;
@@ -229,7 +230,13 @@ public class FullScreenCustomTabActivity extends CustomTabActivity {
() -> mMinimizationManagerHolder.getMinimizationManager(),
() -> mCustomTabFeatureOverridesManager,
() -> getCustomTabActivityNavigationController().openCurrentUrlInBrowser(),
getEdgeToEdgeManager());
getEdgeToEdgeManager(),
getAppHeaderCoordinator());
return mBaseCustomTabRootUiCoordinator;
}
private AppHeaderCoordinator getAppHeaderCoordinator() {
assert false : "This methos should be overridden via bytecode manipulation!";
return null;
}
}
@@ -6,6 +6,7 @@
package org.chromium.chrome.browser.customtabs;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import org.chromium.base.supplier.ObservableSupplier;
@@ -36,6 +37,7 @@ import org.chromium.chrome.browser.ui.appmenu.AppMenuDelegate;
import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeController;
import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
import org.chromium.chrome.browser.ui.system.StatusBarColorController.StatusBarColorProvider;
import org.chromium.components.browser_ui.desktop_windowing.DesktopWindowStateManager;
import org.chromium.components.browser_ui.edge_to_edge.EdgeToEdgeManager;
import org.chromium.components.browser_ui.widget.MenuOrKeyboardActionController;
import org.chromium.ui.base.ActivityWindowAndroid;
@@ -82,7 +84,8 @@ public class FullScreenCustomTabRootUiCoordinator extends BaseCustomTabRootUiCoo
@NonNull Supplier<CustomTabMinimizeDelegate> minimizeDelegateSupplier,
@NonNull Supplier<CustomTabFeatureOverridesManager> featureOverridesManagerSupplier,
@NonNull Runnable openInBrowserRunnable,
@NonNull EdgeToEdgeManager edgeToEdgeManager) {
@NonNull EdgeToEdgeManager edgeToEdgeManager,
@Nullable DesktopWindowStateManager desktopWindowStateManager) {
super(
activity,
shareDelegateSupplier,
@@ -119,7 +122,8 @@ public class FullScreenCustomTabRootUiCoordinator extends BaseCustomTabRootUiCoo
minimizeDelegateSupplier,
featureOverridesManagerSupplier,
openInBrowserRunnable,
edgeToEdgeManager);
edgeToEdgeManager,
desktopWindowStateManager);
}
@Override