Patches for v146 (#2511 #256)

This commit is contained in:
Carmelo Messina
2026-03-24 11:12:18 +01:00
parent 813bec3069
commit 41270b79c6
2 changed files with 1191 additions and 840 deletions
File diff suppressed because it is too large Load Diff
@@ -13,10 +13,13 @@ folder in case of a crash on startup.
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
---
android_webview/BUILD.gn | 2 +-
base/allocator/partition_alloc_features.cc | 2 +-
.../src/partition_alloc/BUILD.gn | 3 +-
base/android/device_info.cc | 8 ++-
base/android/device_info.h | 3 +-
.../src/org/chromium/base/DeviceInfo.java | 6 +-
.../src/org/chromium/base/DeviceInfo.java | 8 ++-
build/BUILD.gn | 2 +-
.../java/templates/BuildConfig.template | 8 ++-
build/config/android/rules.gni | 4 +-
build/config/chrome_build.gni | 7 +-
build/config/compiler/BUILD.gn | 2 +-
@@ -39,7 +42,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
...InterceptNavigationDelegateClientImpl.java | 2 +-
.../browser/tab/RequestDesktopUtils.java | 2 +-
.../TabbedAppMenuPropertiesDelegate.java | 2 +-
.../tabbed_mode/TabbedRootUiCoordinator.java | 2 +-
.../tabbed_mode/TabbedRootUiCoordinator.java | 4 +-
chrome/app/extensions_strings.grdp | 7 ++
chrome/app/theme/theme_resources.grd | 4 +-
chrome/browser/BUILD.gn | 6 +-
@@ -47,6 +50,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
...chrome_selection_dropdown_menu_delegate.cc | 4 +-
.../bookmarks/bar/BookmarkBarUtils.java | 6 +-
.../bar/BookmarkBarVisibilityProvider.java | 2 +-
.../BrowserControlsUtils.java | 2 +-
chrome/browser/browser_process_impl.cc | 2 +-
chrome/browser/chrome_browser_field_trials.cc | 66 +++++++++----------
.../chrome_browser_interface_binders_webui.cc | 4 +-
@@ -58,15 +62,18 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../chrome_extensions_api_client_android.cc | 2 +-
.../extensions/api/identity/web_auth_flow.cc | 6 +-
.../extensions/api/identity/web_auth_flow.h | 4 +-
.../extensions/api/tabs/tabs_event_router.cc | 3 +
.../extensions/extension_management.cc | 8 ++-
.../browser/extensions/extension_management.h | 2 +-
chrome/browser/extensions/extension_util.cc | 11 ++++
.../feedback/DeviceInfoFeedbackSource.java | 2 +-
.../browser/flags/ChromeFeatureList.java | 6 +-
chrome/browser/media/router/BUILD.gn | 4 +-
.../browser/media/router/discovery/BUILD.gn | 2 +-
.../media/router/media_router_feature.cc | 10 +--
.../media/router/media_router_feature.h | 2 +-
.../media/webrtc/webrtc_event_log_manager.cc | 4 +-
.../browser/open_in_app/OpenInAppUtils.java | 2 +-
.../policy_value_and_status_aggregator.cc | 2 +-
...hrome_browser_main_extra_parts_profiles.cc | 2 +-
.../profiles/off_the_record_profile_impl.cc | 9 ++-
@@ -75,8 +82,9 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
chrome/browser/resources/discards/BUILD.gn | 2 +-
.../resources/extensions/detail_view.css | 6 ++
.../resources/extensions/extensions.html | 8 ++-
.../resources/extensions/item_list.css | 11 ++++
.../resources/extensions/item_list.css | 10 +++
.../resources/extensions/toolbar.html.ts | 7 --
.../sessions/session_restore_android.cc | 4 +-
...omeProvidedSharingOptionsProviderBase.java | 4 +-
chrome/browser/startup_data.cc | 6 +-
chrome/browser/startup_data.h | 6 +-
@@ -85,14 +93,18 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../browser/ui/android/context_menu_helper.cc | 12 +++-
.../browser/ui/android/context_menu_helper.h | 4 +-
.../desktop_site/DesktopSiteUtils.java | 4 +-
.../TopControlsLockCoordinator.java | 2 +-
chrome/browser/ui/android/extensions/BUILD.gn | 4 +-
.../extensions/extension_actions_bridge.cc | 23 +++++++
.../extensions/extension_actions_bridge.h | 1 +
.../extensions/extensions_toolbar_android.cc | 1 +
.../java/res/layout/extensions_menu.xml | 1 +
.../res/layout/extensions_menu_footer.xml | 4 +-
.../extensions/java/res/values/dimens.xml | 1 +
.../ui/extensions/ExtensionActionsBridge.java | 6 ++
.../extensions/windowing/internal/BUILD.gn | 2 +-
.../extension_window_controller_bridge.cc | 17 ++---
.../extension_window_controller_bridge.h | 2 +-
.../Enable-extensions-Android.grdp | 15 +++++
.../Extensions-Android.grdp | 9 +++
.../browser/ui/android/tab_model/tab_model.cc | 4 +-
@@ -120,7 +132,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
chrome/common/webui_url_constants.h | 2 +-
.../sandbox_status_extension_android.cc | 3 +-
.../sandbox_status_extension_android.h | 1 +
chrome/test/BUILD.gn | 14 ++--
chrome/test/BUILD.gn | 18 ++---
chrome/version.gni | 4 +-
.../core/browser/host_content_settings_map.cc | 6 ++
.../embedder_support/view/ContentView.java | 2 +-
@@ -132,7 +144,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../components/policy/PolicyCacheUpdater.java | 2 +-
.../android/policy_cache_updater_android.cc | 4 +-
.../cloud/user_policy_signin_service_base.cc | 2 +-
.../configuration_policy_handler_list.cc | 2 +-
.../configuration_policy_handler_list.cc | 4 +-
.../common/cloud/cloud_policy_constants.cc | 2 +-
components/policy/core/common/features.cc | 2 +-
.../policy/core/common/policy_merger.cc | 4 +-
@@ -176,16 +188,16 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../cpp_bundle_generator.py | 2 +-
.../ui/widget/PopupSpecCalculator.java | 9 ++-
.../ui/test/util/UiDisableIfSkipCheck.java | 8 +--
.../chromium/ui/test/util/UiRestriction.java | 2 +-
.../chromium/ui/test/util/UiRestriction.java | 4 +-
ui/base/accelerators/command.cc | 2 +-
ui/base/device_form_factor_android.cc | 2 +-
ui/gl/features.gni | 2 +-
ui/resources/ui_resources.grd | 2 +-
ui/webui/resources/BUILD.gn | 4 +-
ui/webui/resources/cr_elements/BUILD.gn | 2 +-
.../cr_elements/cr_toolbar/cr_toolbar.css | 6 ++
.../cr_elements/cr_toolbar/cr_toolbar.css | 3 +
ui/webui/resources/css/BUILD.gn | 2 +-
173 files changed, 573 insertions(+), 283 deletions(-)
185 files changed, 605 insertions(+), 311 deletions(-)
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Enable-extensions-Android.grdp
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Extensions-Android.grdp
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Extensions-Android.inc
@@ -202,6 +214,31 @@ diff --git a/android_webview/BUILD.gn b/android_webview/BUILD.gn
# For Android Desktop x64, orderfile is disabled, see
# https://crbug.com/422005929.
webview_orderfile_path = ""
diff --git a/base/allocator/partition_alloc_features.cc b/base/allocator/partition_alloc_features.cc
--- a/base/allocator/partition_alloc_features.cc
+++ b/base/allocator/partition_alloc_features.cc
@@ -190,7 +190,7 @@ BASE_FEATURE_ENUM_PARAM(BackupRefPtrEnabledProcesses,
kBackupRefPtrEnabledProcessesParam,
&kPartitionAllocBackupRefPtr,
kPAFeatureEnabledProcessesStr,
-#if PA_BUILDFLAG(IS_ANDROID) && !PA_BUILDFLAG(IS_DESKTOP_ANDROID)
+#if PA_BUILDFLAG(IS_ANDROID) && !PA_BUILDFLAG(IS_DESKTOP_ANDROID_FALSE)
BackupRefPtrEnabledProcesses::kNonRenderer,
#else
BackupRefPtrEnabledProcesses::kAllProcesses,
diff --git a/base/allocator/partition_allocator/src/partition_alloc/BUILD.gn b/base/allocator/partition_allocator/src/partition_alloc/BUILD.gn
--- a/base/allocator/partition_allocator/src/partition_alloc/BUILD.gn
+++ b/base/allocator/partition_allocator/src/partition_alloc/BUILD.gn
@@ -165,7 +165,8 @@ pa_buildflag_header("buildflags") {
"HAS_64_BIT_POINTERS=$has_64_bit_pointers",
"HAS_MEMORY_TAGGING=$has_memory_tagging",
"IS_ANDROID=$is_android",
- "IS_DESKTOP_ANDROID=$is_desktop_android",
+ "IS_DESKTOP_ANDROID_FALSE=false",
+ "IS_DESKTOP_ANDROID_CROMITE=$is_desktop_android_cromite",
"IS_CASTOS=$is_castos",
"IS_CAST_ANDROID=$is_cast_android",
"IS_CHROMEOS=$is_chromeos",
diff --git a/base/android/device_info.cc b/base/android/device_info.cc
--- a/base/android/device_info.cc
+++ b/base/android/device_info.cc
@@ -262,6 +299,15 @@ diff --git a/base/android/java/src/org/chromium/base/DeviceInfo.java b/base/andr
public static int getVulkanDeqpLevel() {
return getInstance().mIDeviceInfo.vulkanDeqpLevel;
}
@@ -283,7 +287,7 @@ public final class DeviceInfo {
}
mIDeviceInfo.isDesktop =
- (BuildConfig.IS_DESKTOP_ANDROID && pm.hasSystemFeature(PackageManager.FEATURE_PC))
+ (BuildConfig.IS_DESKTOP_ANDROID_FALSE && pm.hasSystemFeature(PackageManager.FEATURE_PC))
|| CommandLine.getInstance().hasSwitch(BaseSwitches.FORCE_DESKTOP_ANDROID);
// Detect whether device is foldable.
diff --git a/build/BUILD.gn b/build/BUILD.gn
--- a/build/BUILD.gn
+++ b/build/BUILD.gn
@@ -274,6 +320,25 @@ diff --git a/build/BUILD.gn b/build/BUILD.gn
}
if (build_with_chromium) {
diff --git a/build/android/java/templates/BuildConfig.template b/build/android/java/templates/BuildConfig.template
--- a/build/android/java/templates/BuildConfig.template
+++ b/build/android/java/templates/BuildConfig.template
@@ -110,10 +110,12 @@ public class BuildConfig {
// DeviceInfo.java since this is the source of truth for isDesktop check.
// (TODO: crbug.com/430983585) Clean up this flag once the desktop
// build is fully functional.
-#if defined(_IS_DESKTOP_ANDROID)
- public static boolean IS_DESKTOP_ANDROID = true;
+#if defined(_IS_DESKTOP_ANDROID_CROMITE)
+ public static boolean IS_DESKTOP_ANDROID_CROMITE = true;
+ public static boolean IS_DESKTOP_ANDROID_FALSE;
#else
- public static boolean IS_DESKTOP_ANDROID;
+ public static boolean IS_DESKTOP_ANDROID_CROMITE;
+ public static boolean IS_DESKTOP_ANDROID_FALSE;
#endif
// Use to check if proguard is enabled for the current build.
diff --git a/build/config/android/rules.gni b/build/config/android/rules.gni
--- a/build/config/android/rules.gni
+++ b/build/config/android/rules.gni
@@ -355,7 +420,7 @@ diff --git a/cc/resources/ui_resource_bitmap.cc b/cc/resources/ui_resource_bitma
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -971,7 +971,7 @@ if (_is_default_toolchain) {
@@ -970,7 +970,7 @@ if (_is_default_toolchain) {
"//chrome/browser/password_entry_edit/android/internal:java",
]
@@ -364,7 +429,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
deps +=
[ "//chrome/browser/ui/android/extensions/windowing/internal:java" ]
} else {
@@ -2342,7 +2342,7 @@ if (_is_default_toolchain) {
@@ -2341,7 +2341,7 @@ if (_is_default_toolchain) {
"//components/embedder_support/android:virtual_structure_javatests",
]
@@ -449,7 +514,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
@@ -1202,7 +1202,7 @@ public abstract class AppMenuPropertiesDelegateImpl implements AppMenuProperties
@@ -1191,7 +1191,7 @@ public abstract class AppMenuPropertiesDelegateImpl implements AppMenuProperties
&& !shouldShowReaderModePrefs(currentTab)
&& currentTab != null
&& currentTab.getWebContents() != null
@@ -580,7 +645,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/M
+ @Override
+ public void onClick(DialogInterface dialog, int id) {
+ Profile profile = ProfileManager.getLastUsedRegularProfile();
+ ExtensionActionsBridge.get(profile).clearExtensionData();
+ // ExtensionActionsBridge.get(profile).clearExtensionData();
+ }
+ });
+ builder.setNegativeButton(R.string.cancel, null);
@@ -617,7 +682,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/RequestDesk
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java
@@ -867,7 +867,7 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
@@ -863,7 +863,7 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
return false;
}
@@ -629,6 +694,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
@@ -647,7 +647,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
});
mCrossDeviceSettingImporter =
- DeviceInfo.isDesktop()
+ ((true))
? null
: new CrossDeviceSettingImporter(
activityLifecycleDispatcher,
@@ -2133,7 +2133,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
} else if (id == R.id.toggle_bookmark_bar) {
// isActivityStateBookmarkBarCompatible already checks the flag sAndroidBookmarkBar.
@@ -682,7 +756,7 @@ diff --git a/chrome/app/theme/theme_resources.grd b/chrome/app/theme/theme_resou
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -7615,7 +7615,7 @@ static_library("browser") {
@@ -7613,7 +7613,7 @@ static_library("browser") {
deps += [ "//media/mojo/mojom:remoting" ]
}
@@ -691,7 +765,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
sources += [ "download/download_crx_util_android.cc" ]
}
@@ -7946,7 +7946,7 @@ static_library("browser") {
@@ -7944,7 +7944,7 @@ static_library("browser") {
# TODO(https://crbug.com/356905053): Add more dependencies here and merge this
# block with the `enable_extensions` block above.
@@ -700,7 +774,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
sources += [
# TODO(https://crbug.com/356905053): These files are temporary workarounds
# allow for a lightweight extensions runtime in desktop-android builds.
@@ -8718,7 +8718,7 @@ static_library("browser_generated_files") {
@@ -8716,7 +8716,7 @@ static_library("browser_generated_files") {
[ "//chrome/browser/ui/webui/new_tab_page/foo:mojo_bindings" ]
}
}
@@ -784,6 +858,18 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows
mDevicePrefsListener =
(sharedPreferences, key) -> {
if (key != null
diff --git a/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserControlsUtils.java b/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserControlsUtils.java
--- a/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserControlsUtils.java
+++ b/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserControlsUtils.java
@@ -43,7 +43,7 @@ public class BrowserControlsUtils {
return false;
}
- return DeviceInfo.isDesktop()
+ return DeviceInfo.isDesktopFalse()
|| DeviceFormFactor.isNonMultiDisplayContextOnLargeTablet(context);
}
diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc
--- a/chrome/browser/browser_process_impl.cc
+++ b/chrome/browser/browser_process_impl.cc
@@ -967,7 +1053,7 @@ diff --git a/chrome/browser/chrome_browser_interface_binders_webui.cc b/chrome/b
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
--- a/chrome/browser/chrome_content_browser_client.cc
+++ b/chrome/browser/chrome_content_browser_client.cc
@@ -4308,7 +4308,7 @@ base::OnceClosure ChromeContentBrowserClient::SelectClientCertificate(
@@ -4307,7 +4307,7 @@ base::OnceClosure ChromeContentBrowserClient::SelectClientCertificate(
// TODO(wenz): This should instead proceed with the selected certificate
// when there are matching certificates in the OS.
#if BUILDFLAG(ENABLE_EXTENSIONS) && \
@@ -976,7 +1062,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
if (matching_certificates.empty() && nonmatching_certificates.empty()) {
extensions::ProcessMap* process_map =
extensions::ProcessMap::Get(profile);
@@ -4540,7 +4540,7 @@ void ChromeContentBrowserClient::OverrideWebPreferences(
@@ -4539,7 +4539,7 @@ void ChromeContentBrowserClient::OverrideWebPreferences(
// Fill font preferences. These are not registered on Android unless we're built
// with extensions (the chrome.fontSettings API can change these).
// - http://crbug.com/40337093, http://crbug.com/41304476.
@@ -1122,6 +1208,19 @@ diff --git a/chrome/browser/extensions/api/identity/web_auth_flow.h b/chrome/bro
base::WeakPtrFactory<WebAuthFlow> weak_factory_{this};
#endif
};
diff --git a/chrome/browser/extensions/api/tabs/tabs_event_router.cc b/chrome/browser/extensions/api/tabs/tabs_event_router.cc
--- a/chrome/browser/extensions/api/tabs/tabs_event_router.cc
+++ b/chrome/browser/extensions/api/tabs/tabs_event_router.cc
@@ -338,6 +338,9 @@ void TabsEventRouter::DispatchEvent(
void TabsEventRouter::OnTabAdded(tabs::TabInterface* tab, int index) {
content::WebContents* contents = tab->GetContents();
+#if BUILDFLAG(IS_ANDROID)
+ if (!contents) return;
+#endif
CHECK(contents);
// Check if we've ever seen this tab.
diff --git a/chrome/browser/extensions/extension_management.cc b/chrome/browser/extensions/extension_management.cc
--- a/chrome/browser/extensions/extension_management.cc
+++ b/chrome/browser/extensions/extension_management.cc
@@ -1200,6 +1299,36 @@ diff --git a/chrome/browser/feedback/android/java/src/org/chromium/chrome/browse
type = TYPE_DESKTOP;
} else if (DeviceFormFactor.isNonMultiDisplayContextOnTablet(
ContextUtils.getApplicationContext())) {
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
@@ -757,7 +757,7 @@ public abstract class ChromeFeatureList {
public static final CachedFlag sAndroidNewMediaPicker =
newCachedFlag(ANDROID_NEW_MEDIA_PICKER, false);
public static final CachedFlag sAndroidOpenIncognitoAsWindow =
- newCachedFlag(ANDROID_OPEN_INCOGNITO_AS_WINDOW, BuildConfig.IS_DESKTOP_ANDROID, true);
+ newCachedFlag(ANDROID_OPEN_INCOGNITO_AS_WINDOW, BuildConfig.IS_DESKTOP_ANDROID_FALSE, false);
public static final CachedFlag sAndroidProgressBarVisualUpdate =
newCachedFlag(
ANDROID_PROGRESS_BAR_VISUAL_UPDATE,
@@ -884,7 +884,7 @@ public abstract class ChromeFeatureList {
public static final CachedFlag sChromeItemPickerUi =
newCachedFlag(CHROME_ITEM_PICKER_UI, /* defaultValue= */ false);
public static final CachedFlag sChromeNativeUrlOverriding =
- newCachedFlag(CHROME_NATIVE_URL_OVERRIDING, BuildConfig.IS_DESKTOP_ANDROID);
+ newCachedFlag(CHROME_NATIVE_URL_OVERRIDING, BuildConfig.IS_DESKTOP_ANDROID_FALSE);
public static final CachedFlag sClampAutomotiveScaling =
newCachedFlag(CLAMP_AUTOMOTIVE_SCALING, true);
public static final CachedFlag sClankStartupLatencyInjection =
@@ -1040,7 +1040,7 @@ public abstract class ChromeFeatureList {
newCachedFlag(POWER_SAVING_MODE_BROADCAST_RECEIVER_IN_BACKGROUND, true);
public static final CachedFlag sPriceChangeModule = newCachedFlag(PRICE_CHANGE_MODULE, true);
public static final CachedFlag sProtectRecentlyVisibleTab =
- newCachedFlag(PROTECT_RECENTLY_VISIBLE_TAB, BuildConfig.IS_DESKTOP_ANDROID);
+ newCachedFlag(PROTECT_RECENTLY_VISIBLE_TAB, BuildConfig.IS_DESKTOP_ANDROID_CROMITE);
public static final CachedFlag sReportNotificationContentDetectionData =
newCachedFlag(
REPORT_NOTIFICATION_CONTENT_DETECTION_DATA,
diff --git a/chrome/browser/media/router/BUILD.gn b/chrome/browser/media/router/BUILD.gn
--- a/chrome/browser/media/router/BUILD.gn
+++ b/chrome/browser/media/router/BUILD.gn
@@ -1314,6 +1443,18 @@ diff --git a/chrome/browser/media/webrtc/webrtc_event_log_manager.cc b/chrome/br
return std::make_unique<GzippedLogFileWriterFactory>(
std::make_unique<GzipLogCompressorFactory>(
std::make_unique<DefaultGzippedSizeEstimator::Factory>()));
diff --git a/chrome/browser/open_in_app/android/java/src/org/chromium/chrome/browser/open_in_app/OpenInAppUtils.java b/chrome/browser/open_in_app/android/java/src/org/chromium/chrome/browser/open_in_app/OpenInAppUtils.java
--- a/chrome/browser/open_in_app/android/java/src/org/chromium/chrome/browser/open_in_app/OpenInAppUtils.java
+++ b/chrome/browser/open_in_app/android/java/src/org/chromium/chrome/browser/open_in_app/OpenInAppUtils.java
@@ -14,7 +14,7 @@ public class OpenInAppUtils {
/** Returns whether Open in App is available. */
public static boolean isOpenInAppAvailable() {
- return ChromeFeatureList.sDesktopAndroidLinkCapturing.isEnabled() && DeviceInfo.isDesktop();
+ return ChromeFeatureList.sDesktopAndroidLinkCapturing.isEnabled() && DeviceInfo.isDesktopFalse();
}
private OpenInAppUtils() {}
diff --git a/chrome/browser/policy/policy_value_and_status_aggregator.cc b/chrome/browser/policy/policy_value_and_status_aggregator.cc
--- a/chrome/browser/policy/policy_value_and_status_aggregator.cc
+++ b/chrome/browser/policy/policy_value_and_status_aggregator.cc
@@ -1456,19 +1597,19 @@ diff --git a/chrome/browser/resources/extensions/item_list.css b/chrome/browser/
}
#container {
@@ -28,6 +33,12 @@
padding-top: 14px;
@@ -20,7 +25,12 @@
#content-wrapper {
min-width: var(--extensions-card-width);
+<if expr="is_android">
+ padding: 0px !important;
+</if>
+<if expr="not is_android">
padding: 24px 60px 64px;
+</if>
}
+<if expr="is_android">
+#content-wrapper {
+ padding: 0px !important;
+}
+</if>
+
.empty-list-message {
color: #6e6e6e;
font-size: 123%; /* Should be 16px when 100% is 13px. */
#content-wrapper:has(extensions-review-panel),
diff --git a/chrome/browser/resources/extensions/toolbar.html.ts b/chrome/browser/resources/extensions/toolbar.html.ts
--- a/chrome/browser/resources/extensions/toolbar.html.ts
+++ b/chrome/browser/resources/extensions/toolbar.html.ts
@@ -1486,6 +1627,27 @@ diff --git a/chrome/browser/resources/extensions/toolbar.html.ts b/chrome/browse
<div class="more-actions">
<span>$i18n{toolbarExtensionUpdateEnabled}
<span id="need-update" ?hidden="${!this.shouldShowRelaunchDialog}">$i18n{toolbarExtensionUpdateEnabledNeedRestart}</span>
diff --git a/chrome/browser/sessions/session_restore_android.cc b/chrome/browser/sessions/session_restore_android.cc
--- a/chrome/browser/sessions/session_restore_android.cc
+++ b/chrome/browser/sessions/session_restore_android.cc
@@ -23,7 +23,7 @@
namespace {
-#if BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS)
+#if BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS_FALSE)
BrowserWindowInterface::Type BrowserTypeFromWindowType(
sessions::SessionWindow::WindowType type) {
switch (type) {
@@ -109,7 +109,7 @@ void SessionRestore::RestoreForeignSessionWindows(
std::vector<const sessions::SessionWindow*>::const_iterator begin,
std::vector<const sessions::SessionWindow*>::const_iterator end,
base::OnceCallback<void(std::vector<BrowserWindowInterface*>)> callback) {
-#if BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS)
+#if BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS_FALSE)
// The extensions sessions API can restore foreign windows.
size_t window_count = std::distance(begin, end);
// Wait for `window_count` callbacks.
diff --git a/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/ChromeProvidedSharingOptionsProviderBase.java b/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/ChromeProvidedSharingOptionsProviderBase.java
--- a/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/ChromeProvidedSharingOptionsProviderBase.java
+++ b/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/ChromeProvidedSharingOptionsProviderBase.java
@@ -1690,6 +1852,18 @@ diff --git a/chrome/browser/ui/android/desktop_site/java/src/org/chromium/chrome
return;
}
PrefService prefService = UserPrefs.get(profile);
diff --git a/chrome/browser/ui/android/desktop_windowing/java/src/org/chromium/chrome/browser/ui/desktop_windowing/TopControlsLockCoordinator.java b/chrome/browser/ui/android/desktop_windowing/java/src/org/chromium/chrome/browser/ui/desktop_windowing/TopControlsLockCoordinator.java
--- a/chrome/browser/ui/android/desktop_windowing/java/src/org/chromium/chrome/browser/ui/desktop_windowing/TopControlsLockCoordinator.java
+++ b/chrome/browser/ui/android/desktop_windowing/java/src/org/chromium/chrome/browser/ui/desktop_windowing/TopControlsLockCoordinator.java
@@ -100,7 +100,7 @@ public class TopControlsLockCoordinator {
private boolean shouldLockTopControls() {
// Desktop form factor always take priority.
// TODO(crbug.com/450970998): Explore if we can set this for all large tablets.
- if (DeviceInfo.isDesktop()) return true;
+ if (DeviceInfo.isDesktopFalse()) return true;
// Enable lock in desktop window mode. Only relevant when the device supports it.
if (mDesktopWindowStateManager != null) {
diff --git a/chrome/browser/ui/android/extensions/BUILD.gn b/chrome/browser/ui/android/extensions/BUILD.gn
--- a/chrome/browser/ui/android/extensions/BUILD.gn
+++ b/chrome/browser/ui/android/extensions/BUILD.gn
@@ -1760,6 +1934,17 @@ diff --git a/chrome/browser/ui/android/extensions/extension_actions_bridge.h b/c
jni_zero::ScopedJavaLocalRef<jobject> HandleKeyDownEvent(
JNIEnv* env,
const ui::KeyEventAndroid& key_event);
diff --git a/chrome/browser/ui/android/extensions/extensions_toolbar_android.cc b/chrome/browser/ui/android/extensions/extensions_toolbar_android.cc
--- a/chrome/browser/ui/android/extensions/extensions_toolbar_android.cc
+++ b/chrome/browser/ui/android/extensions/extensions_toolbar_android.cc
@@ -152,6 +152,7 @@ base::android::ScopedJavaLocalRef<jobject> ExtensionsToolbarAndroid::GetAction(
const ToolbarActionsModel::ActionId& action_id) {
ToolbarActionViewModel* action =
toolbar_view_model_->GetActionModelForId(action_id);
+ if (!action) return nullptr;
return Java_ExtensionAction_Constructor(
env, action_id, base::UTF16ToUTF8(action->GetActionName()));
}
diff --git a/chrome/browser/ui/android/extensions/java/res/layout/extensions_menu.xml b/chrome/browser/ui/android/extensions/java/res/layout/extensions_menu.xml
--- a/chrome/browser/ui/android/extensions/java/res/layout/extensions_menu.xml
+++ b/chrome/browser/ui/android/extensions/java/res/layout/extensions_menu.xml
@@ -1841,6 +2026,66 @@ diff --git a/chrome/browser/ui/android/extensions/windowing/internal/BUILD.gn b/
source_set("internal") {
sources = [
diff --git a/chrome/browser/ui/android/extensions/windowing/internal/extension_window_controller_bridge.cc b/chrome/browser/ui/android/extensions/windowing/internal/extension_window_controller_bridge.cc
--- a/chrome/browser/ui/android/extensions/windowing/internal/extension_window_controller_bridge.cc
+++ b/chrome/browser/ui/android/extensions/windowing/internal/extension_window_controller_bridge.cc
@@ -69,12 +69,13 @@ ExtensionWindowControllerBridge::ExtensionWindowControllerBridge(
java_extension_window_controller_bridge,
BrowserWindowInterface* browser_window)
: extension_window_controller_(
- BrowserExtensionWindowController(browser_window)) {
+ std::make_unique<extensions::BrowserExtensionWindowController>(browser_window)) {
java_extension_window_controller_bridge_.Reset(
env, java_extension_window_controller_bridge);
}
ExtensionWindowControllerBridge::~ExtensionWindowControllerBridge() {
+ extension_window_controller_.reset();
Java_ExtensionWindowControllerBridgeImpl_clearNativePtr(
AttachCurrentThread(), java_extension_window_controller_bridge_);
}
@@ -84,22 +85,22 @@ void ExtensionWindowControllerBridge::Destroy(JNIEnv* env) {
}
void ExtensionWindowControllerBridge::OnTaskBoundsChanged(JNIEnv* env) {
- extension_window_controller_.NotifyWindowBoundsChanged();
+ extension_window_controller_->NotifyWindowBoundsChanged();
}
void ExtensionWindowControllerBridge::OnTaskFocusChanged(JNIEnv* env,
bool has_focus) {
- extension_window_controller_.NotifyWindowFocusChanged(has_focus);
+ extension_window_controller_->NotifyWindowFocusChanged(has_focus);
}
int ExtensionWindowControllerBridge::GetExtensionWindowIdForTesting(
JNIEnv* env) {
- return extension_window_controller_.GetWindowId();
+ return extension_window_controller_->GetWindowId();
}
-const BrowserExtensionWindowController&
-ExtensionWindowControllerBridge::GetExtensionWindowControllerForTesting() {
- return extension_window_controller_;
-}
+// const BrowserExtensionWindowController&
+// ExtensionWindowControllerBridge::GetExtensionWindowControllerForTesting() {
+// return extension_window_controller_;
+// }
DEFINE_JNI(ExtensionWindowControllerBridgeImpl)
diff --git a/chrome/browser/ui/android/extensions/windowing/internal/extension_window_controller_bridge.h b/chrome/browser/ui/android/extensions/windowing/internal/extension_window_controller_bridge.h
--- a/chrome/browser/ui/android/extensions/windowing/internal/extension_window_controller_bridge.h
+++ b/chrome/browser/ui/android/extensions/windowing/internal/extension_window_controller_bridge.h
@@ -64,7 +64,7 @@ class ExtensionWindowControllerBridge final {
base::android::ScopedJavaGlobalRef<jobject>
java_extension_window_controller_bridge_;
- extensions::BrowserExtensionWindowController extension_window_controller_;
+ std::unique_ptr<extensions::BrowserExtensionWindowController> extension_window_controller_;
raw_ptr<WindowControllerListObserverForTesting>
window_controller_list_observer_for_testing_;
diff --git a/chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Enable-extensions-Android.grdp b/chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Enable-extensions-Android.grdp
new file mode 100644
--- /dev/null
@@ -2466,6 +2711,15 @@ diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
sources += [
# These API tests can't be part of platform_browser_tests because they
# run in interactive_ui_tests on Win/Mac/Linux.
@@ -6333,7 +6333,7 @@ template("performance_test_suite_template_base") {
}
args += [ "--chromium-output-directory=@WrappedPath(.)" ]
- if (is_desktop_android) {
+ if (is_desktop_android_cromite) {
data = [ "//third_party/crossbench-web-tests" ]
}
@@ -8187,7 +8187,7 @@ test("unit_tests") {
deps += [ "//chrome/browser/android/extensions:android" ]
}
@@ -2475,6 +2729,15 @@ diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
deps += [
# Unit test targets for //chrome/browser/ui/browser_window/internal.
#
@@ -10039,7 +10039,7 @@ test("unit_tests") {
]
}
- if (!is_android || enable_desktop_android_extensions) {
+ if (!is_android || enable_desktop_android_extensions_cromite) {
sources +=
[ "../browser/policy/developer_tools_policy_handler_unittest.cc" ]
}
diff --git a/chrome/version.gni b/chrome/version.gni
--- a/chrome/version.gni
+++ b/chrome/version.gni
@@ -2693,6 +2956,15 @@ diff --git a/components/policy/core/browser/cloud/user_policy_signin_service_bas
diff --git a/components/policy/core/browser/configuration_policy_handler_list.cc b/components/policy/core/browser/configuration_policy_handler_list.cc
--- a/components/policy/core/browser/configuration_policy_handler_list.cc
+++ b/components/policy/core/browser/configuration_policy_handler_list.cc
@@ -101,7 +101,7 @@ void ConfigurationPolicyHandlerList::PrepareForDisplaying(
bool ConfigurationPolicyHandlerList::IsBlockedDesktopAndroidPolicy(
const std::string& policy_name) const {
-#if BUILDFLAG(IS_DESKTOP_ANDROID)
+#if BUILDFLAG(IS_DESKTOP_ANDROID_FALSE)
// The allowlist is not used if kDesktopAndroidPolicy is off. So that all
// policies are allowed by default without Finch config.
if (!base::FeatureList::IsEnabled(features::kDesktopAndroidPolicy)) {
@@ -173,7 +173,7 @@ bool ConfigurationPolicyHandlerList::IsBlockedFuturePolicy(
const base::flat_set<std::string>& future_policies_allowed,
const PolicyDetails& policy_details,
@@ -3465,6 +3737,15 @@ diff --git a/ui/android/javatests/src/org/chromium/ui/test/util/UiRestriction.ja
}
return sIsDesktop;
}
@@ -50,7 +50,7 @@ public final class UiRestriction {
if (sIsDesktopFreeform == null) {
var packageManager = ContextUtils.getApplicationContext().getPackageManager();
sIsDesktopFreeform =
- BuildConfig.IS_DESKTOP_ANDROID
+ BuildConfig.IS_DESKTOP_ANDROID_FALSE
&& packageManager.hasSystemFeature(PackageManager.FEATURE_PC);
}
diff --git a/ui/base/accelerators/command.cc b/ui/base/accelerators/command.cc
--- a/ui/base/accelerators/command.cc
+++ b/ui/base/accelerators/command.cc
@@ -3549,19 +3830,16 @@ diff --git a/ui/webui/resources/cr_elements/BUILD.gn b/ui/webui/resources/cr_ele
diff --git a/ui/webui/resources/cr_elements/cr_toolbar/cr_toolbar.css b/ui/webui/resources/cr_elements/cr_toolbar/cr_toolbar.css
--- a/ui/webui/resources/cr_elements/cr_toolbar/cr_toolbar.css
+++ b/ui/webui/resources/cr_elements/cr_toolbar/cr_toolbar.css
@@ -126,6 +126,12 @@ picture {
@@ -123,6 +123,9 @@ picture {
}
#menuButton ~ h1 {
+<if expr="is_android">
+ font-size: 15px !important;
+</if>
margin-inline-start: 0;
}
+<if expr="is_android">
+#menuButton ~ h1 {
+ font-size: 15px !important;
+}
+</if>
+
:host([always-show-logo]) picture,
:host(:not([narrow])) picture {
display: initial;
diff --git a/ui/webui/resources/css/BUILD.gn b/ui/webui/resources/css/BUILD.gn
--- a/ui/webui/resources/css/BUILD.gn
+++ b/ui/webui/resources/css/BUILD.gn