4160 lines
210 KiB
Diff
4160 lines
210 KiB
Diff
From: uazo <uazo@users.noreply.github.com>
|
||
Date: Thu, 6 Nov 2025 13:21:24 +0000
|
||
Subject: Experimental support for extensions on Android
|
||
|
||
Enable experimental support for extensions in Android.
|
||
|
||
The feature is disabled by default: to enable it, go
|
||
to Settings/Developer Options.
|
||
A Clear all data used by the extension button is available in App
|
||
info/Storage and cache/Clear storage to completely remove the extensions
|
||
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 +-
|
||
.../src/partition_alloc/BUILD.gn | 2 +
|
||
base/android/device_info.cc | 8 +-
|
||
base/android/device_info.h | 3 +-
|
||
.../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 +-
|
||
build/config/compiler/pgo/BUILD.gn | 2 +-
|
||
cc/resources/ui_resource_bitmap.cc | 2 +-
|
||
chrome/android/BUILD.gn | 4 +-
|
||
chrome/android/chrome_public_apk_tmpl.gni | 2 +-
|
||
chrome/android/java/AndroidManifest.xml | 3 -
|
||
.../java/res/layout/manage_space_activity.xml | 14 +++-
|
||
.../java/res/xml/developer_preferences.xml | 6 ++
|
||
.../browser/ChromeBaseAppCompatActivity.java | 2 +-
|
||
.../chrome/browser/ChromeTabbedActivity.java | 2 +-
|
||
.../chrome/browser/app/ChromeActivity.java | 2 +-
|
||
.../AppMenuPropertiesDelegateImpl.java | 2 +-
|
||
.../settings/AppearanceSettingsFragment.java | 2 +-
|
||
.../layouts/LayoutManagerChrome.java | 2 +-
|
||
.../overlays/strip/StripLayoutUtils.java | 2 +-
|
||
.../IncognitoCustomTabIntentDataProvider.java | 4 +
|
||
.../DesktopSiteSettingsIphController.java | 2 +-
|
||
.../ExternalNavigationDelegateImpl.java | 3 +
|
||
.../browser/multiwindow/MultiWindowUtils.java | 2 +-
|
||
.../ChromeSiteSettingsDelegate.java | 2 +-
|
||
.../site_settings/ManageSpaceActivity.java | 20 +++++
|
||
...InterceptNavigationDelegateClientImpl.java | 2 +-
|
||
.../browser/tab/RequestDesktopUtils.java | 2 +-
|
||
.../TabbedAppMenuPropertiesDelegate.java | 2 +-
|
||
.../tabbed_mode/TabbedRootUiCoordinator.java | 4 +-
|
||
.../browser/toolbar/ToolbarManager.java | 2 +-
|
||
chrome/app/extensions_strings.grdp | 7 ++
|
||
chrome/app/theme/theme_resources.grd | 4 +-
|
||
chrome/browser/BUILD.gn | 4 +-
|
||
chrome/browser/about_flags.cc | 4 +
|
||
...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 | 76 +++++++++----------
|
||
.../chrome_browser_interface_binders_webui.cc | 4 +-
|
||
.../browser/chrome_content_browser_client.cc | 4 +-
|
||
chrome/browser/devtools/BUILD.gn | 2 +-
|
||
chrome/browser/download/BUILD.gn | 2 +-
|
||
.../chrome_download_manager_delegate.cc | 2 +-
|
||
.../download_offline_content_provider.cc | 4 +-
|
||
chrome/browser/extensions/BUILD.gn | 3 +-
|
||
.../chrome_extensions_api_client_android.cc | 2 +-
|
||
.../extensions/api/identity/web_auth_flow.cc | 6 +-
|
||
.../extensions/api/identity/web_auth_flow.h | 4 +-
|
||
.../browser/extensions/api/tabs/tabs_api.cc | 3 +
|
||
.../extensions/api/tabs/tabs_event_router.cc | 22 +++++-
|
||
.../browser_extension_window_controller.cc | 19 ++++-
|
||
.../browser_extension_window_controller.h | 6 +-
|
||
.../extensions/extension_management.cc | 8 +-
|
||
.../browser/extensions/extension_management.h | 2 +-
|
||
.../browser/extensions/extension_tab_util.cc | 9 ++-
|
||
chrome/browser/extensions/extension_util.cc | 11 +++
|
||
.../chrome/browser/feed/FeedFeatures.java | 2 +-
|
||
.../feedback/DeviceInfoFeedbackSource.java | 2 +-
|
||
chrome/browser/finds/core/finds_tab_helper.cc | 2 +-
|
||
.../browser/flags/ChromeFeatureList.java | 6 +-
|
||
chrome/browser/glic/public/features.cc | 2 +-
|
||
.../glic/service/glic_instance_impl.cc | 2 +-
|
||
.../browser/incognito/IncognitoUtils.java | 2 +-
|
||
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 +-
|
||
.../NtpCustomizationUtils.java | 2 +-
|
||
.../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 | 5 +-
|
||
chrome/browser/profiles/profile_destroyer.cc | 2 +-
|
||
chrome/browser/resources/BUILD.gn | 2 +-
|
||
chrome/browser/resources/discards/BUILD.gn | 2 +-
|
||
.../resources/extensions/detail_view.css | 6 ++
|
||
.../resources/extensions/extensions.html | 8 +-
|
||
.../resources/extensions/item_list.css | 10 +++
|
||
.../browser/resources/extensions/manager.css | 4 +
|
||
.../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 +-
|
||
.../common/task_manager_features.cc | 2 +-
|
||
chrome/browser/ui/BUILD.gn | 4 +-
|
||
.../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 +
|
||
.../res/layout/extensions_menu_footer.xml | 3 +-
|
||
.../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 | 2 +-
|
||
.../android/tab_model/tab_model_test_helper.h | 2 +-
|
||
.../toolbar/java/res/layout/toolbar_phone.xml | 6 ++
|
||
.../extensions/ExtensionsMenuCoordinator.java | 8 +-
|
||
.../ExtensionsMenuItemProperties.java | 4 +
|
||
.../ExtensionsMenuItemViewBinder.java | 2 +
|
||
.../extensions/ExtensionsMenuMediator.java | 9 ++-
|
||
.../ExtensionsToolbarCoordinatorImpl.java | 9 ++-
|
||
chrome/browser/ui/browser_window/BUILD.gn | 2 +-
|
||
.../ChromeAndroidTaskTrackerFactory.java | 2 +-
|
||
chrome/browser/ui/prefs/BUILD.gn | 4 +-
|
||
chrome/browser/ui/prefs/prefs_tab_helper.cc | 8 +-
|
||
.../browser/ui/webui/chrome_web_ui_configs.cc | 4 +-
|
||
.../browser/ui/webui/current_channel_logo.cc | 3 +-
|
||
.../browser/ui/webui/discards/discards_ui.cc | 8 +-
|
||
chrome/chrome_paks.gni | 2 +-
|
||
chrome/common/chrome_features.cc | 2 +-
|
||
chrome/common/chrome_switches.cc | 2 +-
|
||
chrome/common/chrome_switches.h | 2 +-
|
||
chrome/common/extensions/api/api_sources.gni | 7 ++
|
||
chrome/common/webui_url_constants.cc | 2 +-
|
||
chrome/common/webui_url_constants.h | 2 +-
|
||
.../sandbox_status_extension_android.cc | 3 +-
|
||
.../sandbox_status_extension_android.h | 1 +
|
||
chrome/test/BUILD.gn | 22 +++---
|
||
chrome/version.gni | 4 +-
|
||
.../core/browser/host_content_settings_map.cc | 6 ++
|
||
.../embedder_support/view/ContentView.java | 2 +-
|
||
.../embedder_support/user_agent_utils.cc | 14 ++--
|
||
components/local_state/local_state_utils.cc | 2 +-
|
||
.../browser/android/media_router_android.cc | 2 +-
|
||
.../browser/android/media_router_android.h | 2 +-
|
||
.../media_router/browser/media_router.h | 4 +-
|
||
.../policy/CombinedPolicyProvider.java | 8 +-
|
||
.../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 | 4 +-
|
||
.../common/cloud/cloud_policy_constants.cc | 2 +-
|
||
components/policy/core/common/features.cc | 2 +-
|
||
.../policy/core/common/policy_merger.cc | 4 +-
|
||
.../installable/installable_icon_fetcher.cc | 6 +-
|
||
.../installable/installable_icon_fetcher.h | 2 +-
|
||
.../version/resources/about_version.html | 2 +-
|
||
.../selection/selection_popup_controller.cc | 5 ++
|
||
.../selection/selection_popup_controller.h | 1 +
|
||
content/browser/browser_main_loop.cc | 2 +-
|
||
.../render_widget_host_view_android.cc | 2 +-
|
||
.../browser/ContentUiEventHandler.java | 7 +-
|
||
.../SelectionPopupControllerImpl.java | 5 ++
|
||
content/public/common/content_features.cc | 4 +-
|
||
.../render_frame_media_playback_options.cc | 2 +-
|
||
.../about_flags_cc/Extensions-Android.inc | 12 +++
|
||
.../about_flags_cc/Webstore-protection.inc | 8 +-
|
||
...ntal-support-for-extensions-on-Android.inc | 1 +
|
||
extensions/browser/BUILD.gn | 4 +-
|
||
...browser_context_keyed_service_factories.cc | 2 +-
|
||
extensions/browser/api/system_cpu/BUILD.gn | 2 +-
|
||
.../api/web_request/permission_helper.cc | 2 +-
|
||
extensions/browser/extension_frame_host.cc | 8 ++
|
||
extensions/browser/extension_host.cc | 24 +++++-
|
||
extensions/buildflags/BUILD.gn | 3 +-
|
||
extensions/buildflags/buildflags.gni | 4 +-
|
||
extensions/common/api/schema.gni | 2 +-
|
||
extensions/common/command.cc | 2 +-
|
||
extensions/common/extension_features.cc | 10 ++-
|
||
extensions/common/extension_features.h | 6 +-
|
||
extensions/common/extension_l10n_util.cc | 6 ++
|
||
extensions/common/features/feature.cc | 2 +-
|
||
.../default_locale_handler.cc | 3 +
|
||
.../renderer/bindings/api_binding_util.cc | 2 +-
|
||
gpu/config/gpu_finch_features.cc | 4 +-
|
||
.../chromium/media/AudioManagerAndroid.java | 2 +-
|
||
net/features.gni | 4 +-
|
||
skia/features.gni | 2 +-
|
||
third_party/blink/common/features.cc | 4 +-
|
||
.../renderer/modules/modules_initializer.cc | 4 +-
|
||
third_party/libvpx/BUILD.gn | 2 +-
|
||
tools/grit/grit_args.gni | 3 +-
|
||
.../cpp_bundle_generator.py | 2 +-
|
||
.../chromium/ui/base/SelectFileDialog.java | 2 +-
|
||
.../ui/widget/PopupSpecCalculator.java | 9 ++-
|
||
.../ui/test/util/UiDisableIfSkipCheck.java | 8 +-
|
||
.../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 | 2 +-
|
||
.../cr_components/cr_shortcut_input/BUILD.gn | 2 +-
|
||
.../cr_components/managed_footnote/BUILD.gn | 2 +-
|
||
ui/webui/resources/cr_elements/BUILD.gn | 2 +-
|
||
.../cr_elements/cr_toolbar/cr_toolbar.css | 3 +
|
||
ui/webui/resources/css/BUILD.gn | 2 +-
|
||
204 files changed, 657 insertions(+), 325 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
|
||
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Experimental-support-for-extensions-on-Android.inc
|
||
|
||
diff --git a/android_webview/BUILD.gn b/android_webview/BUILD.gn
|
||
--- a/android_webview/BUILD.gn
|
||
+++ b/android_webview/BUILD.gn
|
||
@@ -1315,7 +1315,7 @@ declare_args() {
|
||
# logic more easily on an emulator, so the decision to use the arm64
|
||
# orderfile for x64 (instead of arm32) is somewhat arbitrary. We just
|
||
# needed to use some real orderfile.
|
||
- if (is_desktop_android && current_cpu == "x64") {
|
||
+ if (is_desktop_android_false && current_cpu == "x64") {
|
||
# For Android Desktop x64, orderfile is disabled, see
|
||
# https://crbug.com/422005929.
|
||
webview_orderfile_path = ""
|
||
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
|
||
@@ -171,6 +171,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_FALSE=false",
|
||
+ "IS_DESKTOP_ANDROID_CROMITE=$is_desktop_android_cromite",
|
||
"IS_CASTOS=$is_castos",
|
||
"IS_CHROMEOS=$is_chromeos",
|
||
"IS_DEBUG=$partition_alloc_is_debug",
|
||
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
|
||
@@ -103,10 +103,14 @@ bool is_foldable() {
|
||
return get_device_info().isFoldable;
|
||
}
|
||
|
||
-bool is_desktop() {
|
||
+bool is_desktop_cromite() {
|
||
return get_device_info().isDesktop;
|
||
}
|
||
|
||
+bool is_desktop_false() {
|
||
+ return false;
|
||
+}
|
||
+
|
||
// Available only on Android T+.
|
||
int32_t vulkan_deqp_level() {
|
||
return get_device_info().vulkanDeqpLevel;
|
||
@@ -122,7 +126,7 @@ bool is_xr() {
|
||
// check) as a first choice, but fall back to this if not feasible.
|
||
bool is_tablet() {
|
||
return was_launched_on_large_display() && !is_tv() && !is_automotive() &&
|
||
- !is_desktop() && !is_xr();
|
||
+ !is_desktop_false() && !is_xr();
|
||
}
|
||
|
||
// This returns the cached value during initial startup. If you need this
|
||
diff --git a/base/android/device_info.h b/base/android/device_info.h
|
||
--- a/base/android/device_info.h
|
||
+++ b/base/android/device_info.h
|
||
@@ -29,7 +29,8 @@ BASE_EXPORT void Set(const IDeviceInfo& info);
|
||
BASE_EXPORT bool is_tv();
|
||
BASE_EXPORT bool is_automotive();
|
||
BASE_EXPORT bool is_foldable();
|
||
-BASE_EXPORT bool is_desktop();
|
||
+BASE_EXPORT bool is_desktop_cromite();
|
||
+BASE_EXPORT bool is_desktop_false();
|
||
// Available only on Android T+.
|
||
BASE_EXPORT int32_t vulkan_deqp_level();
|
||
BASE_EXPORT bool is_xr();
|
||
diff --git a/base/android/java/src/org/chromium/base/DeviceInfo.java b/base/android/java/src/org/chromium/base/DeviceInfo.java
|
||
--- a/base/android/java/src/org/chromium/base/DeviceInfo.java
|
||
+++ b/base/android/java/src/org/chromium/base/DeviceInfo.java
|
||
@@ -152,10 +152,14 @@ public final class DeviceInfo {
|
||
return getInstance().mIDeviceInfo.isFoldable;
|
||
}
|
||
|
||
- public static boolean isDesktop() {
|
||
+ public static boolean isDesktopCromite() {
|
||
return getInstance().mIDeviceInfo.isDesktop;
|
||
}
|
||
|
||
+ public static boolean isDesktopFalse() {
|
||
+ return false;
|
||
+ }
|
||
+
|
||
public static int getVulkanDeqpLevel() {
|
||
return getInstance().mIDeviceInfo.vulkanDeqpLevel;
|
||
}
|
||
@@ -320,7 +324,7 @@ public final class DeviceInfo {
|
||
mIDeviceInfo.isDesktop =
|
||
(sIsDesktopForTesting != null)
|
||
? sIsDesktopForTesting
|
||
- : (BuildConfig.IS_DESKTOP_ANDROID
|
||
+ : (BuildConfig.IS_DESKTOP_ANDROID_FALSE
|
||
&& pm.hasSystemFeature(PackageManager.FEATURE_PC))
|
||
|| CommandLine.getInstance()
|
||
.hasSwitch(BaseSwitches.FORCE_DESKTOP_ANDROID);
|
||
diff --git a/build/BUILD.gn b/build/BUILD.gn
|
||
--- a/build/BUILD.gn
|
||
+++ b/build/BUILD.gn
|
||
@@ -128,7 +128,7 @@ buildflag_header("ios_buildflags") {
|
||
#
|
||
buildflag_header("android_buildflags") {
|
||
header = "android_buildflags.h"
|
||
- flags = [ "IS_DESKTOP_ANDROID=$is_desktop_android" ]
|
||
+ flags = [ "IS_DESKTOP_ANDROID_CROMITE=$is_desktop_android_cromite", "IS_DESKTOP_ANDROID_FALSE=false" ]
|
||
}
|
||
|
||
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
|
||
@@ -2048,8 +2048,8 @@ if (!is_robolectric && enable_java_templates) {
|
||
} else {
|
||
defines += [ "_LOGTAG_PREFIX=cr_" ]
|
||
}
|
||
- if (is_desktop_android) {
|
||
- defines += [ "_IS_DESKTOP_ANDROID" ]
|
||
+ if (is_desktop_android_cromite) {
|
||
+ defines += [ "_IS_DESKTOP_ANDROID_CROMITE" ]
|
||
}
|
||
|
||
if (enable_javaless_renderers) {
|
||
diff --git a/build/config/chrome_build.gni b/build/config/chrome_build.gni
|
||
--- a/build/config/chrome_build.gni
|
||
+++ b/build/config/chrome_build.gni
|
||
@@ -34,7 +34,8 @@ declare_args() {
|
||
|
||
# Set to true to set defaults that enable features on Android that are more
|
||
# typically available on desktop.
|
||
- is_desktop_android = false
|
||
+ is_desktop_android_cromite = is_android
|
||
+ is_desktop_android_false = false
|
||
|
||
if (is_android) {
|
||
# By default, Trichrome channels are compiled using separate package names.
|
||
@@ -56,12 +57,12 @@ is_internal_chrome_branded = enable_src_internal && is_chrome_branded
|
||
# Ensure !is_android implies !is_high_end_android.
|
||
is_high_end_android = is_high_end_android && is_android
|
||
|
||
-if (is_desktop_android) {
|
||
+if (is_desktop_android_cromite) {
|
||
assert(target_os == "android",
|
||
"Target must be Android to use is_desktop_android.")
|
||
|
||
# Disable for non-android secondary toolchains.
|
||
- is_desktop_android = is_android
|
||
+ is_desktop_android_cromite = is_android
|
||
}
|
||
|
||
declare_args() {
|
||
diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
|
||
--- a/build/config/compiler/BUILD.gn
|
||
+++ b/build/config/compiler/BUILD.gn
|
||
@@ -242,7 +242,7 @@ if (is_android) {
|
||
# logic more easily on an emulator, so the decision to use the arm64
|
||
# orderfile for x64 (instead of arm32) is somewhat arbitrary. We just
|
||
# needed to use some real orderfile.
|
||
- if (is_desktop_android && current_cpu == "x64") {
|
||
+ if (is_desktop_android_false && current_cpu == "x64") {
|
||
# For Android Desktop x64, orderfile is disabled, see
|
||
# https://crbug.com/422005929.
|
||
chrome_orderfile_path = ""
|
||
diff --git a/build/config/compiler/pgo/BUILD.gn b/build/config/compiler/pgo/BUILD.gn
|
||
--- a/build/config/compiler/pgo/BUILD.gn
|
||
+++ b/build/config/compiler/pgo/BUILD.gn
|
||
@@ -78,7 +78,7 @@ config("pgo_optimization_flags") {
|
||
_pgo_target = "linux"
|
||
} else if (is_android) {
|
||
# Use |current_cpu| and not |target_cpu|; for Android we may built both.
|
||
- if (is_desktop_android && current_cpu == "x64") {
|
||
+ if (is_desktop_android_false && current_cpu == "x64") {
|
||
_pgo_target = "android-desktop-x64"
|
||
} else if (current_cpu == "arm64") {
|
||
_pgo_target = "android-arm64"
|
||
diff --git a/cc/resources/ui_resource_bitmap.cc b/cc/resources/ui_resource_bitmap.cc
|
||
--- a/cc/resources/ui_resource_bitmap.cc
|
||
+++ b/cc/resources/ui_resource_bitmap.cc
|
||
@@ -101,7 +101,7 @@ UIResourceBitmap::UIResourceBitmap(const SkBitmap& skbitmap) {
|
||
#if BUILDFLAG(IS_ANDROID)
|
||
SkBitmap copy;
|
||
if (features::ShouldEnableDrDc() ||
|
||
- base::android::device_info::is_desktop()) {
|
||
+ base::android::device_info::is_desktop_false()) {
|
||
// On android desktop, where JavaBitmap ensures 4 byte alignment, uploading
|
||
// ALPHA_8 to angle_vulkan_image_backing may fail because it expects 1 byte
|
||
// alignment stride. Workaround via copying it to N32.
|
||
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
||
--- a/chrome/android/BUILD.gn
|
||
+++ b/chrome/android/BUILD.gn
|
||
@@ -991,7 +991,7 @@ if (_is_default_toolchain) {
|
||
"//chrome/browser/password_entry_edit/android/internal:java",
|
||
]
|
||
|
||
- if (is_desktop_android) {
|
||
+ if (is_desktop_android_cromite) {
|
||
deps +=
|
||
[ "//chrome/browser/ui/android/extensions/windowing/internal:java" ]
|
||
} else {
|
||
@@ -2394,7 +2394,7 @@ if (_is_default_toolchain) {
|
||
"//components/embedder_support/android:virtual_structure_javatests",
|
||
]
|
||
|
||
- if (is_desktop_android) {
|
||
+ if (is_desktop_android_cromite) {
|
||
deps += [
|
||
"//chrome/browser/ui/android/extensions/windowing/internal:javatests",
|
||
|
||
diff --git a/chrome/android/chrome_public_apk_tmpl.gni b/chrome/android/chrome_public_apk_tmpl.gni
|
||
--- a/chrome/android/chrome_public_apk_tmpl.gni
|
||
+++ b/chrome/android/chrome_public_apk_tmpl.gni
|
||
@@ -39,7 +39,7 @@ default_chrome_public_jinja_variables = [
|
||
"enable_vr=$enable_vr",
|
||
"enable_openxr=$enable_openxr",
|
||
"enable_arcore=$enable_arcore",
|
||
- "is_desktop_android=$is_desktop_android",
|
||
+ "is_desktop_android_cromite=$is_desktop_android_cromite",
|
||
"enable_screen_capture=$enable_screen_capture",
|
||
"zygote_preload_class=org.chromium.content_public.app.ZygotePreload",
|
||
]
|
||
diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml
|
||
--- a/chrome/android/java/AndroidManifest.xml
|
||
+++ b/chrome/android/java/AndroidManifest.xml
|
||
@@ -550,9 +550,6 @@ by a child template that "extends" this file.
|
||
android:theme="@style/Theme.Chromium.TabbedMode"
|
||
android:exported="true"
|
||
android:launchMode="singleTask"
|
||
- {% if is_desktop_android == "true" %}
|
||
- android:persistableMode="persistAcrossReboots"
|
||
- {% endif %}
|
||
{# We can only use blocks once in Jinja, for future substitutions we use
|
||
self.supports_video_persistence(). #}
|
||
{% block supports_video_persistence %}
|
||
diff --git a/chrome/android/java/res/layout/manage_space_activity.xml b/chrome/android/java/res/layout/manage_space_activity.xml
|
||
--- a/chrome/android/java/res/layout/manage_space_activity.xml
|
||
+++ b/chrome/android/java/res/layout/manage_space_activity.xml
|
||
@@ -94,5 +94,17 @@ found in the LICENSE file.
|
||
android:id="@+id/clear_all_data"
|
||
android:text="@string/storage_management_clear_all_data_button"
|
||
style="@style/ManageSpaceActivityButton" />
|
||
+
|
||
+ <!-- ======== Extension storage info ======== -->
|
||
+ <TextView
|
||
+ android:id="@+id/all_extension_description"
|
||
+ android:text="@string/storage_management_extension_storage_description"
|
||
+ android:paddingTop="12dp"
|
||
+ style="@style/ManageSpaceActivityExplanationTextView" />
|
||
+
|
||
+ <Button
|
||
+ android:id="@+id/clear_extension_data"
|
||
+ android:text="@string/storage_management_clear_all_extension_button"
|
||
+ style="@style/ManageSpaceActivityButton" />
|
||
</LinearLayout>
|
||
-</ScrollView>
|
||
\ No newline at end of file
|
||
+</ScrollView>
|
||
diff --git a/chrome/android/java/res/xml/developer_preferences.xml b/chrome/android/java/res/xml/developer_preferences.xml
|
||
--- a/chrome/android/java/res/xml/developer_preferences.xml
|
||
+++ b/chrome/android/java/res/xml/developer_preferences.xml
|
||
@@ -49,4 +49,10 @@ found in the LICENSE file.
|
||
android:key="pixel_perfect_mode"
|
||
android:title="@string/android_pixel_perfect_mode_title"
|
||
android:summary="@string/android_pixel_perfect_mode_summary" />
|
||
+ <org.chromium.components.browser_ui.settings.ChromeSwitchPreference
|
||
+ android:key="enable_extensions_android"
|
||
+ android:title="@string/android_extensions_title"
|
||
+ android:summary="@string/android_extensions_summary"
|
||
+ app:featureName="enable-extensions-android"
|
||
+ app:needRestart="true" />
|
||
</PreferenceScreen>
|
||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeBaseAppCompatActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeBaseAppCompatActivity.java
|
||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeBaseAppCompatActivity.java
|
||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeBaseAppCompatActivity.java
|
||
@@ -620,7 +620,7 @@ public class ChromeBaseAppCompatActivity extends AppCompatActivity
|
||
applySingleThemeOverlay(R.style.ThemeOverlay_BrowserUI_OptOutEdgeToEdge);
|
||
}
|
||
|
||
- if (ChromeFeatureList.sAndroidDesktopDensity.isEnabled() && DeviceInfo.isDesktop()) {
|
||
+ if (ChromeFeatureList.sAndroidDesktopDensity.isEnabled() && DeviceInfo.isDesktopFalse()) {
|
||
applySingleThemeOverlay(R.style.ThemeOverlay_BrowserUI_DesktopDensity);
|
||
}
|
||
|
||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||
@@ -2167,7 +2167,7 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt
|
||
|
||
@Override
|
||
public boolean shouldPersistAcrossReboots() {
|
||
- return DeviceInfo.isDesktop() && ChromeFeatureList.sPersistAcrossReboots.isEnabled();
|
||
+ return DeviceInfo.isDesktopFalse() && ChromeFeatureList.sPersistAcrossReboots.isEnabled();
|
||
}
|
||
|
||
private void handleDebugIntent(Intent intent) {
|
||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||
@@ -2164,7 +2164,7 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
||
HostZoomMap.setTransparentZoomAdjustment(
|
||
(float) ContentFeatureList.sAndroidMonitorZoomScalingFactor.getValue()
|
||
/ 100.0f);
|
||
- } else if (DeviceInfo.isDesktop()) {
|
||
+ } else if (DeviceInfo.isDesktopFalse()) {
|
||
HostZoomMap.setTransparentZoomAdjustment(
|
||
(float) ContentFeatureList.sAndroidDesktopZoomScalingFactor.getValue()
|
||
/ 100.0f);
|
||
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
|
||
@@ -1225,7 +1225,7 @@ public abstract class AppMenuPropertiesDelegateImpl implements AppMenuProperties
|
||
&& !shouldShowReaderModePrefs(currentTab)
|
||
&& currentTab != null
|
||
&& currentTab.getWebContents() != null
|
||
- && !DeviceInfo.isDesktop();
|
||
+ && !DeviceInfo.isDesktopFalse();
|
||
|
||
if (!itemVisible) return null;
|
||
|
||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/appearance/settings/AppearanceSettingsFragment.java b/chrome/android/java/src/org/chromium/chrome/browser/appearance/settings/AppearanceSettingsFragment.java
|
||
--- a/chrome/android/java/src/org/chromium/chrome/browser/appearance/settings/AppearanceSettingsFragment.java
|
||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/appearance/settings/AppearanceSettingsFragment.java
|
||
@@ -64,7 +64,7 @@ public class AppearanceSettingsFragment extends ChromeBaseSettingsFragment
|
||
|
||
// This fragment may be used on Desktop or tablets. For Desktop we use the current Profile's
|
||
// UserPrefs. For tablets, we use the local device preference.
|
||
- mUseProfileUserPrefs = DeviceInfo.isDesktop();
|
||
+ mUseProfileUserPrefs = DeviceInfo.isDesktopFalse();
|
||
initBookmarkBarPref();
|
||
initToolbarShortcutPref();
|
||
initUiThemePref();
|
||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChrome.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChrome.java
|
||
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChrome.java
|
||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChrome.java
|
||
@@ -523,7 +523,7 @@ public class LayoutManagerChrome extends LayoutManagerImpl implements Accessibil
|
||
// proper solution that handles all formfactors.
|
||
if (ChromeFeatureList.isEnabled(
|
||
ChromeFeatureList.ENABLE_TOOLBAR_SWIPE_ON_NON_DESKTOP_LFF)
|
||
- ? DeviceInfo.isDesktop()
|
||
+ ? DeviceInfo.isDesktopCromite()
|
||
: DeviceFormFactor.isNonMultiDisplayContextOnTablet(mHost.getContext())) {
|
||
return false;
|
||
}
|
||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutUtils.java
|
||
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutUtils.java
|
||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutUtils.java
|
||
@@ -415,6 +415,6 @@ public class StripLayoutUtils {
|
||
|
||
public static boolean shouldApplyMoreDensity() {
|
||
return ChromeFeatureList.sTabStripDensityChangeAndroid.isEnabled()
|
||
- && DeviceInfo.isDesktop();
|
||
+ && DeviceInfo.isDesktopFalse();
|
||
}
|
||
}
|
||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/IncognitoCustomTabIntentDataProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/IncognitoCustomTabIntentDataProvider.java
|
||
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/IncognitoCustomTabIntentDataProvider.java
|
||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/IncognitoCustomTabIntentDataProvider.java
|
||
@@ -41,6 +41,7 @@ import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
||
import org.chromium.chrome.browser.flags.CustomTabProfileType;
|
||
import org.chromium.chrome.browser.util.WindowFeatures;
|
||
import org.chromium.components.browser_ui.widget.TintedDrawable;
|
||
+import org.chromium.components.embedder_support.util.UrlConstants;
|
||
|
||
import java.util.ArrayList;
|
||
import java.util.List;
|
||
@@ -237,6 +238,9 @@ public class IncognitoCustomTabIntentDataProvider extends BrowserServicesIntentD
|
||
}
|
||
|
||
public static boolean isValidIncognitoIntent(Intent intent, boolean recordMetrics) {
|
||
+ if (IntentHandler.getUrlFromIntent(intent).startsWith(UrlConstants.CHROME_EXTENSIONS_URL)) {
|
||
+ return false;
|
||
+ }
|
||
if (ContextUtils.getAppSharedPreferences()
|
||
.getBoolean(PrivacySettings.PREF_OPEN_EXTERNAL_LINKS_INCOGNITO, false)) {
|
||
return true;
|
||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/desktop_site/DesktopSiteSettingsIphController.java b/chrome/android/java/src/org/chromium/chrome/browser/desktop_site/DesktopSiteSettingsIphController.java
|
||
--- a/chrome/android/java/src/org/chromium/chrome/browser/desktop_site/DesktopSiteSettingsIphController.java
|
||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/desktop_site/DesktopSiteSettingsIphController.java
|
||
@@ -80,7 +80,7 @@ public class DesktopSiteSettingsIphController {
|
||
View toolbarMenuButton,
|
||
AppMenuHandler appMenuHandler) {
|
||
// Desktop site settings are default enabled on desktop. Do not show IPH.
|
||
- if(DeviceInfo.isDesktop()) return null;
|
||
+ if(DeviceInfo.isDesktopFalse()) return null;
|
||
return new DesktopSiteSettingsIphController(
|
||
windowAndroid,
|
||
activityTabProvider,
|
||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java
|
||
--- a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java
|
||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java
|
||
@@ -294,6 +294,9 @@ public class ExternalNavigationDelegateImpl implements ExternalNavigationDelegat
|
||
|
||
@Override
|
||
public @Nullable Intent createIntentToPreventIncognitoAccess(GURL url) {
|
||
+ if (url.getSpec().startsWith(UrlConstants.CHROME_EXTENSIONS_URL)) {
|
||
+ return null;
|
||
+ }
|
||
if (!url.getSpec().startsWith(UrlConstants.CHROME_EXTENSIONS_URL)) {
|
||
return null;
|
||
}
|
||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/multiwindow/MultiWindowUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/multiwindow/MultiWindowUtils.java
|
||
--- a/chrome/android/java/src/org/chromium/chrome/browser/multiwindow/MultiWindowUtils.java
|
||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/multiwindow/MultiWindowUtils.java
|
||
@@ -216,7 +216,7 @@ public class MultiWindowUtils implements ActivityStateListener {
|
||
return TabWindowManager.MAX_SELECTORS_LEGACY;
|
||
}
|
||
|
||
- if (DeviceInfo.isDesktop()) {
|
||
+ if (DeviceInfo.isDesktopFalse()) {
|
||
return TabWindowManager.MAX_SELECTORS_1000;
|
||
}
|
||
|
||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsDelegate.java
|
||
--- a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsDelegate.java
|
||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsDelegate.java
|
||
@@ -175,7 +175,7 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate {
|
||
return PermissionUtil.handTrackingNeedsAdditionalPermissions();
|
||
case SiteSettingsCategory.Type.REQUEST_DESKTOP_SITE:
|
||
// Desktop Android always requests desktop sites, so hide the category.
|
||
- return !DeviceInfo.isDesktop();
|
||
+ return !DeviceInfo.isDesktopFalse();
|
||
case SiteSettingsCategory.Type.LOCAL_NETWORK_ACCESS:
|
||
// Use LOCAL_NETWORK_ACCESS if LNA is enabled, but LNA Split permissions is not
|
||
// enabled.
|
||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/ManageSpaceActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/site_settings/ManageSpaceActivity.java
|
||
--- a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/ManageSpaceActivity.java
|
||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/site_settings/ManageSpaceActivity.java
|
||
@@ -41,6 +41,7 @@ import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
|
||
import org.chromium.chrome.browser.profiles.Profile;
|
||
import org.chromium.chrome.browser.profiles.ProfileManager;
|
||
import org.chromium.chrome.browser.settings.SettingsNavigationFactory;
|
||
+import org.chromium.chrome.browser.ui.extensions.ExtensionActionsBridge;
|
||
import org.chromium.chrome.browser.ui.searchactivityutils.SearchActivityPreferencesManager;
|
||
import org.chromium.components.browser_ui.settings.SettingsNavigation;
|
||
import org.chromium.components.browser_ui.site_settings.AllSiteSettings;
|
||
@@ -68,6 +69,7 @@ public class ManageSpaceActivity extends ChromeBaseAppCompatActivity
|
||
private Button mClearUnimportantButton;
|
||
private Button mManageSiteDataButton;
|
||
private Button mClearAllDataButton;
|
||
+ private Button mClearExtensionDataButton;
|
||
// Stored for testing.
|
||
private @Nullable AlertDialog mUnimportantDialog;
|
||
|
||
@@ -106,6 +108,9 @@ public class ManageSpaceActivity extends ChromeBaseAppCompatActivity
|
||
|
||
mClearAllDataButton = findViewById(R.id.clear_all_data);
|
||
mClearAllDataButton.setOnClickListener(this);
|
||
+
|
||
+ mClearExtensionDataButton = findViewById(R.id.clear_extension_data);
|
||
+ mClearExtensionDataButton.setOnClickListener(this);
|
||
super.onCreate(savedInstanceState);
|
||
|
||
BrowserParts parts =
|
||
@@ -267,6 +272,21 @@ public class ManageSpaceActivity extends ChromeBaseAppCompatActivity
|
||
builder.setTitle(R.string.storage_management_reset_app_dialog_title);
|
||
builder.setMessage(R.string.storage_management_reset_app_dialog_text);
|
||
builder.create().show();
|
||
+ } else if (view == mClearExtensionDataButton) {
|
||
+ AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
||
+ builder.setPositiveButton(
|
||
+ R.string.ok,
|
||
+ new DialogInterface.OnClickListener() {
|
||
+ @Override
|
||
+ public void onClick(DialogInterface dialog, int id) {
|
||
+ Profile profile = ProfileManager.getLastUsedRegularProfile();
|
||
+ // ExtensionActionsBridge.get(profile).clearExtensionData();
|
||
+ }
|
||
+ });
|
||
+ builder.setNegativeButton(R.string.cancel, null);
|
||
+ builder.setTitle(R.string.storage_management_extension_reset_app_dialog_title);
|
||
+ builder.setMessage(R.string.storage_management_extension_reset_app_dialog_text);
|
||
+ builder.create().show();
|
||
}
|
||
}
|
||
|
||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/InterceptNavigationDelegateClientImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/InterceptNavigationDelegateClientImpl.java
|
||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/InterceptNavigationDelegateClientImpl.java
|
||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/InterceptNavigationDelegateClientImpl.java
|
||
@@ -209,7 +209,7 @@ public class InterceptNavigationDelegateClientImpl implements InterceptNavigatio
|
||
// TODO(crbug.com/417047079): Replace the following desktop windowing checks with a better
|
||
// approach.
|
||
// return MultiWindowUtils.getInstance().isInMultiWindowMode(getActivity());
|
||
- return DeviceInfo.isDesktop();
|
||
+ return DeviceInfo.isDesktopFalse();
|
||
}
|
||
|
||
@Override
|
||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/RequestDesktopUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/RequestDesktopUtils.java
|
||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/RequestDesktopUtils.java
|
||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/RequestDesktopUtils.java
|
||
@@ -107,7 +107,7 @@ public class RequestDesktopUtils {
|
||
|
||
// Desktop devices always request desktop sites so there's no need to show a message to
|
||
// the user.
|
||
- if (DeviceInfo.isDesktop()) {
|
||
+ if (DeviceInfo.isDesktopFalse()) {
|
||
return false;
|
||
}
|
||
|
||
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
|
||
@@ -1023,7 +1023,7 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
|
||
// 2. The current tab is a PDF page.
|
||
NativePage nativePage = currentTab.getNativePage();
|
||
boolean isPdf = nativePage != null && nativePage.isPdf();
|
||
- return DeviceInfo.isDesktop() || isPdf;
|
||
+ return DeviceInfo.isDesktopFalse() || isPdf;
|
||
}
|
||
|
||
private MVCListAdapter.ListItem buildPrintItem(Tab currentTab) {
|
||
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
|
||
@@ -671,7 +671,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
|
||
});
|
||
|
||
mCrossDeviceSettingImporter =
|
||
- DeviceInfo.isDesktop()
|
||
+ ((true))
|
||
? null
|
||
: new CrossDeviceSettingImporter(
|
||
activityLifecycleDispatcher,
|
||
@@ -2351,7 +2351,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
|
||
} else if (id == R.id.toggle_bookmark_bar) {
|
||
// isActivityStateBookmarkBarCompatible already checks the flag sAndroidBookmarkBar.
|
||
if (BookmarkBarUtils.isActivityStateBookmarkBarCompatible(mActivity)) {
|
||
- if (DeviceInfo.isDesktop()) {
|
||
+ if (DeviceInfo.isDesktopCromite()) {
|
||
// Desktop uses the synced UserPref.
|
||
BookmarkBarUtils.toggleUserPrefsShowBookmarksBar(
|
||
mProfileSupplier.get(), /* fromKeyboardShortcut= */ true);
|
||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java
|
||
--- a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java
|
||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java
|
||
@@ -2526,7 +2526,7 @@ public class ToolbarManager
|
||
mActivityTabProvider.asObservable(),
|
||
mTabCreatorManager.getTabCreator(false),
|
||
getBrowsingModeThemeColorProvider(),
|
||
- (ToolbarTablet) mToolbarLayout,
|
||
+ mToolbarLayout,
|
||
contextMenuPopulatorFactory,
|
||
selectionDropdownMenuDelegate);
|
||
if (mExtensionsToolbarCoordinator != null) {
|
||
diff --git a/chrome/app/extensions_strings.grdp b/chrome/app/extensions_strings.grdp
|
||
--- a/chrome/app/extensions_strings.grdp
|
||
+++ b/chrome/app/extensions_strings.grdp
|
||
@@ -400,9 +400,16 @@
|
||
<message name="IDS_EXTENSIONS_NO_ACTIVITIES" desc="The message shown to the user when an extension has no recent activities.">
|
||
No recent activities
|
||
</message>
|
||
+<if expr="is_android">
|
||
+ <message name="IDS_EXTENSIONS_NO_INSTALLED_ITEMS" desc="The message shown to the user on the Extensions settings page when there are no extensions or apps installed.">
|
||
+ Find extensions and themes in the <ph name="BEGIN_LINK"><a target="_blank" href="https://chromewebstore.google.com"></ph>Chromedontreplace Web Store<ph name="END_LINK"></a><ex></a></ex></ph>
|
||
+ </message>
|
||
+</if>
|
||
+<if expr="not is_android">
|
||
<message name="IDS_EXTENSIONS_NO_INSTALLED_ITEMS" desc="The message shown to the user on the Extensions settings page when there are no extensions or apps installed.">
|
||
Find extensions and themes in the <ph name="BEGIN_LINK"><a target="_blank" href="https://chrome.google.com/webstore/category/extensions"></ph>Chromedontreplace Web Store<ph name="END_LINK"></a><ex></a></ex></ph>
|
||
</message>
|
||
+</if>
|
||
<message name="IDS_EXTENSIONS_NO_DESCRIPTION" desc="The message shown to the user when an extension does not have any description.">
|
||
No description provided
|
||
</message>
|
||
diff --git a/chrome/app/theme/theme_resources.grd b/chrome/app/theme/theme_resources.grd
|
||
--- a/chrome/app/theme/theme_resources.grd
|
||
+++ b/chrome/app/theme/theme_resources.grd
|
||
@@ -381,7 +381,7 @@
|
||
<structure type="chrome_scaled_image" name="IDR_UPLOAD_VIOLATION_DARK" file="common/upload_violation_dark.png" />
|
||
</if>
|
||
<if expr="not _google_chrome">
|
||
- <if expr="not is_android or is_desktop_android">
|
||
+ <if expr="not is_android or is_desktop_android_cromite">
|
||
<!-- Desktop Android supports extensions and the web store. -->
|
||
<structure type="chrome_scaled_image" name="IDR_WEBSTORE_ICON" file="chromium/webstore_icon.png" />
|
||
<structure type="chrome_scaled_image" name="IDR_WEBSTORE_ICON_16" file="chromium/webstore_icon_16.png" />
|
||
@@ -390,7 +390,7 @@
|
||
</if>
|
||
</if>
|
||
<if expr="_google_chrome">
|
||
- <if expr="not is_android or is_desktop_android">
|
||
+ <if expr="not is_android or is_desktop_android_cromite">
|
||
<!-- Desktop Android supports extensions and the web store. -->
|
||
<structure type="chrome_scaled_image" name="IDR_WEBSTORE_ICON" file="google_chrome/webstore_icon.png" />
|
||
<structure type="chrome_scaled_image" name="IDR_WEBSTORE_ICON_16" file="google_chrome/webstore_icon_16.png" />
|
||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||
--- a/chrome/browser/BUILD.gn
|
||
+++ b/chrome/browser/BUILD.gn
|
||
@@ -7267,7 +7267,7 @@ static_library("browser") {
|
||
|
||
# TODO(https://crbug.com/356905053): Add more dependencies here and merge this
|
||
# block with the `enable_extensions` block above.
|
||
- if (enable_desktop_android_extensions) {
|
||
+ if (enable_desktop_android_extensions_cromite) {
|
||
sources += [
|
||
# TODO(https://crbug.com/356905053): These files are temporary workarounds
|
||
# allow for a lightweight extensions runtime in desktop-android builds.
|
||
@@ -7894,7 +7894,7 @@ group("browser_generated_files") {
|
||
[ "//chrome/browser/ui/webui/new_tab_page/foo:mojo_bindings" ]
|
||
}
|
||
}
|
||
- if (!is_android || is_desktop_android) {
|
||
+ if (!is_android || is_desktop_android_cromite) {
|
||
public_deps += [ "//chrome/browser/ui/webui/discards:mojo_bindings" ]
|
||
}
|
||
|
||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||
--- a/chrome/browser/about_flags.cc
|
||
+++ b/chrome/browser/about_flags.cc
|
||
@@ -389,6 +389,10 @@
|
||
#include "extensions/common/switches.h"
|
||
#endif // BUILDFLAG(ENABLE_EXTENSIONS_CORE)
|
||
|
||
+#if BUILDFLAG(ENABLE_EXTENSIONS_CORE)
|
||
+#include "extensions/common/extension_features.h"
|
||
+#endif
|
||
+
|
||
#if BUILDFLAG(ENABLE_PDF)
|
||
#include "pdf/pdf_features.h"
|
||
#endif
|
||
diff --git a/chrome/browser/android/selection/chrome_selection_dropdown_menu_delegate.cc b/chrome/browser/android/selection/chrome_selection_dropdown_menu_delegate.cc
|
||
--- a/chrome/browser/android/selection/chrome_selection_dropdown_menu_delegate.cc
|
||
+++ b/chrome/browser/android/selection/chrome_selection_dropdown_menu_delegate.cc
|
||
@@ -8,7 +8,7 @@
|
||
#include "content/public/browser/render_frame_host.h"
|
||
#include "extensions/buildflags/buildflags.h"
|
||
|
||
-#if BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS)
|
||
+#if BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS_CROMITE)
|
||
#include "chrome/browser/extensions/extension_menu_model_android.h"
|
||
#endif // BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS)
|
||
|
||
@@ -25,7 +25,7 @@ std::unique_ptr<ui::MenuModel>
|
||
ChromeSelectionDropdownMenuDelegate::GetSelectionPopupExtraItems(
|
||
content::RenderFrameHost& render_frame_host,
|
||
const content::ContextMenuParams& params) {
|
||
-#if BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS)
|
||
+#if BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS_CROMITE)
|
||
std::unique_ptr<extensions::ExtensionMenuModel> extension_menu_model =
|
||
std::make_unique<extensions::ExtensionMenuModel>(render_frame_host,
|
||
params);
|
||
diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/bar/BookmarkBarUtils.java b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/bar/BookmarkBarUtils.java
|
||
--- a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/bar/BookmarkBarUtils.java
|
||
+++ b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/bar/BookmarkBarUtils.java
|
||
@@ -212,7 +212,7 @@ public class BookmarkBarUtils {
|
||
// On Desktop, we sync with the UserPrefs.
|
||
// On tablets we use the device preference logic (policy (pref service) > local pref
|
||
// (shared pref) > FeatureParam).
|
||
- return DeviceInfo.isDesktop()
|
||
+ return DeviceInfo.isDesktopFalse()
|
||
? isUserPrefsShowBookmarksBarEnabled(profile)
|
||
: isDevicePrefShowBookmarksBarEnabled(profile);
|
||
}
|
||
@@ -431,13 +431,13 @@ public class BookmarkBarUtils {
|
||
boolean isCurrentlyVisible = isBookmarkBarVisible(context, profile, isXrFullSpaceMode);
|
||
|
||
// Record if the Bookmark Bar is visible, but not in cases of a forced feature param.
|
||
- if (DeviceInfo.isDesktop() || hasUserSetDevicePrefShowBookmarksBar()) {
|
||
+ if (DeviceInfo.isDesktopFalse() || hasUserSetDevicePrefShowBookmarksBar()) {
|
||
RecordHistogram.recordBooleanHistogram(
|
||
BOOKMARK_BAR_SHOWN_ON_START_UP, isCurrentlyVisible);
|
||
}
|
||
|
||
// Record the reason why the Bookmark Bar is visible (hidden) in this instance.
|
||
- if (DeviceInfo.isDesktop()) {
|
||
+ if (DeviceInfo.isDesktopFalse()) {
|
||
RecordHistogram.recordEnumeratedHistogram(
|
||
BOOKMARK_BAR_SHOWN_ON_START_UP_REASON,
|
||
isCurrentlyVisible
|
||
diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/bar/BookmarkBarVisibilityProvider.java b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/bar/BookmarkBarVisibilityProvider.java
|
||
--- a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/bar/BookmarkBarVisibilityProvider.java
|
||
+++ b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/bar/BookmarkBarVisibilityProvider.java
|
||
@@ -100,7 +100,7 @@ public class BookmarkBarVisibilityProvider {
|
||
mXrSpaceModeObservableSupplier.addSyncObserverAndPostIfNonNull(mXrSpaceModeObserver);
|
||
|
||
// On tablets we use local device prefs.
|
||
- if (!DeviceInfo.isDesktop()) {
|
||
+ if (!DeviceInfo.isDesktopFalse()) {
|
||
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
|
||
@@ -399,7 +399,7 @@ void BrowserProcessImpl::Init() {
|
||
// TODO(devlin): Move this block out of BrowserProcessImpl to somewhere like
|
||
// //chrome/browser/initialize_extensions_browser_client, analogous to
|
||
// `EnsureExtensionsClientInitialized()` above?
|
||
-#if BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS)
|
||
+#if BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS_CROMITE)
|
||
extensions_browser_client_ = startup_data()->TakeExtensionsBrowserClient();
|
||
#elif BUILDFLAG(ENABLE_EXTENSIONS)
|
||
extensions_browser_client_ =
|
||
diff --git a/chrome/browser/chrome_browser_field_trials.cc b/chrome/browser/chrome_browser_field_trials.cc
|
||
--- a/chrome/browser/chrome_browser_field_trials.cc
|
||
+++ b/chrome/browser/chrome_browser_field_trials.cc
|
||
@@ -142,7 +142,7 @@ void ChromeBrowserFieldTrials::RegisterFeatureOverrides(
|
||
feature_overrides.DisableFeature(features::kEyeDropper);
|
||
}
|
||
#elif BUILDFLAG(IS_ANDROID) // BUILDFLAG(IS_LINUX)
|
||
-#if BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
+#if BUILDFLAG(IS_DESKTOP_ANDROID_CROMITE)
|
||
// Nota bene: Anything here is expected to be short-lived, unless deemed too
|
||
// risky to launch to non-desktop platforms. New features being added here
|
||
// should be the exception, and not the norm. Instead, you should place the
|
||
@@ -151,7 +151,7 @@ void ChromeBrowserFieldTrials::RegisterFeatureOverrides(
|
||
|
||
// Enable the link hover status bar.
|
||
// TODO(crbug.com/404678510): Remove when the feature is stable.
|
||
- feature_overrides.EnableFeature(chrome::android::kLinkHoverStatusBar);
|
||
+ // feature_overrides.EnableFeature(chrome::android::kLinkHoverStatusBar);
|
||
|
||
// If enabled, render processes associated only with tabs in unfocused windows
|
||
// will be downgraded to "vis" priority, rather than remaining at "fg". This
|
||
@@ -163,37 +163,37 @@ void ChromeBrowserFieldTrials::RegisterFeatureOverrides(
|
||
// TODO(crbug.com/426461170): Remove once we enable this feature for all form
|
||
// factors. Currently we have no conclusion whether to enable this on mobile
|
||
// phones yet.
|
||
- feature_overrides.EnableFeature(
|
||
- features::kAndroidEnableBackgroundMediaCapturing);
|
||
+ // feature_overrides.EnableFeature(
|
||
+ // features::kAndroidEnableBackgroundMediaCapturing);
|
||
// TODO(crbug.com/465596248): Remove when experiment is complete.
|
||
- feature_overrides.EnableFeature(chrome::android::kProtectRecentlyVisibleTab);
|
||
+ // feature_overrides.EnableFeature(chrome::android::kProtectRecentlyVisibleTab);
|
||
// TODO(crbug.com/422903297): Remove when tablet rollout is complete.
|
||
- feature_overrides.EnableFeature(features::kRendererProcessLimitOnAndroid);
|
||
+ // feature_overrides.EnableFeature(features::kRendererProcessLimitOnAndroid);
|
||
// Enable V8 optimizations for high-end Android Desktop devices.
|
||
// TODO(crbug.com/425860368): Remove when the feature is stable.
|
||
- feature_overrides.EnableFeature(features::kV8AndroidDesktopHighEndConfig);
|
||
+ // feature_overrides.EnableFeature(features::kV8AndroidDesktopHighEndConfig);
|
||
// TODO(crbug.com/430304112): Remove when rollout is complete to all form
|
||
// factors.
|
||
- feature_overrides.EnableFeature(
|
||
- autofill::features::kAutofillAndroidDesktopSuppressAccessoryOnEmpty);
|
||
+ // feature_overrides.EnableFeature(
|
||
+ // autofill::features::kAutofillAndroidDesktopSuppressAccessoryOnEmpty);
|
||
// TODO(crbug.com/436900619): Remove when the long term solution is
|
||
// implemented.
|
||
- feature_overrides.EnableFeature(
|
||
- chrome::android::kLockTopControlsOnLargeTablets);
|
||
+ // feature_overrides.EnableFeature(
|
||
+ // chrome::android::kLockTopControlsOnLargeTablets);
|
||
// TODO(crbug.com/445446479): Remove when rollout is complete to all form
|
||
// factors.
|
||
- feature_overrides.EnableFeature(
|
||
- sandbox::policy::features::kAndroidGpuSandbox);
|
||
+ // feature_overrides.EnableFeature(
|
||
+ // sandbox::policy::features::kAndroidGpuSandbox);
|
||
// Bypass the WebAudio output buffer, to reduce audio latency.
|
||
// TODO(crbug.com/436988695): Remove when the long term solution is
|
||
// implemented.
|
||
- feature_overrides.EnableFeature(
|
||
- blink::features::kWebAudioBypassOutputBuffering);
|
||
+ // feature_overrides.EnableFeature(
|
||
+ // blink::features::kWebAudioBypassOutputBuffering);
|
||
// TODO(crbug.com/437004266): Remove when the feature is stable.
|
||
- feature_overrides.EnableFeature(
|
||
- features::kAlwaysUseAudioManagerOutputFramesPerBuffer);
|
||
+ // feature_overrides.EnableFeature(
|
||
+ // features::kAlwaysUseAudioManagerOutputFramesPerBuffer);
|
||
// TODO(crbug.com/440210010): Remove when the feature experiment is done.
|
||
- feature_overrides.EnableFeature(features::kAudioStereoInputStreamParameters);
|
||
+ // feature_overrides.EnableFeature(features::kAudioStereoInputStreamParameters);
|
||
// Enables automatic picture-in-picture.
|
||
// TODO(crbug.com/421608904): Remove when rollout is complete to all form
|
||
// factors.
|
||
@@ -206,57 +206,57 @@ void ChromeBrowserFieldTrials::RegisterFeatureOverrides(
|
||
// Enable Media Engagement bypass and preload for desktop Android.
|
||
// TODO(crbug.com/490450572): Re-evaluate if we want to enable these features
|
||
// for all Android form factors after analysis.
|
||
- feature_overrides.EnableFeature(
|
||
- media::kMediaEngagementBypassAutoplayPolicies);
|
||
- feature_overrides.EnableFeature(media::kPreloadMediaEngagementData);
|
||
+ // feature_overrides.EnableFeature(
|
||
+ // media::kMediaEngagementBypassAutoplayPolicies);
|
||
+ // feature_overrides.EnableFeature(media::kPreloadMediaEngagementData);
|
||
|
||
// Disables the enhanced pip transition and uses the default animation.
|
||
// TODO(crbug.com/440384447): Remove when enhanced pip transition is fixed.
|
||
- feature_overrides.DisableFeature(media::kAllowEnhancedPipTransition);
|
||
+ // feature_overrides.DisableFeature(media::kAllowEnhancedPipTransition);
|
||
// Enable by default for desktop platforms, pending a phone / foldable /
|
||
// tablet rollout using the same flag.
|
||
// TODO(crbug.com/442327273): Remove when rollout is complete to all form
|
||
// factors.
|
||
- feature_overrides.EnableFeature(
|
||
- autofill::features::kAutofillAndroidDesktopKeyboardAccessoryRevamp);
|
||
+ // feature_overrides.EnableFeature(
|
||
+ // autofill::features::kAutofillAndroidDesktopKeyboardAccessoryRevamp);
|
||
// Enable by default for desktop platforms, pending a tablet rollout using the
|
||
// same flag.
|
||
// TODO(crbug.com/445475304): Remove when tablet rollout is complete.
|
||
- feature_overrides.EnableFeature(feed::kAndroidOpenIncognitoAsWindow);
|
||
+ // feature_overrides.EnableFeature(feed::kAndroidOpenIncognitoAsWindow);
|
||
|
||
// Enable ANGLE/Vulkan features.
|
||
// TODO (crbug.com//376280554): Enable these features with runtime checks
|
||
// instead.
|
||
- feature_overrides.EnableFeature(::features::kSkipVulkanBlocklist);
|
||
- feature_overrides.EnableFeature(::features::kDefaultANGLEVulkan);
|
||
- feature_overrides.EnableFeature(::features::kVulkanFromANGLE);
|
||
- feature_overrides.EnableFeature(::features::kDefaultPassthroughCommandDecoder);
|
||
+ // feature_overrides.EnableFeature(::features::kSkipVulkanBlocklist);
|
||
+ // feature_overrides.EnableFeature(::features::kDefaultANGLEVulkan);
|
||
+ // feature_overrides.EnableFeature(::features::kVulkanFromANGLE);
|
||
+ // feature_overrides.EnableFeature(::features::kDefaultPassthroughCommandDecoder);
|
||
|
||
// Enable site-per-process by default for desktop platforms.
|
||
// TODO(crbug.com/453856709): Remove when we determine how to ensure
|
||
// SitePerProcess is enabled for all necessary or eligible Android devices.
|
||
- feature_overrides.EnableFeature(::features::kSitePerProcess);
|
||
+ // feature_overrides.EnableFeature(::features::kSitePerProcess);
|
||
|
||
// By setting the kSiteIsolationEnableMemoryThresholdAndroid feature, we make
|
||
// sure that site isolation (enabled by kSitePerProcess above) is not disabled
|
||
// due to memory thresholds.
|
||
// TODO(crbug.com/454695278): Find a different way to disable the site
|
||
// isolation memory thresholds on Android desktop.
|
||
- feature_overrides.DisableFeature(
|
||
- site_isolation::features::kSiteIsolationEnableMemoryThresholdAndroid);
|
||
+ // feature_overrides.DisableFeature(
|
||
+ // site_isolation::features::kSiteIsolationEnableMemoryThresholdAndroid);
|
||
|
||
// Enable all tabs to have WebContents at all times for desktop platforms.
|
||
// TODO(crbug.com/448420873): Remove once we enable this feature for all form
|
||
// factors. This is currently blocked by performance regressions on low-end
|
||
// Android devices.
|
||
- feature_overrides.EnableFeature(features::kWebContentsDiscard);
|
||
- feature_overrides.EnableFeature(features::kLazyBrowserInterfaceBroker);
|
||
- feature_overrides.EnableFeature(chrome::android::kLoadAllTabsAtStartup);
|
||
+ // feature_overrides.EnableFeature(features::kWebContentsDiscard);
|
||
+ // feature_overrides.EnableFeature(features::kLazyBrowserInterfaceBroker);
|
||
+ // feature_overrides.EnableFeature(chrome::android::kLoadAllTabsAtStartup);
|
||
|
||
// Enable the ability for extensions to override chrome pages.
|
||
// TODO(crbug.com/404069963): Remove flag when the feature is verified to be
|
||
// stable on desktop Android.
|
||
- feature_overrides.EnableFeature(chrome::android::kChromeNativeUrlOverriding);
|
||
+ // feature_overrides.EnableFeature(chrome::android::kChromeNativeUrlOverriding);
|
||
|
||
// Enable desktop full screen to a screen feature flag by default for desktop
|
||
// platforms.
|
||
@@ -268,11 +268,11 @@ void ChromeBrowserFieldTrials::RegisterFeatureOverrides(
|
||
// Enables the ability to specify a platform-specific zoom scaling that will
|
||
// apply transparently to all pages.
|
||
// TODO(crbug.com/450281745): Remove once feature is enabled by default.
|
||
- feature_overrides.EnableFeature(::features::kAndroidDesktopZoomScaling);
|
||
+ // feature_overrides.EnableFeature(::features::kAndroidDesktopZoomScaling);
|
||
|
||
// Enable Android desktop fluid resize to improve UX.
|
||
// TODO(crbug.com/464967916): Remove when the feature is stable.
|
||
- feature_overrides.EnableFeature(features::kFluidResize);
|
||
+ // feature_overrides.EnableFeature(features::kFluidResize);
|
||
#endif // BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
// Desktop-first features which are past incubation should either end up here,
|
||
// or to a finch trial that enables it for all form factors.
|
||
diff --git a/chrome/browser/chrome_browser_interface_binders_webui.cc b/chrome/browser/chrome_browser_interface_binders_webui.cc
|
||
--- a/chrome/browser/chrome_browser_interface_binders_webui.cc
|
||
+++ b/chrome/browser/chrome_browser_interface_binders_webui.cc
|
||
@@ -52,7 +52,7 @@
|
||
#include "mojo/public/cpp/bindings/binder_map.h"
|
||
|
||
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
|
||
- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID_CROMITE)
|
||
#include "chrome/browser/ui/webui/discards/discards.mojom.h"
|
||
#include "chrome/browser/ui/webui/discards/discards_ui.h"
|
||
#include "chrome/browser/ui/webui/discards/site_data.mojom.h"
|
||
@@ -178,7 +178,7 @@ void PopulateChromeWebUIFrameBinders(
|
||
#endif // BUILDFLAG(IS_CHROMEOS)
|
||
|
||
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
|
||
- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID_CROMITE)
|
||
RegisterWebUIControllerInterfaceBinder<discards::mojom::DetailsProvider,
|
||
DiscardsUI>(map);
|
||
|
||
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
|
||
@@ -4363,7 +4363,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) && \
|
||
- !(BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_DESKTOP_ANDROID))
|
||
+ !(BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_DESKTOP_ANDROID_CROMITE))
|
||
if (matching_certificates.empty() && nonmatching_certificates.empty()) {
|
||
extensions::ProcessMap* process_map =
|
||
extensions::ProcessMap::Get(profile);
|
||
@@ -4646,7 +4646,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.
|
||
-#if !BUILDFLAG(IS_ANDROID) || BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS)
|
||
+#if !BUILDFLAG(IS_ANDROID) || BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS_CROMITE)
|
||
// Enabling the FontFamilyCache needs some KeyedService that might not be
|
||
// available for some irregular profiles, like the System Profile.
|
||
if (!AreKeyedServicesDisabledForProfileByDefault(profile)) {
|
||
diff --git a/chrome/browser/devtools/BUILD.gn b/chrome/browser/devtools/BUILD.gn
|
||
--- a/chrome/browser/devtools/BUILD.gn
|
||
+++ b/chrome/browser/devtools/BUILD.gn
|
||
@@ -363,7 +363,7 @@ static_library("devtools") {
|
||
}
|
||
}
|
||
|
||
- if (!is_android || enable_desktop_android_extensions) {
|
||
+ if (!is_android || enable_desktop_android_extensions_cromite) {
|
||
sources += [
|
||
"global_confirm_info_bar.cc",
|
||
"global_confirm_info_bar.h",
|
||
diff --git a/chrome/browser/download/BUILD.gn b/chrome/browser/download/BUILD.gn
|
||
--- a/chrome/browser/download/BUILD.gn
|
||
+++ b/chrome/browser/download/BUILD.gn
|
||
@@ -295,7 +295,7 @@ source_set("impl") {
|
||
sources += [ "drag_download_item_aura.cc" ]
|
||
}
|
||
|
||
- if (is_android && !enable_desktop_android_extensions) {
|
||
+ if (is_android && !enable_desktop_android_extensions_cromite) {
|
||
sources += [ "download_crx_util_android.cc" ]
|
||
}
|
||
|
||
diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrome/browser/download/chrome_download_manager_delegate.cc
|
||
--- a/chrome/browser/download/chrome_download_manager_delegate.cc
|
||
+++ b/chrome/browser/download/chrome_download_manager_delegate.cc
|
||
@@ -745,7 +745,7 @@ bool ChromeDownloadManagerDelegate::DetermineDownloadTarget(
|
||
DownloadPathReservationTracker::FilenameConflictAction action =
|
||
kDefaultPlatformConflictAction;
|
||
#if BUILDFLAG(IS_ANDROID)
|
||
- if (base::android::device_info::is_desktop()) {
|
||
+ if (base::android::device_info::is_desktop_false()) {
|
||
action = DownloadPathReservationTracker::UNIQUIFY;
|
||
}
|
||
|
||
diff --git a/chrome/browser/download/download_offline_content_provider.cc b/chrome/browser/download/download_offline_content_provider.cc
|
||
--- a/chrome/browser/download/download_offline_content_provider.cc
|
||
+++ b/chrome/browser/download/download_offline_content_provider.cc
|
||
@@ -46,7 +46,7 @@
|
||
#include "content/public/common/content_features.h"
|
||
#include "ui/base/device_form_factor.h"
|
||
|
||
-#if BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS)
|
||
+#if BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS_CROMITE)
|
||
#include "chrome/browser/download/download_core_service.h"
|
||
#include "chrome/browser/download/download_core_service_factory.h"
|
||
#endif
|
||
@@ -489,7 +489,7 @@ void DownloadOfflineContentProvider::OnDownloadUpdated(DownloadItem* item) {
|
||
return;
|
||
}
|
||
|
||
-#if BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS)
|
||
+#if BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS_CROMITE)
|
||
// On desktop Android, the extensions chrome.download.setUiOptions() function
|
||
// can disable UI updates.
|
||
// TODO(crbug.com/459823225): Expand the IsDangerous() check to other
|
||
diff --git a/chrome/browser/extensions/BUILD.gn b/chrome/browser/extensions/BUILD.gn
|
||
--- a/chrome/browser/extensions/BUILD.gn
|
||
+++ b/chrome/browser/extensions/BUILD.gn
|
||
@@ -1697,7 +1697,7 @@ source_set("chrome_extensions_browser_client") {
|
||
"//extensions/browser/updater",
|
||
]
|
||
|
||
- if (enable_desktop_android_extensions) {
|
||
+ if (enable_desktop_android_extensions_cromite) {
|
||
sources += [ "chrome_extensions_browser_client_android.cc" ]
|
||
|
||
deps += [
|
||
@@ -1712,6 +1712,7 @@ source_set("chrome_extensions_browser_client") {
|
||
"//extensions/browser",
|
||
"//extensions/browser/kiosk",
|
||
]
|
||
+ deps += [ "//components/adblock/content:browser" ]
|
||
}
|
||
|
||
if (enable_extensions) {
|
||
diff --git a/chrome/browser/extensions/api/chrome_extensions_api_client_android.cc b/chrome/browser/extensions/api/chrome_extensions_api_client_android.cc
|
||
--- a/chrome/browser/extensions/api/chrome_extensions_api_client_android.cc
|
||
+++ b/chrome/browser/extensions/api/chrome_extensions_api_client_android.cc
|
||
@@ -15,7 +15,7 @@
|
||
// The stubs are implemented here instead of falling back to ExtensionsAPIClient
|
||
// to allow NOTIMPLEMENTED() logging and a place to put TODOs with bug IDs.
|
||
|
||
-static_assert(BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS));
|
||
+static_assert(BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS_CROMITE));
|
||
|
||
namespace extensions {
|
||
|
||
diff --git a/chrome/browser/extensions/api/identity/web_auth_flow.cc b/chrome/browser/extensions/api/identity/web_auth_flow.cc
|
||
--- a/chrome/browser/extensions/api/identity/web_auth_flow.cc
|
||
+++ b/chrome/browser/extensions/api/identity/web_auth_flow.cc
|
||
@@ -38,7 +38,7 @@
|
||
#include "chrome/browser/ui/browser.h"
|
||
#include "chrome/browser/ui/browser_window.h"
|
||
#else
|
||
-static_assert(BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS));
|
||
+static_assert(BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS_CROMITE));
|
||
#include "base/functional/callback_forward.h"
|
||
#include "chrome/browser/android/tab_android.h"
|
||
#include "chrome/browser/tab_list/tab_list_interface.h"
|
||
@@ -166,7 +166,7 @@ void WebAuthFlow::CloseInfoBar() {
|
||
}
|
||
}
|
||
|
||
-#if BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS)
|
||
+#if BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS_CROMITE)
|
||
void WebAuthFlow::OnBrowserWindowInterfaceInitialized(
|
||
BrowserWindowInterface* browser) {
|
||
TabModel* tab_model =
|
||
@@ -202,7 +202,7 @@ bool WebAuthFlow::DisplayAuthPageInPopupWindow() {
|
||
|
||
browser->window()->Show();
|
||
#else
|
||
- static_assert(BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS));
|
||
+ static_assert(BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS_CROMITE));
|
||
BrowserWindowCreateParams params(BrowserWindowInterface::TYPE_POPUP,
|
||
*profile_, user_gesture_);
|
||
if (popup_bounds_.has_value()) {
|
||
diff --git a/chrome/browser/extensions/api/identity/web_auth_flow.h b/chrome/browser/extensions/api/identity/web_auth_flow.h
|
||
--- a/chrome/browser/extensions/api/identity/web_auth_flow.h
|
||
+++ b/chrome/browser/extensions/api/identity/web_auth_flow.h
|
||
@@ -149,7 +149,7 @@ class WebAuthFlow : public content::WebContentsObserver,
|
||
void MaybeStartTimeout();
|
||
void OnTimeout();
|
||
|
||
-#if BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS)
|
||
+#if BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS_CROMITE)
|
||
void OnBrowserWindowInterfaceInitialized(BrowserWindowInterface* browser);
|
||
#endif
|
||
|
||
@@ -195,7 +195,7 @@ class WebAuthFlow : public content::WebContentsObserver,
|
||
// the error code when the flow times out.
|
||
bool initial_url_loaded_ = false;
|
||
base::ScopedObservation<Profile, ProfileObserver> profile_observation_{this};
|
||
-#if BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS)
|
||
+#if BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS_CROMITE)
|
||
base::WeakPtrFactory<WebAuthFlow> weak_factory_{this};
|
||
#endif
|
||
};
|
||
diff --git a/chrome/browser/extensions/api/tabs/tabs_api.cc b/chrome/browser/extensions/api/tabs/tabs_api.cc
|
||
--- a/chrome/browser/extensions/api/tabs/tabs_api.cc
|
||
+++ b/chrome/browser/extensions/api/tabs/tabs_api.cc
|
||
@@ -1725,6 +1725,9 @@ base::ListValue TabsQueryFunction::BuildTabList(
|
||
}
|
||
|
||
TabListInterface* tab_list = TabListInterface::From(browser);
|
||
+#if BUILDFLAG(IS_ANDROID)
|
||
+ if (!tab_list) return result;
|
||
+#endif
|
||
for (int i = 0; i < tab_list->GetTabCount(); ++i) {
|
||
if (tab_index > -1 && i != tab_index) {
|
||
continue;
|
||
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
|
||
@@ -344,7 +344,12 @@ void TabsEventRouter::DispatchTabRemovedEvent(
|
||
api::tabs::OnRemoved::kEventName, std::move(args),
|
||
EventRouter::UserGestureState::kUnknown);
|
||
|
||
- UnregisterForTabNotifications(web_contents, /*expect_registered=*/true);
|
||
+#if BUILDFLAG(IS_ANDROID)
|
||
+ bool expect_registered = false;
|
||
+#else
|
||
+ bool expect_registered = true;
|
||
+#endif
|
||
+ UnregisterForTabNotifications(web_contents, expect_registered);
|
||
}
|
||
|
||
void TabsEventRouter::DispatchTabDetachedEvent(
|
||
@@ -392,6 +397,9 @@ void TabsEventRouter::UpdateTabIndices(TabListInterface& tab_list) {
|
||
std::vector<tabs::TabInterface*> tabs = tab_list.GetAllTabs();
|
||
for (size_t i = 0; i < tabs.size(); ++i) {
|
||
content::WebContents* web_contents = tabs[i]->GetContents();
|
||
+#if BUILDFLAG(IS_ANDROID)
|
||
+ if (!web_contents) continue;
|
||
+#endif
|
||
CHECK(web_contents);
|
||
TabEntry* tab_entry = GetTabEntry(*web_contents);
|
||
if (!tab_entry) {
|
||
@@ -408,6 +416,9 @@ void TabsEventRouter::OnTabAdded(TabListInterface& tab_list,
|
||
tabs::TabInterface* tab,
|
||
int index) {
|
||
content::WebContents* contents = tab->GetContents();
|
||
+#if BUILDFLAG(IS_ANDROID)
|
||
+ if (!contents) return;
|
||
+#endif
|
||
CHECK(contents);
|
||
|
||
// Adding a new tab can affect the indices of all existing tabs in the tab
|
||
@@ -490,6 +501,9 @@ void TabsEventRouter::OnTabRemoved(TabListInterface& tab_list,
|
||
tabs::TabInterface* tab,
|
||
TabRemovedReason removed_reason) {
|
||
content::WebContents* web_contents = tab->GetContents();
|
||
+#if BUILDFLAG(IS_ANDROID)
|
||
+ if (!web_contents) return;
|
||
+#endif
|
||
CHECK(web_contents);
|
||
|
||
// Removing a tab can affect the indices of all existing tabs in the tab
|
||
@@ -509,6 +523,9 @@ void TabsEventRouter::OnTabMoved(TabListInterface& tab_list,
|
||
int to_index) {
|
||
CHECK(tab);
|
||
content::WebContents* web_contents = tab->GetContents();
|
||
+#if BUILDFLAG(IS_ANDROID)
|
||
+ if (!web_contents) return;
|
||
+#endif
|
||
CHECK(web_contents);
|
||
|
||
// Moving tab can affect the indices of all existing tabs in the tab list
|
||
@@ -547,6 +564,9 @@ void TabsEventRouter::OnHighlightedTabsChanged(
|
||
|
||
for (tabs::TabInterface* tab : highlighted_tabs) {
|
||
content::WebContents* web_contents = tab->GetContents();
|
||
+#if BUILDFLAG(IS_ANDROID)
|
||
+ if (!web_contents) continue;
|
||
+#endif
|
||
CHECK(web_contents);
|
||
|
||
// All the tabs should be in the same window, so just grab the window ID and
|
||
diff --git a/chrome/browser/extensions/browser_extension_window_controller.cc b/chrome/browser/extensions/browser_extension_window_controller.cc
|
||
--- a/chrome/browser/extensions/browser_extension_window_controller.cc
|
||
+++ b/chrome/browser/extensions/browser_extension_window_controller.cc
|
||
@@ -109,14 +109,22 @@ BrowserExtensionWindowController::BrowserExtensionWindowController(
|
||
#if !BUILDFLAG(IS_ANDROID)
|
||
window_(CHECK_DEREF(browser->GetBrowserForMigrationOnly()->window())),
|
||
#endif // !BUILDFLAG(IS_ANDROID)
|
||
- tab_list_(CHECK_DEREF(TabListInterface::From(browser))),
|
||
+ tab_list_(TabListInterface::From(browser)),
|
||
session_id_(browser->GetSessionID()),
|
||
window_type_(GetTabsWindowType(browser)),
|
||
scoped_data_holder_(browser->GetUnownedUserDataHost(), *this) {
|
||
WindowControllerList::GetInstance()->AddExtensionWindow(this);
|
||
+#if BUILDFLAG(IS_ANDROID)
|
||
+ tab_list_->AddTabListInterfaceObserver(this);
|
||
+#endif
|
||
}
|
||
|
||
BrowserExtensionWindowController::~BrowserExtensionWindowController() {
|
||
+#if BUILDFLAG(IS_ANDROID)
|
||
+ if (tab_list_)
|
||
+ tab_list_->RemoveTabListInterfaceObserver(this);
|
||
+ tab_list_ = nullptr;
|
||
+#endif
|
||
WindowControllerList::GetInstance()->RemoveExtensionWindow(this);
|
||
}
|
||
|
||
@@ -126,6 +134,13 @@ BrowserExtensionWindowController* BrowserExtensionWindowController::From(
|
||
browser_window_interface->GetUnownedUserDataHost());
|
||
}
|
||
|
||
+void BrowserExtensionWindowController::OnTabListDestroyed(TabListInterface& tab_list) {
|
||
+#if BUILDFLAG(IS_ANDROID)
|
||
+ tab_list_->RemoveTabListInterfaceObserver(this);
|
||
+ tab_list_ = nullptr;
|
||
+#endif
|
||
+}
|
||
+
|
||
int BrowserExtensionWindowController::GetWindowId() const {
|
||
return static_cast<int>(session_id_.id());
|
||
}
|
||
@@ -272,7 +287,7 @@ base::ListValue BrowserExtensionWindowController::CreateTabList(
|
||
ExtensionTabUtil::GetScrubTabBehavior(extension, context, web_contents);
|
||
tab_list.Append(
|
||
ExtensionTabUtil::CreateTabObject(web_contents, scrub_tab_behavior,
|
||
- extension, &tab_list_.get(), i)
|
||
+ extension, tab_list_, i)
|
||
.ToValue());
|
||
}
|
||
|
||
diff --git a/chrome/browser/extensions/browser_extension_window_controller.h b/chrome/browser/extensions/browser_extension_window_controller.h
|
||
--- a/chrome/browser/extensions/browser_extension_window_controller.h
|
||
+++ b/chrome/browser/extensions/browser_extension_window_controller.h
|
||
@@ -7,6 +7,7 @@
|
||
|
||
#include "base/memory/raw_ref.h"
|
||
#include "chrome/browser/extensions/window_controller.h"
|
||
+#include "chrome/browser/tab_list/tab_list_interface_observer.h"
|
||
#include "components/sessions/core/session_id.h"
|
||
#include "extensions/buildflags/buildflags.h"
|
||
#include "ui/base/unowned_user_data/scoped_unowned_user_data.h"
|
||
@@ -27,7 +28,7 @@ namespace api::tabs {
|
||
enum class WindowType;
|
||
} // namespace api::tabs
|
||
|
||
-class BrowserExtensionWindowController : public WindowController {
|
||
+class BrowserExtensionWindowController : public WindowController, TabListInterfaceObserver {
|
||
public:
|
||
DECLARE_USER_DATA(BrowserExtensionWindowController);
|
||
|
||
@@ -70,6 +71,7 @@ class BrowserExtensionWindowController : public WindowController {
|
||
bool OpenOptionsPage(const Extension* extension,
|
||
const GURL& url,
|
||
bool open_in_tab) override;
|
||
+ void OnTabListDestroyed(TabListInterface& tab_list) override;
|
||
|
||
private:
|
||
const raw_ref<BrowserWindowInterface> browser_;
|
||
@@ -78,7 +80,7 @@ class BrowserExtensionWindowController : public WindowController {
|
||
#if !BUILDFLAG(IS_ANDROID)
|
||
const raw_ref<BrowserWindow> window_;
|
||
#endif
|
||
- const raw_ref<TabListInterface> tab_list_;
|
||
+ raw_ptr<TabListInterface> tab_list_;
|
||
const SessionID session_id_;
|
||
const api::tabs::WindowType window_type_;
|
||
|
||
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
|
||
@@ -178,8 +178,12 @@ ManagedInstallationMode ExtensionManagement::GetInstallationMode(
|
||
update_url ? *update_url : std::string());
|
||
}
|
||
|
||
-#if BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS)
|
||
+#if BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS_CROMITE)
|
||
bool ExtensionManagement::ExtensionsEnabledForDesktopAndroid() const {
|
||
+ if ((true)) {
|
||
+ return base::FeatureList::IsEnabled(
|
||
+ extensions_features::kEnableExtensionsAndroid);
|
||
+ }
|
||
std::string user_name = profile_->GetProfileUserName();
|
||
// Crude check to avoid passing invalid strings to `ExtractDomainName`.
|
||
if (user_name.contains("@")) {
|
||
@@ -196,7 +200,7 @@ bool ExtensionManagement::ExtensionsEnabledForDesktopAndroid() const {
|
||
ManagedInstallationMode ExtensionManagement::GetInstallationMode(
|
||
const ExtensionId& extension_id,
|
||
const std::string& update_url) {
|
||
-#if BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS)
|
||
+#if BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS_CROMITE)
|
||
// Block extensions for managed profiles on Desktop Android. This is
|
||
// temporary until extensions are ready for dogfooding.
|
||
// TODO(crbug.com/422307625): Remove this check once extensions are ready for
|
||
diff --git a/chrome/browser/extensions/extension_management.h b/chrome/browser/extensions/extension_management.h
|
||
--- a/chrome/browser/extensions/extension_management.h
|
||
+++ b/chrome/browser/extensions/extension_management.h
|
||
@@ -104,7 +104,7 @@ class ExtensionManagement : public KeyedService,
|
||
const std::vector<std::unique_ptr<ManagementPolicy::Provider>>& GetProviders()
|
||
const;
|
||
|
||
-#if BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS)
|
||
+#if BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS_CROMITE)
|
||
// Checks if extensions are enabled for Desktop Android for the current
|
||
// profile. This is temporary for until extensions are ready for dogfooding.
|
||
// TODO(crbug.com/422307625): Remove this check once extensions are ready for
|
||
diff --git a/chrome/browser/extensions/extension_tab_util.cc b/chrome/browser/extensions/extension_tab_util.cc
|
||
--- a/chrome/browser/extensions/extension_tab_util.cc
|
||
+++ b/chrome/browser/extensions/extension_tab_util.cc
|
||
@@ -447,8 +447,10 @@ api::tabs::Tab ExtensionTabUtil::CreateTabObject(
|
||
tab_list->GetOpenerForTab(tab_interface->GetHandle());
|
||
if (opener) {
|
||
content::WebContents* opener_contents = opener->GetContents();
|
||
+#if !BUILDFLAG(IS_ANDROID)
|
||
CHECK(opener_contents);
|
||
- tab_object.opener_tab_id = GetTabIdForExtensions(*opener_contents);
|
||
+#endif
|
||
+ if (opener_contents) tab_object.opener_tab_id = GetTabIdForExtensions(*opener_contents);
|
||
}
|
||
}
|
||
|
||
@@ -1130,7 +1132,12 @@ base::expected<GURL, std::string> ExtensionTabUtil::PrepareURLForNavigation(
|
||
void ExtensionTabUtil::ForEachTab(
|
||
base::RepeatingCallback<void(WebContents*)> callback) {
|
||
tabs::ForEachTabInterface([&callback](tabs::TabInterface* tab) {
|
||
+#if BUILDFLAG(IS_ANDROID)
|
||
+ WebContents* web_contents = tab->GetContents();
|
||
+ if (web_contents) callback.Run(web_contents);
|
||
+#else
|
||
callback.Run(tab->GetContents());
|
||
+#endif
|
||
return true;
|
||
});
|
||
}
|
||
diff --git a/chrome/browser/extensions/extension_util.cc b/chrome/browser/extensions/extension_util.cc
|
||
--- a/chrome/browser/extensions/extension_util.cc
|
||
+++ b/chrome/browser/extensions/extension_util.cc
|
||
@@ -47,6 +47,10 @@
|
||
#include "chromeos/ash/components/file_manager/app_id.h"
|
||
#endif
|
||
|
||
+#if BUILDFLAG(IS_ANDROID)
|
||
+#include "extensions/common/extension_features.h"
|
||
+#endif
|
||
+
|
||
static_assert(BUILDFLAG(ENABLE_EXTENSIONS_CORE));
|
||
|
||
namespace extensions::util {
|
||
@@ -333,6 +337,13 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
|
||
|
||
bool AreExtensionsDisabled(const base::CommandLine& command_line,
|
||
content::BrowserContext* context) {
|
||
+#if BUILDFLAG(IS_ANDROID)
|
||
+ if (!base::FeatureList::IsEnabled(
|
||
+ extensions_features::kEnableExtensionsAndroid)) {
|
||
+ LOG(INFO) << "Extensions are disabled";
|
||
+ return true;
|
||
+ }
|
||
+#endif
|
||
Profile* profile = Profile::FromBrowserContext(context);
|
||
return ExtensionsDisabledViaCommandLine(command_line) ||
|
||
profile->GetPrefs()->GetBoolean(prefs::kDisableExtensions);
|
||
diff --git a/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/feed/FeedFeatures.java b/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/feed/FeedFeatures.java
|
||
--- a/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/feed/FeedFeatures.java
|
||
+++ b/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/feed/FeedFeatures.java
|
||
@@ -37,7 +37,7 @@ public final class FeedFeatures {
|
||
* enterprise policy, or by flag. The value returned should not be cached as it may change.
|
||
*/
|
||
public static boolean isFeedEnabled(Profile profile) {
|
||
- return (!ChromeFeatureList.sNtpSimplification.isEnabled() || !DeviceInfo.isDesktop())
|
||
+ return (!ChromeFeatureList.sNtpSimplification.isEnabled() || !DeviceInfo.isDesktopCromite())
|
||
&& FeedServiceBridge.isEnabled()
|
||
&& isFeedEnabledByDse(profile);
|
||
}
|
||
diff --git a/chrome/browser/feedback/android/java/src/org/chromium/chrome/browser/feedback/DeviceInfoFeedbackSource.java b/chrome/browser/feedback/android/java/src/org/chromium/chrome/browser/feedback/DeviceInfoFeedbackSource.java
|
||
--- a/chrome/browser/feedback/android/java/src/org/chromium/chrome/browser/feedback/DeviceInfoFeedbackSource.java
|
||
+++ b/chrome/browser/feedback/android/java/src/org/chromium/chrome/browser/feedback/DeviceInfoFeedbackSource.java
|
||
@@ -36,7 +36,7 @@ class DeviceInfoFeedbackSource implements FeedbackSource {
|
||
type = TYPE_AUTO;
|
||
} else if (DeviceInfo.isXr()) {
|
||
type = TYPE_XR;
|
||
- } else if (DeviceInfo.isDesktop()) {
|
||
+ } else if (DeviceInfo.isDesktopFalse()) {
|
||
type = TYPE_DESKTOP;
|
||
} else if (DeviceFormFactor.isNonMultiDisplayContextOnTablet(
|
||
ContextUtils.getApplicationContext())) {
|
||
diff --git a/chrome/browser/finds/core/finds_tab_helper.cc b/chrome/browser/finds/core/finds_tab_helper.cc
|
||
--- a/chrome/browser/finds/core/finds_tab_helper.cc
|
||
+++ b/chrome/browser/finds/core/finds_tab_helper.cc
|
||
@@ -31,7 +31,7 @@ bool IsValidNavigation(content::NavigationHandle* navigation_handle) {
|
||
|
||
bool IsSupportedPlatform() {
|
||
#if BUILDFLAG(IS_ANDROID)
|
||
- if (base::android::device_info::is_desktop() ||
|
||
+ if (base::android::device_info::is_desktop_false() ||
|
||
base::android::device_info::is_tv() ||
|
||
base::android::device_info::is_automotive() ||
|
||
base::android::device_info::is_xr()) {
|
||
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
|
||
@@ -793,7 +793,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 sAndroidPageInfoAsAppMenuItem =
|
||
newCachedFlag(ANDROID_PAGE_INFO_AS_APP_MENU_ITEM, false);
|
||
public static final CachedFlag sAndroidProgressBarVisualUpdate =
|
||
@@ -927,7 +927,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 =
|
||
@@ -1122,7 +1122,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/glic/public/features.cc b/chrome/browser/glic/public/features.cc
|
||
--- a/chrome/browser/glic/public/features.cc
|
||
+++ b/chrome/browser/glic/public/features.cc
|
||
@@ -54,7 +54,7 @@ BASE_FEATURE(kGlicLiveMode,
|
||
);
|
||
|
||
BASE_FEATURE(kGlicDefaultToLastActiveConversation,
|
||
-#if BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
+#if BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_DESKTOP_ANDROID_CROMITE)
|
||
base::FEATURE_ENABLED_BY_DEFAULT
|
||
#else
|
||
base::FEATURE_DISABLED_BY_DEFAULT
|
||
diff --git a/chrome/browser/glic/service/glic_instance_impl.cc b/chrome/browser/glic/service/glic_instance_impl.cc
|
||
--- a/chrome/browser/glic/service/glic_instance_impl.cc
|
||
+++ b/chrome/browser/glic/service/glic_instance_impl.cc
|
||
@@ -112,7 +112,7 @@ BASE_FEATURE(kGlicSuppressAnimationsOnDetach, base::FEATURE_ENABLED_BY_DEFAULT);
|
||
BASE_FEATURE(kGlicRemoveDaisyChainingWhenFreShowing,
|
||
base::FEATURE_ENABLED_BY_DEFAULT);
|
||
|
||
-#if BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
+#if BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_DESKTOP_ANDROID_CROMITE)
|
||
BASE_FEATURE(kGlicUnbindOnClose, base::FEATURE_ENABLED_BY_DEFAULT);
|
||
#else
|
||
BASE_FEATURE(kGlicUnbindOnClose, base::FEATURE_DISABLED_BY_DEFAULT);
|
||
diff --git a/chrome/browser/incognito/android/java/src/org/chromium/chrome/browser/incognito/IncognitoUtils.java b/chrome/browser/incognito/android/java/src/org/chromium/chrome/browser/incognito/IncognitoUtils.java
|
||
--- a/chrome/browser/incognito/android/java/src/org/chromium/chrome/browser/incognito/IncognitoUtils.java
|
||
+++ b/chrome/browser/incognito/android/java/src/org/chromium/chrome/browser/incognito/IncognitoUtils.java
|
||
@@ -97,7 +97,7 @@ public class IncognitoUtils {
|
||
// The feature should be ON for Android Desktop.
|
||
// The screen size check is not reliable on Android Desktop emulator.
|
||
sShouldOpenIncognitoAsWindowForTesting =
|
||
- DeviceInfo.isDesktop()
|
||
+ DeviceInfo.isDesktopFalse()
|
||
|| ThreadUtils.runOnUiThreadBlocking(
|
||
() ->
|
||
DisplayUtil.isGlobalDefaultDisplayWithMinDiagonal(
|
||
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
|
||
@@ -262,7 +262,7 @@ static_library("test_support") {
|
||
deps = []
|
||
sources = []
|
||
|
||
- if (!is_android || is_desktop_android) {
|
||
+ if (!is_android || is_desktop_android_cromite) {
|
||
deps += [
|
||
"//base",
|
||
"//chrome/browser/media/router/discovery",
|
||
@@ -413,7 +413,7 @@ source_set("unittests") {
|
||
}
|
||
|
||
# Traditional desktop platforms and desktop android with extensions support.
|
||
- if (!is_android || enable_desktop_android_extensions) {
|
||
+ if (!is_android) { # || enable_desktop_android_extensions) {
|
||
deps += [ "//chrome/browser/media/router/discovery:test_support" ]
|
||
}
|
||
|
||
diff --git a/chrome/browser/media/router/discovery/BUILD.gn b/chrome/browser/media/router/discovery/BUILD.gn
|
||
--- a/chrome/browser/media/router/discovery/BUILD.gn
|
||
+++ b/chrome/browser/media/router/discovery/BUILD.gn
|
||
@@ -4,7 +4,7 @@
|
||
|
||
import("//build/config/chrome_build.gni")
|
||
|
||
-assert(!is_android || is_desktop_android, "Not supported on mobile")
|
||
+assert(!is_android || is_desktop_android_cromite, "Not supported on mobile")
|
||
assert(!is_fuchsia, "Fuchsia shouldn't use anything in //chrome")
|
||
|
||
static_library("discovery") {
|
||
diff --git a/chrome/browser/media/router/media_router_feature.cc b/chrome/browser/media/router/media_router_feature.cc
|
||
--- a/chrome/browser/media/router/media_router_feature.cc
|
||
+++ b/chrome/browser/media/router/media_router_feature.cc
|
||
@@ -30,7 +30,7 @@
|
||
#include "extensions/buildflags/buildflags.h"
|
||
#include "ui/base/buildflags.h"
|
||
|
||
-#if !BUILDFLAG(IS_ANDROID) || BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS)
|
||
+#if !BUILDFLAG(IS_ANDROID) || BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS_FALSE)
|
||
#include "components/prefs/pref_registry_simple.h"
|
||
#endif
|
||
|
||
@@ -43,7 +43,7 @@
|
||
|
||
namespace media_router {
|
||
|
||
-#if !BUILDFLAG(IS_ANDROID) || BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS)
|
||
+#if !BUILDFLAG(IS_ANDROID) || BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS_FALSE)
|
||
BASE_FEATURE(kMediaRouter, base::FEATURE_ENABLED_BY_DEFAULT);
|
||
BASE_FEATURE(kCastAllowAllIPsFeature,
|
||
"CastAllowAllIPs",
|
||
@@ -82,7 +82,7 @@ base::flat_map<content::BrowserContext*, bool>& GetStoredPrefValues() {
|
||
return *stored_pref_values;
|
||
}
|
||
|
||
-#if !BUILDFLAG(IS_ANDROID) || BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS)
|
||
+#if !BUILDFLAG(IS_ANDROID) || BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS_FALSE)
|
||
// TODO(mfoltz): Add full implementation for validating playout delay value.
|
||
bool IsValidMirroringPlayoutDelayMs(int delay_ms) {
|
||
return delay_ms <= 1000 && delay_ms >= 1;
|
||
@@ -97,7 +97,7 @@ void ClearMediaRouterStoredPrefsForTesting() {
|
||
|
||
bool MediaRouterEnabled(content::BrowserContext* context) {
|
||
if ((true)) return false;
|
||
-#if !BUILDFLAG(IS_ANDROID) || BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS)
|
||
+#if !BUILDFLAG(IS_ANDROID) || BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS_FALSE)
|
||
if (!base::FeatureList::IsEnabled(kMediaRouter)) {
|
||
return false;
|
||
}
|
||
@@ -132,7 +132,7 @@ bool MediaRouterEnabled(content::BrowserContext* context) {
|
||
return true;
|
||
}
|
||
|
||
-#if !BUILDFLAG(IS_ANDROID) || BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS)
|
||
+#if !BUILDFLAG(IS_ANDROID) || BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS_FALSE)
|
||
void RegisterLocalStatePrefs(PrefRegistrySimple* registry) {
|
||
registry->RegisterBooleanPref(prefs::kMediaRouterCastAllowAllIPs, false,
|
||
PrefRegistry::PUBLIC);
|
||
diff --git a/chrome/browser/media/router/media_router_feature.h b/chrome/browser/media/router/media_router_feature.h
|
||
--- a/chrome/browser/media/router/media_router_feature.h
|
||
+++ b/chrome/browser/media/router/media_router_feature.h
|
||
@@ -27,7 +27,7 @@ bool MediaRouterEnabled(content::BrowserContext* context);
|
||
// process.
|
||
void ClearMediaRouterStoredPrefsForTesting();
|
||
|
||
-#if !BUILDFLAG(IS_ANDROID) || BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS)
|
||
+#if !BUILDFLAG(IS_ANDROID) || BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS_FALSE)
|
||
// Enables the media router. Can be disabled in tests unrelated to
|
||
// Media Router where it interferes. Can also be useful to disable for local
|
||
// development on Mac because DIAL local discovery opens a local port
|
||
diff --git a/chrome/browser/media/webrtc/webrtc_event_log_manager.cc b/chrome/browser/media/webrtc/webrtc_event_log_manager.cc
|
||
--- a/chrome/browser/media/webrtc/webrtc_event_log_manager.cc
|
||
+++ b/chrome/browser/media/webrtc/webrtc_event_log_manager.cc
|
||
@@ -113,7 +113,7 @@ class PeerConnectionTrackerProxyImpl
|
||
// necessarily for any given user profile.
|
||
// Certain platforms (mobile) are blocked from remote-bound logging.
|
||
bool IsRemoteLoggingFeatureEnabled() {
|
||
-#if BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
+#if BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_DESKTOP_ANDROID_FALSE)
|
||
bool enabled = false;
|
||
#else
|
||
bool enabled = true;
|
||
@@ -465,7 +465,7 @@ WebRtcEventLogManager::CreateRemoteLogFileWriterFactory() {
|
||
if (remote_log_file_writer_factory_for_testing_) {
|
||
return std::move(remote_log_file_writer_factory_for_testing_);
|
||
} else {
|
||
-#if !BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
+#if !BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_DESKTOP_ANDROID_FALSE)
|
||
return std::make_unique<GzippedLogFileWriterFactory>(
|
||
std::make_unique<GzipLogCompressorFactory>(
|
||
std::make_unique<DefaultGzippedSizeEstimator::Factory>()));
|
||
diff --git a/chrome/browser/ntp_customization/java/src/org/chromium/chrome/browser/ntp_customization/NtpCustomizationUtils.java b/chrome/browser/ntp_customization/java/src/org/chromium/chrome/browser/ntp_customization/NtpCustomizationUtils.java
|
||
--- a/chrome/browser/ntp_customization/java/src/org/chromium/chrome/browser/ntp_customization/NtpCustomizationUtils.java
|
||
+++ b/chrome/browser/ntp_customization/java/src/org/chromium/chrome/browser/ntp_customization/NtpCustomizationUtils.java
|
||
@@ -274,7 +274,7 @@ public class NtpCustomizationUtils {
|
||
|
||
/** Returns whether the NTP simplification is enabled on desktop. */
|
||
public static boolean isNtpSimplificationEnabledOnDesktop() {
|
||
- return ChromeFeatureList.sNtpSimplification.isEnabled() && DeviceInfo.isDesktop();
|
||
+ return ChromeFeatureList.sNtpSimplification.isEnabled() && DeviceInfo.isDesktopCromite();
|
||
}
|
||
|
||
/**
|
||
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
|
||
@@ -47,7 +47,7 @@
|
||
#include "chrome/browser/policy/status_provider/updater_status_and_value_provider.h"
|
||
#endif // BUILDFLAG(IS_WIN) && BUILDFLAG(GOOGLE_CHROME_BRANDING)
|
||
|
||
-#if BUILDFLAG(ENABLE_EXTENSIONS)
|
||
+#if BUILDFLAG(ENABLE_EXTENSIONS_CORE)
|
||
#include "chrome/browser/policy/cloud/extension_install_policy_service_factory.h"
|
||
#include "chrome/browser/policy/value_provider/extension_install_policies_value_provider.h"
|
||
#include "chrome/browser/policy/value_provider/extension_policies_value_provider.h"
|
||
diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
|
||
--- a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
|
||
+++ b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
|
||
@@ -669,7 +669,7 @@ void ChromeBrowserMainExtraPartsProfiles::
|
||
chromeos_extensions::EnsureBrowserContextKeyedServiceFactoriesBuilt();
|
||
#endif
|
||
extensions::EnsureBrowserContextKeyedServiceFactoriesBuilt();
|
||
-#elif BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS)
|
||
+#elif BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS_CROMITE)
|
||
chrome_extensions::EnsureBrowserContextKeyedServiceFactoriesBuilt();
|
||
// EnsureBrowserContextKeyedServiceFactoriesBuilt() is invoked before the
|
||
// ExtensionsBrowserClient is ready on Android. This is due to Android
|
||
diff --git a/chrome/browser/profiles/off_the_record_profile_impl.cc b/chrome/browser/profiles/off_the_record_profile_impl.cc
|
||
--- a/chrome/browser/profiles/off_the_record_profile_impl.cc
|
||
+++ b/chrome/browser/profiles/off_the_record_profile_impl.cc
|
||
@@ -110,6 +110,7 @@
|
||
#include "chrome/browser/extensions/extension_special_storage_policy.h"
|
||
#include "chrome/browser/ui/webui/extensions/extension_icon_source.h"
|
||
#include "extensions/browser/api/web_request/extension_web_request_event_router.h"
|
||
+#include "extensions/browser/process_manager.h"
|
||
#endif
|
||
|
||
#if BUILDFLAG(ENABLE_GUEST_VIEW)
|
||
@@ -209,7 +210,9 @@ void OffTheRecordProfileImpl::Init() {
|
||
// Make the chrome//extension-icon/ resource available.
|
||
content::URLDataSource::Add(
|
||
this, std::make_unique<extensions::ExtensionIconSource>(profile_));
|
||
-
|
||
+ if (extensions::ProcessManager* process_manager = extensions::ProcessManager::Get(this)) {
|
||
+ process_manager->MaybeCreateStartupBackgroundHosts();
|
||
+ }
|
||
extensions::WebRequestEventRouter::OnOTRBrowserContextCreated(profile_, this);
|
||
#endif // BUILDFLAG(ENABLE_EXTENSIONS_CORE)
|
||
|
||
diff --git a/chrome/browser/profiles/profile_destroyer.cc b/chrome/browser/profiles/profile_destroyer.cc
|
||
--- a/chrome/browser/profiles/profile_destroyer.cc
|
||
+++ b/chrome/browser/profiles/profile_destroyer.cc
|
||
@@ -29,7 +29,7 @@ namespace {
|
||
#if BUILDFLAG(IS_ANDROID)
|
||
// Set the render host waiting time to 5s on Android, that's the same
|
||
// as an "Application Not Responding" timeout.
|
||
-const int64_t kTimerDelaySeconds = 5;
|
||
+const int64_t kTimerDelaySeconds = 1;
|
||
#elif BUILDFLAG(IS_CHROMEOS)
|
||
// linux-chromeos-dbg is failing to destroy the profile in under 1 second
|
||
const int64_t kTimerDelaySeconds = 2;
|
||
diff --git a/chrome/browser/resources/BUILD.gn b/chrome/browser/resources/BUILD.gn
|
||
--- a/chrome/browser/resources/BUILD.gn
|
||
+++ b/chrome/browser/resources/BUILD.gn
|
||
@@ -123,7 +123,7 @@ group("resources") {
|
||
]
|
||
}
|
||
|
||
- if (is_win || is_mac || is_linux || is_chromeos || is_desktop_android) {
|
||
+ if (is_win || is_mac || is_linux || is_chromeos || is_desktop_android_cromite) {
|
||
public_deps += [
|
||
"discards:resources",
|
||
"management:resources",
|
||
diff --git a/chrome/browser/resources/discards/BUILD.gn b/chrome/browser/resources/discards/BUILD.gn
|
||
--- a/chrome/browser/resources/discards/BUILD.gn
|
||
+++ b/chrome/browser/resources/discards/BUILD.gn
|
||
@@ -5,7 +5,7 @@
|
||
import("//ui/webui/resources/tools/build_webui.gni")
|
||
import("//ui/webui/resources/tools/generate_grd.gni")
|
||
|
||
-assert(!is_android || is_desktop_android)
|
||
+assert(!is_android || is_desktop_android_cromite)
|
||
|
||
build_webui("build") {
|
||
grd_prefix = "discards"
|
||
diff --git a/chrome/browser/resources/extensions/detail_view.css b/chrome/browser/resources/extensions/detail_view.css
|
||
--- a/chrome/browser/resources/extensions/detail_view.css
|
||
+++ b/chrome/browser/resources/extensions/detail_view.css
|
||
@@ -212,3 +212,9 @@ extensions-toggle-row {
|
||
display: flex;
|
||
flex-direction: row;
|
||
}
|
||
+
|
||
+<if expr="is_android">
|
||
+.page-content {
|
||
+ width: 100% !important;
|
||
+}
|
||
+</if>
|
||
diff --git a/chrome/browser/resources/extensions/extensions.html b/chrome/browser/resources/extensions/extensions.html
|
||
--- a/chrome/browser/resources/extensions/extensions.html
|
||
+++ b/chrome/browser/resources/extensions/extensions.html
|
||
@@ -1,9 +1,15 @@
|
||
<!doctype html>
|
||
<html dir="$i18n{textdirection}" lang="$i18n{language}"
|
||
- class="loading $i18n{loadTimeClasses}">
|
||
+ class="loading $i18n{loadTimeClasses}"
|
||
+<if expr="is_android">
|
||
+ android
|
||
+</if>>
|
||
<head>
|
||
<meta charset="utf8">
|
||
<meta name="color-scheme" content="light dark">
|
||
+<if expr="is_android">
|
||
+ <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=yes">
|
||
+</if>
|
||
<title>$i18n{title}</title>
|
||
<base href="chrome://extensions">
|
||
<link rel="stylesheet" href="chrome://resources/css/md_colors.css">
|
||
diff --git a/chrome/browser/resources/extensions/item_list.css b/chrome/browser/resources/extensions/item_list.css
|
||
--- a/chrome/browser/resources/extensions/item_list.css
|
||
+++ b/chrome/browser/resources/extensions/item_list.css
|
||
@@ -10,7 +10,12 @@
|
||
|
||
.items-container,
|
||
#content-wrapper {
|
||
+<if expr="is_android">
|
||
+ --extensions-card-width: 90vw;
|
||
+</if>
|
||
+<if expr="not is_android">
|
||
--extensions-card-width: 400px;
|
||
+</if>
|
||
}
|
||
|
||
#container {
|
||
@@ -20,7 +25,12 @@
|
||
|
||
#content-wrapper {
|
||
min-width: var(--extensions-card-width);
|
||
+<if expr="is_android">
|
||
+ padding: 0 !important;
|
||
+</if>
|
||
+<if expr="not is_android">
|
||
padding: 24px 60px 64px;
|
||
+</if>
|
||
}
|
||
|
||
#content-wrapper:has(extensions-review-panel),
|
||
diff --git a/chrome/browser/resources/extensions/manager.css b/chrome/browser/resources/extensions/manager.css
|
||
--- a/chrome/browser/resources/extensions/manager.css
|
||
+++ b/chrome/browser/resources/extensions/manager.css
|
||
@@ -73,3 +73,7 @@ extensions-item {
|
||
#right {
|
||
flex: 1 1 0;
|
||
}
|
||
+
|
||
+#drawer {
|
||
+ z-index: 9999;
|
||
+}
|
||
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
|
||
@@ -26,13 +26,6 @@ export function getHtml(this: ToolbarElement) {
|
||
aria-labelledby="devModeLabel">
|
||
</cr-toggle>
|
||
</div>
|
||
- <if expr="is_android">
|
||
- <picture slot="product-logo">
|
||
- <source media="(prefers-color-scheme: dark)"
|
||
- srcset="//resources/images/chrome_logo_dark.svg">
|
||
- <img srcset="images/product_logo.png" role="presentation">
|
||
- </picture>
|
||
- </if>
|
||
<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
|
||
@@ -305,7 +305,7 @@ public abstract class ChromeProvidedSharingOptionsProviderBase {
|
||
}
|
||
|
||
private void maybeAddCollaborateFirstPartyOption() {
|
||
- if (DeviceInfo.isDesktop()) {
|
||
+ if (DeviceInfo.isDesktopFalse()) {
|
||
return;
|
||
}
|
||
FirstPartyOption option = createCollaborateFirstPartyOption();
|
||
@@ -337,7 +337,7 @@ public abstract class ChromeProvidedSharingOptionsProviderBase {
|
||
|
||
private void maybeAddPrintFirstPartyOption() {
|
||
// For the desktop case, the Print action will be showed in the main menu.
|
||
- if (!DeviceInfo.isDesktop()
|
||
+ if (!DeviceInfo.isDesktopFalse()
|
||
&& mTabProvider.get() != null
|
||
&& UserPrefs.get(mProfile).getBoolean(Pref.PRINTING_ENABLED)) {
|
||
mOrderedFirstPartyOptions.add(createPrintingFirstPartyOption());
|
||
diff --git a/chrome/browser/startup_data.cc b/chrome/browser/startup_data.cc
|
||
--- a/chrome/browser/startup_data.cc
|
||
+++ b/chrome/browser/startup_data.cc
|
||
@@ -51,7 +51,7 @@
|
||
#include "mojo/public/cpp/bindings/pending_remote.h"
|
||
#include "services/preferences/public/mojom/tracked_preference_validation_delegate.mojom.h"
|
||
|
||
-#if BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS)
|
||
+#if BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS_CROMITE)
|
||
#include "chrome/browser/extensions/chrome_extensions_browser_client.h"
|
||
#include "extensions/browser/extensions_browser_client.h"
|
||
#endif
|
||
@@ -167,7 +167,7 @@ StartupData::TakeProtoDatabaseProvider() {
|
||
void StartupData::PreProfilePrefServiceInit() {
|
||
pref_registry_ = base::MakeRefCounted<user_prefs::PrefRegistrySyncable>();
|
||
|
||
-#if BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS)
|
||
+#if BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS_CROMITE)
|
||
// On desktop Android the ExtensionsBrowserClient is created here because it
|
||
// must be initialized before BrowserContextKeyedServiceFactories are built.
|
||
// Some factories use ExtensionsBrowserClient::Get() in their DependsOn().
|
||
@@ -249,7 +249,7 @@ void StartupData::CreateServicesInternal() {
|
||
}
|
||
#endif
|
||
|
||
-#if BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS)
|
||
+#if BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS_CROMITE)
|
||
std::unique_ptr<extensions::ExtensionsBrowserClient>
|
||
StartupData::TakeExtensionsBrowserClient() {
|
||
return std::move(extensions_browser_client_);
|
||
diff --git a/chrome/browser/startup_data.h b/chrome/browser/startup_data.h
|
||
--- a/chrome/browser/startup_data.h
|
||
+++ b/chrome/browser/startup_data.h
|
||
@@ -12,7 +12,7 @@
|
||
#include "components/leveldb_proto/public/proto_database_provider.h"
|
||
#include "extensions/buildflags/buildflags.h"
|
||
|
||
-#if BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS)
|
||
+#if BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS_CROMITE)
|
||
namespace extensions {
|
||
class ExtensionsBrowserClient;
|
||
}
|
||
@@ -92,7 +92,7 @@ class StartupData {
|
||
TakeProtoDatabaseProvider();
|
||
#endif
|
||
|
||
-#if BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS)
|
||
+#if BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS_CROMITE)
|
||
// Passes ownership of the `extensions_browser_client_` to the caller.
|
||
std::unique_ptr<extensions::ExtensionsBrowserClient>
|
||
TakeExtensionsBrowserClient();
|
||
@@ -120,7 +120,7 @@ class StartupData {
|
||
std::unique_ptr<leveldb_proto::ProtoDatabaseProvider> proto_db_provider_;
|
||
#endif
|
||
|
||
-#if BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS)
|
||
+#if BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS_CROMITE)
|
||
std::unique_ptr<extensions::ExtensionsBrowserClient>
|
||
extensions_browser_client_;
|
||
#endif
|
||
diff --git a/chrome/browser/task_manager/common/task_manager_features.cc b/chrome/browser/task_manager/common/task_manager_features.cc
|
||
--- a/chrome/browser/task_manager/common/task_manager_features.cc
|
||
+++ b/chrome/browser/task_manager/common/task_manager_features.cc
|
||
@@ -11,7 +11,7 @@ namespace features {
|
||
#if BUILDFLAG(IS_ANDROID)
|
||
// Enables the Task Manager on Clank.
|
||
BASE_FEATURE(kTaskManagerClank,
|
||
-#if BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
+#if BUILDFLAG(IS_DESKTOP_ANDROID_CROMITE)
|
||
base::FEATURE_ENABLED_BY_DEFAULT
|
||
#else
|
||
base::FEATURE_DISABLED_BY_DEFAULT
|
||
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
|
||
--- a/chrome/browser/ui/BUILD.gn
|
||
+++ b/chrome/browser/ui/BUILD.gn
|
||
@@ -719,7 +719,7 @@ static_library("ui") {
|
||
}
|
||
|
||
# Desktop-Android-only dependencies.
|
||
- if (is_desktop_android) {
|
||
+ if (is_desktop_android_cromite) {
|
||
deps += [ "//chrome/browser/ui/android/extensions/windowing/internal" ]
|
||
}
|
||
|
||
@@ -3022,7 +3022,7 @@ static_library("ui") {
|
||
allow_circular_includes_from += [ "//chrome/browser/ui/wallet" ]
|
||
}
|
||
|
||
- if (is_win || is_mac || is_linux || is_chromeos || is_desktop_android) {
|
||
+ if (is_win || is_mac || is_linux || is_chromeos || is_desktop_android_cromite) {
|
||
sources += [
|
||
"webui/discards/discards_ui.cc",
|
||
"webui/discards/discards_ui.h",
|
||
diff --git a/chrome/browser/ui/android/context_menu_helper.cc b/chrome/browser/ui/android/context_menu_helper.cc
|
||
--- a/chrome/browser/ui/android/context_menu_helper.cc
|
||
+++ b/chrome/browser/ui/android/context_menu_helper.cc
|
||
@@ -24,7 +24,7 @@
|
||
#include "ui/gfx/geometry/size.h"
|
||
#include "url/gurl.h"
|
||
|
||
-#if BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS)
|
||
+#if BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS_CROMITE)
|
||
#include "chrome/browser/extensions/extension_menu_model_android.h"
|
||
#include "ui/menus/simple_menu_model.h"
|
||
#endif // BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS)
|
||
@@ -44,7 +44,7 @@ ContextMenuHelper::ContextMenuHelper(content::WebContents* web_contents)
|
||
}
|
||
|
||
ContextMenuHelper::~ContextMenuHelper() {
|
||
-#if BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS)
|
||
+#if BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS_CROMITE)
|
||
extension_menu_model_.reset();
|
||
#endif // BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS)
|
||
JNIEnv* env = base::android::AttachCurrentThread();
|
||
@@ -58,7 +58,7 @@ void ContextMenuHelper::ShowContextMenu(
|
||
context_menu_params_ = params;
|
||
gfx::NativeView view = GetWebContents().GetNativeView();
|
||
|
||
-#if BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS)
|
||
+#if BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS_CROMITE)
|
||
// Reset any previous menu model, in case a new menu is shown
|
||
// before the old one was gracefully closed.
|
||
extension_menu_model_.reset();
|
||
@@ -81,11 +81,17 @@ void ContextMenuHelper::ShowContextMenu(
|
||
}
|
||
|
||
void ContextMenuHelper::DismissContextMenu() {
|
||
+#if BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS_CROMITE)
|
||
+ extension_menu_model_.reset();
|
||
+#endif // BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS)
|
||
JNIEnv* env = base::android::AttachCurrentThread();
|
||
Java_ContextMenuHelper_dismissContextMenu(env, GetJavaObject(env));
|
||
}
|
||
|
||
void ContextMenuHelper::OnContextMenuClosed(JNIEnv* env) {
|
||
+#if BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS_CROMITE)
|
||
+ extension_menu_model_.reset();
|
||
+#endif // BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS)
|
||
GetWebContents().NotifyContextMenuClosed(context_menu_params_.link_followed,
|
||
context_menu_params_.impression);
|
||
}
|
||
diff --git a/chrome/browser/ui/android/context_menu_helper.h b/chrome/browser/ui/android/context_menu_helper.h
|
||
--- a/chrome/browser/ui/android/context_menu_helper.h
|
||
+++ b/chrome/browser/ui/android/context_menu_helper.h
|
||
@@ -15,7 +15,7 @@
|
||
#include "extensions/buildflags/buildflags.h"
|
||
#include "mojo/public/cpp/bindings/associated_remote.h"
|
||
|
||
-#if BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS)
|
||
+#if BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS_CROMITE)
|
||
namespace extensions {
|
||
class ExtensionMenuModel;
|
||
}
|
||
@@ -54,7 +54,7 @@ class ContextMenuHelper
|
||
|
||
content::ContextMenuParams context_menu_params_;
|
||
|
||
-#if BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS)
|
||
+#if BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS_CROMITE)
|
||
std::unique_ptr<extensions::ExtensionMenuModel> extension_menu_model_;
|
||
#endif // BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS)
|
||
|
||
diff --git a/chrome/browser/ui/android/desktop_site/java/src/org/chromium/chrome/browser/desktop_site/DesktopSiteUtils.java b/chrome/browser/ui/android/desktop_site/java/src/org/chromium/chrome/browser/desktop_site/DesktopSiteUtils.java
|
||
--- a/chrome/browser/ui/android/desktop_site/java/src/org/chromium/chrome/browser/desktop_site/DesktopSiteUtils.java
|
||
+++ b/chrome/browser/ui/android/desktop_site/java/src/org/chromium/chrome/browser/desktop_site/DesktopSiteUtils.java
|
||
@@ -115,7 +115,7 @@ public class DesktopSiteUtils {
|
||
*/
|
||
static boolean shouldDefaultEnableGlobalSetting(double displaySizeInInches, Context context) {
|
||
// Desktop Android always requests desktop sites.
|
||
- if (DeviceInfo.isDesktop()) {
|
||
+ if (DeviceInfo.isDesktopFalse()) {
|
||
return true;
|
||
}
|
||
|
||
@@ -195,7 +195,7 @@ public class DesktopSiteUtils {
|
||
boolean isOnExternalDisplay = isOnExternalDisplay(activity);
|
||
if (isOnExternalDisplay
|
||
|| smallestScreenWidthDp < DeviceFormFactor.MINIMUM_TABLET_WIDTH_DP
|
||
- || DeviceInfo.isDesktop()) {
|
||
+ || DeviceInfo.isDesktopFalse()) {
|
||
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
|
||
@@ -87,8 +87,8 @@ if (enable_extensions_core) {
|
||
|
||
java_cpp_template("generate_buildflags") {
|
||
sources = [ "java/templates/ExtensionsBuildflags.template" ]
|
||
- if (enable_desktop_android_extensions) {
|
||
- defines = [ "_ENABLE_DESKTOP_ANDROID_EXTENSIONS" ]
|
||
+ if (enable_desktop_android_extensions_cromite) {
|
||
+ defines = [ "_ENABLE_DESKTOP_ANDROID_EXTENSIONS_CROMITE" ]
|
||
}
|
||
}
|
||
|
||
diff --git a/chrome/browser/ui/android/extensions/extension_actions_bridge.cc b/chrome/browser/ui/android/extensions/extension_actions_bridge.cc
|
||
--- a/chrome/browser/ui/android/extensions/extension_actions_bridge.cc
|
||
+++ b/chrome/browser/ui/android/extensions/extension_actions_bridge.cc
|
||
@@ -8,12 +8,15 @@
|
||
#include <variant>
|
||
|
||
#include "base/android/jni_string.h"
|
||
+#include "base/files/file_util.h"
|
||
+#include "base/task/thread_pool.h"
|
||
#include "chrome/browser/extensions/extension_management.h"
|
||
#include "chrome/browser/profiles/profile.h"
|
||
#include "chrome/browser/ui/browser_window/public/browser_window_interface.h"
|
||
#include "ui/events/android/key_event_android.h"
|
||
|
||
// Must come after all headers that specialize FromJniType() / ToJniType().
|
||
+#include "extensions/common/constants.h"
|
||
#include "chrome/browser/ui/android/extensions/jni_headers/ExtensionAction_jni.h"
|
||
#include "chrome/browser/ui/android/extensions/jni_headers/ExtensionActionsBridge_jni.h"
|
||
|
||
@@ -28,6 +31,26 @@ ExtensionActionsBridge::ExtensionActionsBridge(
|
||
|
||
ExtensionActionsBridge::~ExtensionActionsBridge() = default;
|
||
|
||
+void ExtensionActionsBridge::ClearExtensionData(JNIEnv* env) {
|
||
+ auto install_directory = profile_->GetPath().AppendASCII(kInstallDirectoryName);
|
||
+ auto install_updacked_directory = profile_->GetPath().AppendASCII(kInstallDirectoryName);
|
||
+
|
||
+ base::ThreadPool::PostTask(
|
||
+ FROM_HERE, {base::MayBlock(), base::TaskPriority::USER_BLOCKING},
|
||
+ base::BindOnce(
|
||
+ [](const base::FilePath& install_directory,
|
||
+ const base::FilePath& install_updacked_directory) {
|
||
+ LOG(INFO) << "Removing " << install_directory;
|
||
+ if (!base::DeletePathRecursively(install_directory))
|
||
+ LOG(ERROR) << "Failed";
|
||
+
|
||
+ LOG(INFO) << "Removing " << install_updacked_directory;
|
||
+ if (!base::DeletePathRecursively(install_updacked_directory))
|
||
+ LOG(ERROR) << "Failed";
|
||
+ },
|
||
+ install_directory, install_updacked_directory));
|
||
+}
|
||
+
|
||
void ExtensionActionsBridge::Destroy(JNIEnv* env) {
|
||
delete this;
|
||
}
|
||
diff --git a/chrome/browser/ui/android/extensions/extension_actions_bridge.h b/chrome/browser/ui/android/extensions/extension_actions_bridge.h
|
||
--- a/chrome/browser/ui/android/extensions/extension_actions_bridge.h
|
||
+++ b/chrome/browser/ui/android/extensions/extension_actions_bridge.h
|
||
@@ -26,6 +26,7 @@ class ExtensionActionsBridge {
|
||
~ExtensionActionsBridge();
|
||
|
||
// JNI implementations.
|
||
+ void ClearExtensionData(JNIEnv* env);
|
||
void Destroy(JNIEnv* env);
|
||
|
||
private:
|
||
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
|
||
@@ -183,6 +183,7 @@ base::android::ScopedJavaLocalRef<jobject> ExtensionsToolbarAndroid::GetAction(
|
||
content::WebContents* web_contents) {
|
||
ToolbarActionViewModel* action =
|
||
toolbar_view_model_->GetActionModelForId(action_id);
|
||
+ if (!action) return nullptr;
|
||
return Java_ExtensionAction_Constructor(
|
||
env, action_id, base::UTF16ToUTF8(action->GetTooltip(web_contents)),
|
||
base::UTF16ToUTF8(action->GetAccessibleName(web_contents)));
|
||
diff --git a/chrome/browser/ui/android/extensions/java/res/layout/extensions_menu_footer.xml b/chrome/browser/ui/android/extensions/java/res/layout/extensions_menu_footer.xml
|
||
--- a/chrome/browser/ui/android/extensions/java/res/layout/extensions_menu_footer.xml
|
||
+++ b/chrome/browser/ui/android/extensions/java/res/layout/extensions_menu_footer.xml
|
||
@@ -36,6 +36,7 @@ found in the LICENSE file.
|
||
|
||
<LinearLayout
|
||
android:id="@+id/extensions_menu_discover_extensions_button"
|
||
+ android:visibility="gone"
|
||
style="@style/ExtensionsMenuFooterRow"
|
||
tools:ignore="UseCompoundDrawables" >
|
||
|
||
@@ -70,4 +71,4 @@ found in the LICENSE file.
|
||
|
||
</LinearLayout>
|
||
|
||
-</LinearLayout>
|
||
\ No newline at end of file
|
||
+</LinearLayout>
|
||
diff --git a/chrome/browser/ui/android/extensions/java/res/values/dimens.xml b/chrome/browser/ui/android/extensions/java/res/values/dimens.xml
|
||
--- a/chrome/browser/ui/android/extensions/java/res/values/dimens.xml
|
||
+++ b/chrome/browser/ui/android/extensions/java/res/values/dimens.xml
|
||
@@ -14,6 +14,7 @@ found in the LICENSE file.
|
||
<dimen name="extensions_menu_footer_icon_size">20dp</dimen>
|
||
|
||
<!-- Extensions Toolbar dimensions -->
|
||
+ <dimen name="extension_toolbar_baseline_min_width">50dp</dimen>
|
||
<dimen name="extensions_toolbar_button_radius_inner">4dp</dimen>
|
||
<dimen name="extensions_toolbar_button_radius_outer">20dp</dimen>
|
||
<dimen name="extensions_request_access_button_margin_end">2dp</dimen>
|
||
diff --git a/chrome/browser/ui/android/extensions/java/src/org/chromium/chrome/browser/ui/extensions/ExtensionActionsBridge.java b/chrome/browser/ui/android/extensions/java/src/org/chromium/chrome/browser/ui/extensions/ExtensionActionsBridge.java
|
||
--- a/chrome/browser/ui/android/extensions/java/src/org/chromium/chrome/browser/ui/extensions/ExtensionActionsBridge.java
|
||
+++ b/chrome/browser/ui/android/extensions/java/src/org/chromium/chrome/browser/ui/extensions/ExtensionActionsBridge.java
|
||
@@ -45,12 +45,18 @@ public class ExtensionActionsBridge implements Destroyable {
|
||
return ExtensionActionsBridgeJni.get().extensionsEnabled(profile);
|
||
}
|
||
|
||
+ public void clearExtensionData() {
|
||
+ ExtensionActionsBridgeJni.get().clearExtensionData(mNativeExtensionActionsBridge);
|
||
+ }
|
||
+
|
||
@NativeMethods
|
||
public interface Natives {
|
||
boolean extensionsEnabled(@JniType("Profile*") Profile profile);
|
||
|
||
long init(ExtensionActionsBridge bridge, long browserWindowInterfacePtr);
|
||
|
||
+ void clearExtensionData(long nativeExtensionActionsBridge);
|
||
+
|
||
void destroy(long nativeExtensionActionsBridge);
|
||
}
|
||
}
|
||
diff --git a/chrome/browser/ui/android/extensions/windowing/internal/BUILD.gn b/chrome/browser/ui/android/extensions/windowing/internal/BUILD.gn
|
||
--- a/chrome/browser/ui/android/extensions/windowing/internal/BUILD.gn
|
||
+++ b/chrome/browser/ui/android/extensions/windowing/internal/BUILD.gn
|
||
@@ -6,7 +6,7 @@ import("//build/config/android/rules.gni")
|
||
import("//build/config/chrome_build.gni")
|
||
import("//third_party/jni_zero/jni_zero.gni")
|
||
|
||
-assert(is_desktop_android)
|
||
+assert(is_desktop_android_cromite)
|
||
|
||
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
|
||
+++ b/chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Enable-extensions-Android.grdp
|
||
@@ -0,0 +1,15 @@
|
||
+<?xml version="1.0" encoding="utf-8"?>
|
||
+<grit-part>
|
||
+ <message name="IDS_STORAGE_MANAGEMENT_EXTENSION_STORAGE_DESCRIPTION" desc="Text used to describe extension storage space used by Chrome.">
|
||
+ Total data used by extensions
|
||
+ </message>
|
||
+ <message name="IDS_STORAGE_MANAGEMENT_CLEAR_ALL_EXTENSION_BUTTON" desc="Text on the button to clear all extension data. [CHAR_LIMIT=30]">
|
||
+ Clear All Extensions Data
|
||
+ </message>
|
||
+ <message name="IDS_STORAGE_MANAGEMENT_EXTENSION_RESET_APP_DIALOG_TITLE" desc="Title of the reset extension dialog in the storage UI used to reset the app.">
|
||
+ Delete extension data?
|
||
+ </message>
|
||
+ <message name="IDS_STORAGE_MANAGEMENT_EXTENSION_RESET_APP_DIALOG_TEXT" desc="Text of the reset extension dialoag in the storage UI.">
|
||
+ All Chrome’s extension data will be deleted permanently.
|
||
+ </message>
|
||
+</grit-part>
|
||
diff --git a/chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Extensions-Android.grdp b/chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Extensions-Android.grdp
|
||
new file mode 100644
|
||
--- /dev/null
|
||
+++ b/chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Extensions-Android.grdp
|
||
@@ -0,0 +1,9 @@
|
||
+<?xml version="1.0" encoding="utf-8"?>
|
||
+<grit-part>
|
||
+ <message name="IDS_ANDROID_EXTENSIONS_TITLE" desc="">
|
||
+ Enable Extensions
|
||
+ </message>
|
||
+ <message name="IDS_ANDROID_EXTENSIONS_SUMMARY" desc="">
|
||
+ Enable experimental support for extensions in Android
|
||
+ </message>
|
||
+</grit-part>
|
||
diff --git a/chrome/browser/ui/android/tab_model/tab_model.cc b/chrome/browser/ui/android/tab_model/tab_model.cc
|
||
--- a/chrome/browser/ui/android/tab_model/tab_model.cc
|
||
+++ b/chrome/browser/ui/android/tab_model/tab_model.cc
|
||
@@ -183,7 +183,7 @@ bool TabListInterface::CanEditTabList(Profile& profile) {
|
||
|
||
// static
|
||
bool TabModel::EnableBrowserWindowInterfaceMobile() {
|
||
-#if BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
+#if BUILDFLAG(IS_DESKTOP_ANDROID_CROMITE)
|
||
return true;
|
||
#else // !BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
return base::FeatureList::IsEnabled(
|
||
diff --git a/chrome/browser/ui/android/tab_model/tab_model_test_helper.h b/chrome/browser/ui/android/tab_model/tab_model_test_helper.h
|
||
--- a/chrome/browser/ui/android/tab_model/tab_model_test_helper.h
|
||
+++ b/chrome/browser/ui/android/tab_model/tab_model_test_helper.h
|
||
@@ -133,7 +133,7 @@ class TestTabModel : public TabModel {
|
||
|
||
// BrowserWindowInterface is available on desktop Android, but not other Android
|
||
// builds.
|
||
-#if BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
+#if BUILDFLAG(IS_DESKTOP_ANDROID_CROMITE)
|
||
void AssociateWithBrowserWindow(BrowserWindowInterface* browser_window);
|
||
#endif
|
||
|
||
diff --git a/chrome/browser/ui/android/toolbar/java/res/layout/toolbar_phone.xml b/chrome/browser/ui/android/toolbar/java/res/layout/toolbar_phone.xml
|
||
--- a/chrome/browser/ui/android/toolbar/java/res/layout/toolbar_phone.xml
|
||
+++ b/chrome/browser/ui/android/toolbar/java/res/layout/toolbar_phone.xml
|
||
@@ -65,6 +65,12 @@ found in the LICENSE file.
|
||
android:layout_height="match_parent"
|
||
android:visibility="gone"/>
|
||
|
||
+ <ViewStub
|
||
+ android:id="@+id/extensions_toolbar_container_stub"
|
||
+ android:inflatedId="@+id/extensions_toolbar_container"
|
||
+ android:layout_width="wrap_content"
|
||
+ android:layout_height="match_parent" />
|
||
+
|
||
<org.chromium.chrome.browser.toolbar.top.ToggleTabStackButton
|
||
android:id="@+id/tab_switcher_button"
|
||
style="@style/ToolbarHoverableButton"
|
||
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/extensions/ExtensionsMenuCoordinator.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/extensions/ExtensionsMenuCoordinator.java
|
||
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/extensions/ExtensionsMenuCoordinator.java
|
||
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/extensions/ExtensionsMenuCoordinator.java
|
||
@@ -25,6 +25,7 @@ import org.chromium.chrome.browser.tabmodel.TabCreator;
|
||
import org.chromium.chrome.browser.theme.ThemeColorProvider;
|
||
import org.chromium.chrome.browser.toolbar.MenuBuilderHelper;
|
||
import org.chromium.chrome.browser.toolbar.extensions.ExtensionsToolbarCoordinatorImpl.MenuButtonPinningDelegate;
|
||
+import org.chromium.chrome.browser.toolbar.extensions.ExtensionActionListCoordinator;
|
||
import org.chromium.chrome.browser.ui.browser_window.ChromeAndroidTask;
|
||
import org.chromium.chrome.browser.ui.extensions.ExtensionsToolbarBridge;
|
||
import org.chromium.chrome.browser.ui.extensions.R;
|
||
@@ -67,6 +68,7 @@ public class ExtensionsMenuCoordinator implements Destroyable, ExtensionsToolbar
|
||
private final ExtensionsToolbarBridge mExtensionsToolbarBridge;
|
||
private final MenuButtonPinningDelegate mMenuButtonPinningDelegate;
|
||
private final ThemeColorProvider.TintObserver mTintObserver = this::onTintChanged;
|
||
+ private final ExtensionActionListCoordinator mExtensionActionListCoordinator;
|
||
|
||
@Nullable @VisibleForTesting ExtensionsMenuMediator mMediator;
|
||
|
||
@@ -93,7 +95,9 @@ public class ExtensionsMenuCoordinator implements Destroyable, ExtensionsToolbar
|
||
NullableObservableSupplier<Tab> currentTabSupplier,
|
||
TabCreator tabCreator,
|
||
ExtensionsToolbarBridge extensionsToolbarBridge,
|
||
- MenuButtonPinningDelegate menuButtonPinningDelegate) {
|
||
+ MenuButtonPinningDelegate menuButtonPinningDelegate,
|
||
+ ExtensionActionListCoordinator extensionActionListCoordinator) {
|
||
+ mExtensionActionListCoordinator = extensionActionListCoordinator;
|
||
mContext = context;
|
||
mCurrentTabSupplier = currentTabSupplier;
|
||
mProfile = profile;
|
||
@@ -212,7 +216,7 @@ public class ExtensionsMenuCoordinator implements Destroyable, ExtensionsToolbar
|
||
mSitePermissionsPageModel,
|
||
/* onReady= */ () -> {
|
||
mExtensionsMenuButton.showMenu();
|
||
- });
|
||
+ }, mExtensionActionListCoordinator);
|
||
}
|
||
|
||
/**
|
||
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/extensions/ExtensionsMenuItemProperties.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/extensions/ExtensionsMenuItemProperties.java
|
||
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/extensions/ExtensionsMenuItemProperties.java
|
||
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/extensions/ExtensionsMenuItemProperties.java
|
||
@@ -29,6 +29,9 @@ public class ExtensionsMenuItemProperties {
|
||
public static final WritableIntPropertyKey CONTEXT_MENU_BUTTON_ICON =
|
||
new WritableIntPropertyKey();
|
||
|
||
+ public static final WritableObjectPropertyKey<View.OnClickListener> ITEM_CLICK_LISTENER =
|
||
+ new WritableObjectPropertyKey<>();
|
||
+
|
||
public static final WritableObjectPropertyKey<View.OnClickListener>
|
||
CONTEXT_MENU_BUTTON_ON_CLICK = new WritableObjectPropertyKey<>();
|
||
|
||
@@ -58,6 +61,7 @@ public class ExtensionsMenuItemProperties {
|
||
|
||
public static final PropertyKey[] ALL_KEYS =
|
||
new PropertyKey[] {
|
||
+ ITEM_CLICK_LISTENER,
|
||
EXTENSION_ID,
|
||
ICON,
|
||
TITLE,
|
||
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/extensions/ExtensionsMenuItemViewBinder.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/extensions/ExtensionsMenuItemViewBinder.java
|
||
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/extensions/ExtensionsMenuItemViewBinder.java
|
||
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/extensions/ExtensionsMenuItemViewBinder.java
|
||
@@ -35,6 +35,8 @@ public class ExtensionsMenuItemViewBinder {
|
||
// TODO: Investigate the correct resizing method.
|
||
bitmap.setDensity(120);
|
||
}
|
||
+ } else if (key == ExtensionsMenuItemProperties.ITEM_CLICK_LISTENER) {
|
||
+ view.setOnClickListener(model.get(ExtensionsMenuItemProperties.ITEM_CLICK_LISTENER));
|
||
} else if (key == ExtensionsMenuItemProperties.CONTEXT_MENU_BUTTON_ICON) {
|
||
ImageView contextMenuView = view.findViewById(R.id.extensions_menu_item_context_menu);
|
||
contextMenuView.setImageResource(
|
||
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/extensions/ExtensionsMenuMediator.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/extensions/ExtensionsMenuMediator.java
|
||
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/extensions/ExtensionsMenuMediator.java
|
||
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/extensions/ExtensionsMenuMediator.java
|
||
@@ -15,6 +15,7 @@ import org.chromium.build.annotations.NullMarked;
|
||
import org.chromium.chrome.browser.extensions.ContextMenuSource;
|
||
import org.chromium.chrome.browser.profiles.Profile;
|
||
import org.chromium.chrome.browser.tab.Tab;
|
||
+import org.chromium.chrome.browser.toolbar.extensions.ExtensionActionListCoordinator;
|
||
import org.chromium.chrome.browser.ui.browser_window.ChromeAndroidTask;
|
||
import org.chromium.chrome.browser.ui.extensions.ExtensionActionContextMenuBridge;
|
||
import org.chromium.chrome.browser.ui.extensions.ExtensionsMenuBridge;
|
||
@@ -44,6 +45,7 @@ class ExtensionsMenuMediator implements Destroyable, ExtensionsMenuBridge.Observ
|
||
private final Runnable mOnReady;
|
||
private final ChromeAndroidTask mTask;
|
||
private final Profile mProfile;
|
||
+ private final ExtensionActionListCoordinator mExtensionActionListCoordinator;
|
||
|
||
/**
|
||
* @param context The context to use.
|
||
@@ -63,7 +65,9 @@ class ExtensionsMenuMediator implements Destroyable, ExtensionsMenuBridge.Observ
|
||
ModelList actionModels,
|
||
PropertyModel mainPageModel,
|
||
PropertyModel sitePermissionsPropertyModel,
|
||
- Runnable onReady) {
|
||
+ Runnable onReady,
|
||
+ ExtensionActionListCoordinator extensionActionListCoordinator) {
|
||
+ mExtensionActionListCoordinator = extensionActionListCoordinator;
|
||
mActionModels = actionModels;
|
||
mContext = context;
|
||
mCurrentTabSupplier = currentTabSupplier;
|
||
@@ -334,6 +338,9 @@ class ExtensionsMenuMediator implements Destroyable, ExtensionsMenuBridge.Observ
|
||
ExtensionsMenuItemProperties.CONTEXT_MENU_BUTTON_ON_CLICK,
|
||
(view) ->
|
||
onContextMenuButtonClicked((ListMenuButton) view, entry.id))
|
||
+ .with(
|
||
+ ExtensionsMenuItemProperties.ITEM_CLICK_LISTENER,
|
||
+ (view) -> mExtensionActionListCoordinator.openPopup(entry.id))
|
||
.with(
|
||
ExtensionsMenuItemProperties.CONTEXT_MENU_BUTTON_ICON,
|
||
contextMenuIcon)
|
||
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/extensions/ExtensionsToolbarCoordinatorImpl.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/extensions/ExtensionsToolbarCoordinatorImpl.java
|
||
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/extensions/ExtensionsToolbarCoordinatorImpl.java
|
||
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/extensions/ExtensionsToolbarCoordinatorImpl.java
|
||
@@ -87,13 +87,13 @@ public class ExtensionsToolbarCoordinatorImpl implements ExtensionsToolbarCoordi
|
||
ViewGroup rootView,
|
||
@Nullable ContextMenuPopulatorFactory contextMenuPopulatorFactory,
|
||
@Nullable SelectionDropdownMenuDelegate selectionDropdownMenuDelegate) {
|
||
- mBridge = new ExtensionActionsBridge(task, profile);
|
||
+ mBridge = ExtensionActionsBridge.Instance();
|
||
mProfile = profile;
|
||
|
||
extensionsToolbarStub.setLayoutResource(R.layout.extensions_toolbar_container);
|
||
mContainer = (LinearLayout) extensionsToolbarStub.inflate();
|
||
|
||
- mExtensionsToolbarBridge = new ExtensionsToolbarBridge(task, profile);
|
||
+ mExtensionsToolbarBridge = ExtensionsToolbarBridge.Instance();
|
||
|
||
mPrefService = UserPrefs.get(profile);
|
||
|
||
@@ -101,6 +101,7 @@ public class ExtensionsToolbarCoordinatorImpl implements ExtensionsToolbarCoordi
|
||
new ExtensionActionListCoordinator(
|
||
context,
|
||
mContainer.findViewById(R.id.extension_action_list),
|
||
+ mContainer.findViewById(R.id.extensions_menu_button),
|
||
windowAndroid,
|
||
task,
|
||
profile,
|
||
@@ -152,8 +153,8 @@ public class ExtensionsToolbarCoordinatorImpl implements ExtensionsToolbarCoordi
|
||
mExtensionAccessControlButtonCoordinator.destroy();
|
||
mExtensionsMenuCoordinator.destroy();
|
||
mExtensionActionListCoordinator.destroy();
|
||
- mExtensionsToolbarBridge.destroy();
|
||
- mBridge.destroy();
|
||
+ // mExtensionsToolbarBridge.destroy();
|
||
+ // mBridge.destroy();
|
||
|
||
LifetimeAssert.setSafeToGc(mLifetimeAssert, true);
|
||
}
|
||
diff --git a/chrome/browser/ui/browser_window/BUILD.gn b/chrome/browser/ui/browser_window/BUILD.gn
|
||
--- a/chrome/browser/ui/browser_window/BUILD.gn
|
||
+++ b/chrome/browser/ui/browser_window/BUILD.gn
|
||
@@ -75,7 +75,7 @@ if (!is_android) {
|
||
|
||
# These tests don't work on mobile Android due to the lack of multi-window
|
||
# support.
|
||
-if (!is_android || is_desktop_android) {
|
||
+if (!is_android || is_desktop_android_cromite) {
|
||
source_set("browser_tests") {
|
||
testonly = true
|
||
sources = [ "internal/profile_browser_collection_browsertest.cc" ]
|
||
diff --git a/chrome/browser/ui/browser_window/internal/android/java/src/org/chromium/chrome/browser/ui/browser_window/ChromeAndroidTaskTrackerFactory.java b/chrome/browser/ui/browser_window/internal/android/java/src/org/chromium/chrome/browser/ui/browser_window/ChromeAndroidTaskTrackerFactory.java
|
||
--- a/chrome/browser/ui/browser_window/internal/android/java/src/org/chromium/chrome/browser/ui/browser_window/ChromeAndroidTaskTrackerFactory.java
|
||
+++ b/chrome/browser/ui/browser_window/internal/android/java/src/org/chromium/chrome/browser/ui/browser_window/ChromeAndroidTaskTrackerFactory.java
|
||
@@ -20,7 +20,7 @@ public final class ChromeAndroidTaskTrackerFactory {
|
||
*/
|
||
@Nullable
|
||
public static ChromeAndroidTaskTracker getInstance() {
|
||
- if (BuildConfig.IS_DESKTOP_ANDROID) {
|
||
+ if (BuildConfig.IS_DESKTOP_ANDROID_CROMITE) {
|
||
return ChromeAndroidTaskTrackerImpl.getInstance();
|
||
}
|
||
|
||
diff --git a/chrome/browser/ui/prefs/BUILD.gn b/chrome/browser/ui/prefs/BUILD.gn
|
||
--- a/chrome/browser/ui/prefs/BUILD.gn
|
||
+++ b/chrome/browser/ui/prefs/BUILD.gn
|
||
@@ -65,7 +65,7 @@ source_set("impl") {
|
||
}
|
||
}
|
||
|
||
-if (!is_android || enable_desktop_android_extensions) {
|
||
+if (!is_android || enable_desktop_android_extensions_cromite) {
|
||
source_set("browser_tests") {
|
||
testonly = true
|
||
defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]
|
||
@@ -83,7 +83,7 @@ if (!is_android || enable_desktop_android_extensions) {
|
||
"//third_party/blink/public/common:headers",
|
||
]
|
||
|
||
- if (enable_desktop_android_extensions) {
|
||
+ if (enable_desktop_android_extensions_cromite) {
|
||
deps += [ "//chrome/test:test_support_ui_android" ]
|
||
} else {
|
||
deps += [ "//chrome/test:test_support_ui" ]
|
||
diff --git a/chrome/browser/ui/prefs/prefs_tab_helper.cc b/chrome/browser/ui/prefs/prefs_tab_helper.cc
|
||
--- a/chrome/browser/ui/prefs/prefs_tab_helper.cc
|
||
+++ b/chrome/browser/ui/prefs/prefs_tab_helper.cc
|
||
@@ -78,7 +78,7 @@ using content::WebContents;
|
||
|
||
namespace {
|
||
|
||
-#if !BUILDFLAG(IS_ANDROID) || BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS)
|
||
+#if !BUILDFLAG(IS_ANDROID) || BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS_CROMITE)
|
||
// Registers a preference under the path |pref_name| for each script used for
|
||
// per-script font prefs.
|
||
// For example, for WEBKIT_WEBPREFS_FONTS_SERIF ("fonts.serif"):
|
||
@@ -151,7 +151,7 @@ constexpr auto kFontDefaults = std::to_array<FontDefault>({
|
||
{prefs::kWebKitFantasyFontFamily, IDS_FANTASY_FONT_FAMILY},
|
||
{prefs::kWebKitMathFontFamily, IDS_MATH_FONT_FAMILY},
|
||
#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \
|
||
- BUILDFLAG(IS_LINUX) || BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS)
|
||
+ BUILDFLAG(IS_LINUX) || BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS_CROMITE)
|
||
{prefs::kWebKitStandardFontFamilyJapanese,
|
||
IDS_STANDARD_FONT_FAMILY_JAPANESE},
|
||
{prefs::kWebKitFixedFontFamilyJapanese, IDS_FIXED_FONT_FAMILY_JAPANESE},
|
||
@@ -296,7 +296,7 @@ void OverrideFontFamily(blink::web_pref::WebPreferences* prefs,
|
||
(*map)[script] = base::UTF8ToUTF16(pref_value);
|
||
}
|
||
|
||
-#if !BUILDFLAG(IS_ANDROID) || BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS)
|
||
+#if !BUILDFLAG(IS_ANDROID) || BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS_CROMITE)
|
||
void RegisterLocalizedFontPref(user_prefs::PrefRegistrySyncable* registry,
|
||
const char* path,
|
||
int default_message_id) {
|
||
@@ -456,7 +456,7 @@ void PrefsTabHelper::RegisterProfilePrefs(
|
||
}
|
||
|
||
// Register font prefs. This is only configurable on desktop Chrome.
|
||
-#if !BUILDFLAG(IS_ANDROID) || BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS)
|
||
+#if !BUILDFLAG(IS_ANDROID) || BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS_CROMITE)
|
||
RegisterFontFamilyPrefs(registry, fonts_with_defaults);
|
||
|
||
registry->RegisterIntegerPref(prefs::kWebKitDefaultFontSize, 16);
|
||
diff --git a/chrome/browser/ui/webui/chrome_web_ui_configs.cc b/chrome/browser/ui/webui/chrome_web_ui_configs.cc
|
||
--- a/chrome/browser/ui/webui/chrome_web_ui_configs.cc
|
||
+++ b/chrome/browser/ui/webui/chrome_web_ui_configs.cc
|
||
@@ -180,7 +180,7 @@
|
||
// BUILDFLAG(IS_ANDROID)
|
||
|
||
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
|
||
- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID_CROMITE)
|
||
#include "chrome/browser/ui/webui/discards/discards_ui.h"
|
||
#include "chrome/browser/ui/webui/management/management_ui.h"
|
||
#endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ||
|
||
@@ -426,7 +426,7 @@ void RegisterChromeWebUIConfigs() {
|
||
// BUILDFLAG(IS_ANDROID)
|
||
|
||
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
|
||
- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID_CROMITE)
|
||
map.AddWebUIConfig(std::make_unique<DiscardsUIConfig>());
|
||
map.AddWebUIConfig(std::make_unique<ManagementUIConfig>());
|
||
#endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ||
|
||
diff --git a/chrome/browser/ui/webui/current_channel_logo.cc b/chrome/browser/ui/webui/current_channel_logo.cc
|
||
--- a/chrome/browser/ui/webui/current_channel_logo.cc
|
||
+++ b/chrome/browser/ui/webui/current_channel_logo.cc
|
||
@@ -29,8 +29,7 @@ int CurrentChannelLogoResourceId() {
|
||
case version_info::Channel::DEV:
|
||
case version_info::Channel::BETA:
|
||
case version_info::Channel::STABLE:
|
||
- CHECK_IS_TEST();
|
||
- [[fallthrough]];
|
||
+ return IDR_PRODUCT_LOGO_32;
|
||
#endif
|
||
case version_info::Channel::UNKNOWN:
|
||
return IDR_PRODUCT_LOGO_32;
|
||
diff --git a/chrome/browser/ui/webui/discards/discards_ui.cc b/chrome/browser/ui/webui/discards/discards_ui.cc
|
||
--- a/chrome/browser/ui/webui/discards/discards_ui.cc
|
||
+++ b/chrome/browser/ui/webui/discards/discards_ui.cc
|
||
@@ -60,7 +60,7 @@
|
||
#include "url/gurl.h"
|
||
#include "url/origin.h"
|
||
|
||
-#if !BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
+#if !BUILDFLAG(IS_DESKTOP_ANDROID_CROMITE)
|
||
#include "chrome/browser/resource_coordinator/lifecycle_unit.h"
|
||
#include "chrome/browser/resource_coordinator/lifecycle_unit_state.mojom.h"
|
||
#include "chrome/browser/resource_coordinator/tab_lifecycle_unit.h"
|
||
@@ -240,7 +240,7 @@ class DiscardsDetailsProviderImpl
|
||
info->site_engagement_score = GetSiteEngagementScore(contents);
|
||
info->has_focus = page_node->IsFocused();
|
||
|
||
-#if !BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
+#if !BUILDFLAG(IS_DESKTOP_ANDROID_CROMITE)
|
||
auto* lifecycle_unit_external = resource_coordinator::
|
||
TabLifecycleUnitSource::GetTabLifecycleUnitExternal(contents);
|
||
// A TabLifecycleUnitExternal object is always a TabLifecycleUnit object.
|
||
@@ -353,7 +353,7 @@ class DiscardsDetailsProviderImpl
|
||
}
|
||
|
||
void RefreshPerformanceTabCpuMeasurements() override {
|
||
-#if !BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
+#if !BUILDFLAG(IS_DESKTOP_ANDROID_CROMITE)
|
||
performance_manager::user_tuning::PerformanceDetectionManager::GetInstance()
|
||
->ForceTabCpuDataRefresh();
|
||
#endif // !BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
@@ -375,7 +375,7 @@ DiscardsUI::DiscardsUI(content::WebUI* web_ui)
|
||
profile, chrome::kChromeUIDiscardsHost);
|
||
|
||
bool demoModeEnabled = false;
|
||
-#if !BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
+#if !BUILDFLAG(IS_DESKTOP_ANDROID_CROMITE)
|
||
demoModeEnabled = base::FeatureList::IsEnabled(
|
||
performance_manager::features::kPerformanceInterventionDemoMode);
|
||
#endif // !BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
diff --git a/chrome/chrome_paks.gni b/chrome/chrome_paks.gni
|
||
--- a/chrome/chrome_paks.gni
|
||
+++ b/chrome/chrome_paks.gni
|
||
@@ -515,7 +515,7 @@ template("chrome_extra_paks") {
|
||
deps += [ "//chrome/browser/resources/app_settings:resources" ]
|
||
}
|
||
|
||
- if (is_win || is_mac || is_linux || is_chromeos || is_desktop_android) {
|
||
+ if (is_win || is_mac || is_linux || is_chromeos || is_desktop_android_cromite) {
|
||
sources += [
|
||
"$root_gen_dir/chrome/discards_resources.pak",
|
||
"$root_gen_dir/chrome/management_resources.pak",
|
||
diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc
|
||
--- a/chrome/common/chrome_features.cc
|
||
+++ b/chrome/common/chrome_features.cc
|
||
@@ -882,7 +882,7 @@ BASE_FEATURE(kGlicButtonAltLabel, base::FEATURE_ENABLED_BY_DEFAULT);
|
||
const base::FeatureParam<int> kGlicButtonAltLabelVariant{
|
||
&kGlicButtonAltLabel, "glic-button-alt-label-variant", 0};
|
||
|
||
-#if BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
+#if BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_DESKTOP_ANDROID_FALSE)
|
||
BASE_FEATURE(kGlicDaisyChainNewTabs, base::FEATURE_DISABLED_BY_DEFAULT);
|
||
#else
|
||
BASE_FEATURE(kGlicDaisyChainNewTabs, base::FEATURE_ENABLED_BY_DEFAULT);
|
||
diff --git a/chrome/common/chrome_switches.cc b/chrome/common/chrome_switches.cc
|
||
--- a/chrome/common/chrome_switches.cc
|
||
+++ b/chrome/common/chrome_switches.cc
|
||
@@ -755,7 +755,7 @@ const char kMarketUrlForTesting[] = "market-url-for-testing";
|
||
const char kRequestDesktopSites[] = "request-desktop-sites";
|
||
#endif // BUILDFLAG(IS_ANDROID)
|
||
|
||
-#if !BUILDFLAG(IS_ANDROID) || BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS)
|
||
+#if !BUILDFLAG(IS_ANDROID) || BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS_FALSE)
|
||
// If enabled, overrides the target playout delay for a casting mirroring
|
||
// session. The value will be parsed as milliseconds. Lowering this value will
|
||
// result in a lower end to end latency, but could come at the cost of other
|
||
diff --git a/chrome/common/chrome_switches.h b/chrome/common/chrome_switches.h
|
||
--- a/chrome/common/chrome_switches.h
|
||
+++ b/chrome/common/chrome_switches.h
|
||
@@ -228,7 +228,7 @@ extern const char kMarketUrlForTesting[];
|
||
extern const char kRequestDesktopSites[];
|
||
#endif // BUILDFLAG(IS_ANDROID)
|
||
|
||
-#if !BUILDFLAG(IS_ANDROID) || BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS)
|
||
+#if !BUILDFLAG(IS_ANDROID) || BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS_FALSE)
|
||
extern const char kCastMirroringTargetPlayoutDelay[];
|
||
#endif
|
||
|
||
diff --git a/chrome/common/extensions/api/api_sources.gni b/chrome/common/extensions/api/api_sources.gni
|
||
--- a/chrome/common/extensions/api/api_sources.gni
|
||
+++ b/chrome/common/extensions/api/api_sources.gni
|
||
@@ -74,6 +74,13 @@ uncompiled_sources_ = [
|
||
"top_sites.json",
|
||
]
|
||
|
||
+if (enable_extensions_core && is_android) {
|
||
+ uncompiled_sources_ += [
|
||
+ "browser_action.json",
|
||
+ "page_action.json",
|
||
+ ]
|
||
+}
|
||
+
|
||
# Some APIs rely on types and headers from other APIs.
|
||
types_only_schema_sources_ = []
|
||
|
||
diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_constants.cc
|
||
--- a/chrome/common/webui_url_constants.cc
|
||
+++ b/chrome/common/webui_url_constants.cc
|
||
@@ -255,7 +255,7 @@ base::span<const base::cstring_view> ChromeURLHosts() {
|
||
ash::kChromeUIInternetDetailDialogHost,
|
||
#endif
|
||
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
|
||
- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID_CROMITE)
|
||
kChromeUIDiscardsHost,
|
||
#endif
|
||
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
|
||
diff --git a/chrome/common/webui_url_constants.h b/chrome/common/webui_url_constants.h
|
||
--- a/chrome/common/webui_url_constants.h
|
||
+++ b/chrome/common/webui_url_constants.h
|
||
@@ -444,7 +444,7 @@ bool IsSystemWebUIHost(std::string_view host);
|
||
#endif // BUILDFLAG(IS_CHROMEOS)
|
||
|
||
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
|
||
- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID_CROMITE)
|
||
inline constexpr char kChromeUIDiscardsHost[] = "discards";
|
||
inline constexpr char kChromeUIDiscardsURL[] = "chrome://discards/";
|
||
#endif
|
||
diff --git a/chrome/renderer/sandbox_status_extension_android.cc b/chrome/renderer/sandbox_status_extension_android.cc
|
||
--- a/chrome/renderer/sandbox_status_extension_android.cc
|
||
+++ b/chrome/renderer/sandbox_status_extension_android.cc
|
||
@@ -34,7 +34,7 @@ SandboxStatusExtension::SandboxStatusExtension(content::RenderFrame* frame)
|
||
frame->GetAssociatedInterfaceRegistry()
|
||
->AddInterface<chrome::mojom::SandboxStatusExtension>(base::BindRepeating(
|
||
&SandboxStatusExtension::OnSandboxStatusExtensionRequest,
|
||
- base::RetainedRef(this)));
|
||
+ weak_ptr_factory_.GetWeakPtr()));
|
||
}
|
||
|
||
SandboxStatusExtension::~SandboxStatusExtension() = default;
|
||
@@ -46,6 +46,7 @@ void SandboxStatusExtension::Create(content::RenderFrame* frame) {
|
||
}
|
||
|
||
void SandboxStatusExtension::OnDestruct() {
|
||
+ weak_ptr_factory_.InvalidateWeakPtrs();
|
||
// This object is ref-counted, since a callback could still be in-flight.
|
||
Release();
|
||
}
|
||
diff --git a/chrome/renderer/sandbox_status_extension_android.h b/chrome/renderer/sandbox_status_extension_android.h
|
||
--- a/chrome/renderer/sandbox_status_extension_android.h
|
||
+++ b/chrome/renderer/sandbox_status_extension_android.h
|
||
@@ -73,6 +73,7 @@ class SandboxStatusExtension
|
||
|
||
mojo::AssociatedReceiver<chrome::mojom::SandboxStatusExtension> receiver_{
|
||
this};
|
||
+ base::WeakPtrFactory<SandboxStatusExtension> weak_ptr_factory_{this};
|
||
};
|
||
|
||
#endif // CHROME_RENDERER_SANDBOX_STATUS_EXTENSION_ANDROID_H_
|
||
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
|
||
--- a/chrome/test/BUILD.gn
|
||
+++ b/chrome/test/BUILD.gn
|
||
@@ -385,7 +385,7 @@ static_library("test_support") {
|
||
]
|
||
}
|
||
|
||
- if (enable_desktop_android_extensions) {
|
||
+ if (enable_desktop_android_extensions_cromite) {
|
||
public_deps += [
|
||
"//extensions/browser:test_support",
|
||
"//extensions/common:test_support",
|
||
@@ -498,7 +498,7 @@ static_library("test_support") {
|
||
# TODO(https://crbug.com/356905053): Continue pulling more common test
|
||
# support pieces into here and eventually merge this with the
|
||
# `enable_extensions` block above.
|
||
- if (enable_desktop_android_extensions) {
|
||
+ if (enable_desktop_android_extensions_cromite) {
|
||
sources += [
|
||
"../browser/extensions/test_extension_menu_model_android.cc",
|
||
"../browser/extensions/test_extension_menu_model_android.h",
|
||
@@ -1527,7 +1527,7 @@ source_set("platform_browser_tests") {
|
||
}
|
||
}
|
||
|
||
- if (is_win || is_mac || is_linux || is_chromeos || is_desktop_android) {
|
||
+ if (is_win || is_mac || is_linux || is_chromeos || is_desktop_android_cromite) {
|
||
sources += [ "../browser/net/network_context_configuration_browsertest.cc" ]
|
||
deps += [
|
||
"//chrome/browser/ui/browser_window:create_browser_window",
|
||
@@ -1586,7 +1586,7 @@ source_set("platform_browser_tests") {
|
||
sources += [ "../browser/enterprise/remote_commands/user_remote_commands_service_browsertest.cc" ]
|
||
}
|
||
|
||
- if (!is_android || enable_desktop_android_extensions) {
|
||
+ if (!is_android || enable_desktop_android_extensions_cromite) {
|
||
deps += [ "//chrome/browser/ui/prefs:browser_tests" ]
|
||
}
|
||
|
||
@@ -1896,7 +1896,7 @@ source_set("platform_browser_tests") {
|
||
if (enable_guest_view) {
|
||
deps += [ "//components/guest_view/browser" ]
|
||
}
|
||
- if (!is_android || enable_desktop_android_extensions) {
|
||
+ if (!is_android || enable_desktop_android_extensions_cromite) {
|
||
sources +=
|
||
[ "../browser/devtools/global_confirm_info_bar_browsertest.cc" ]
|
||
}
|
||
@@ -2208,7 +2208,7 @@ if (is_android) {
|
||
extra_args = []
|
||
|
||
# TODO(crbug.com/473636857): Include once all Android builds correctly use BrowserWindowInterface.
|
||
- if (is_desktop_android) {
|
||
+ if (is_desktop_android_cromite) {
|
||
sources +=
|
||
[ "../browser/ui/android/browser_navigator_android_browsertest.cc" ]
|
||
deps += [
|
||
@@ -2305,7 +2305,7 @@ if (is_android) {
|
||
]
|
||
}
|
||
|
||
- if (enable_desktop_android_extensions) {
|
||
+ if (enable_desktop_android_extensions_cromite) {
|
||
sources += [
|
||
# These API tests can't be part of platform_browser_tests because they
|
||
# run in interactive_ui_tests on Win/Mac/Linux.
|
||
@@ -6395,7 +6395,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") {
|
||
]
|
||
}
|
||
|
||
- if (is_desktop_android) {
|
||
+ if (is_desktop_android_cromite) {
|
||
deps += [
|
||
# Unit test targets for //chrome/browser/ui/browser_window/internal.
|
||
#
|
||
@@ -10041,7 +10041,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" ]
|
||
}
|
||
@@ -10286,7 +10286,7 @@ test("unit_tests") {
|
||
}
|
||
}
|
||
|
||
- if (is_win || is_mac || is_linux || is_chromeos || is_desktop_android) {
|
||
+ if (is_win || is_mac || is_linux || is_chromeos || is_desktop_android_cromite) {
|
||
sources += [
|
||
"../browser/ui/webui/management/management_ui_handler_unittest.cc",
|
||
"../browser/ui/webui/management/management_ui_unittest.cc",
|
||
diff --git a/chrome/version.gni b/chrome/version.gni
|
||
--- a/chrome/version.gni
|
||
+++ b/chrome/version.gni
|
||
@@ -56,7 +56,7 @@ if (target_os == "android") {
|
||
# Generate hybrid configurations for target_cpu's that can run in hybrid configurations.
|
||
# i.e. "riscv64" does not show up in this list, as it's a 64-bit-only target_cpu.
|
||
if (target_cpu == "arm64" || target_cpu == "x64") {
|
||
- if (is_desktop_android) {
|
||
+ if (is_desktop_android_false) {
|
||
_version_dictionary_template +=
|
||
"chrome_desktop_version_code = \"@CHROME_DESKTOP_VERSION_CODE@\" "
|
||
_version_dictionary_template += "chrome_desktop_beta_version_code = \"@CHROME_DESKTOP_BETA_VERSION_CODE@\" "
|
||
@@ -384,7 +384,7 @@ if (is_android) {
|
||
} else {
|
||
true_true_true_true = trichrome_64_32_version_code
|
||
}
|
||
- if (is_desktop_android) {
|
||
+ if (is_desktop_android_false) {
|
||
true_true_true_false = trichrome_desktop_64_version_code
|
||
} else {
|
||
true_true_true_false = trichrome_64_version_code
|
||
diff --git a/components/content_settings/core/browser/host_content_settings_map.cc b/components/content_settings/core/browser/host_content_settings_map.cc
|
||
--- a/components/content_settings/core/browser/host_content_settings_map.cc
|
||
+++ b/components/content_settings/core/browser/host_content_settings_map.cc
|
||
@@ -327,6 +327,12 @@ HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs,
|
||
RecordExceptionMetrics();
|
||
}
|
||
|
||
+#if BUILDFLAG(IS_ANDROID)
|
||
+ SetContentSettingDefaultScope(
|
||
+ GURL("https://chromewebstore.google.com"), GURL(),
|
||
+ ContentSettingsType::REQUEST_DESKTOP_SITE, CONTENT_SETTING_ALLOW);
|
||
+#endif
|
||
+
|
||
const auto* registry =
|
||
content_settings::WebsiteSettingsRegistry::GetInstance();
|
||
for (const auto* info : *registry) {
|
||
diff --git a/components/embedder_support/android/java/src/org/chromium/components/embedder_support/view/ContentView.java b/components/embedder_support/android/java/src/org/chromium/components/embedder_support/view/ContentView.java
|
||
--- a/components/embedder_support/android/java/src/org/chromium/components/embedder_support/view/ContentView.java
|
||
+++ b/components/embedder_support/android/java/src/org/chromium/components/embedder_support/view/ContentView.java
|
||
@@ -459,7 +459,7 @@ public class ContentView extends FrameLayout
|
||
}
|
||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE
|
||
&& Build.VERSION.SDK_INT <= 38
|
||
- && DeviceInfo.isDesktop()) {
|
||
+ && DeviceInfo.isDesktopFalse()) {
|
||
if (MotionEventUtils.isTrackpadEvent(event)
|
||
&& event.getClassification() == MotionEvent.CLASSIFICATION_TWO_FINGER_SWIPE
|
||
&& forwarder != null) {
|
||
diff --git a/components/embedder_support/user_agent_utils.cc b/components/embedder_support/user_agent_utils.cc
|
||
--- a/components/embedder_support/user_agent_utils.cc
|
||
+++ b/components/embedder_support/user_agent_utils.cc
|
||
@@ -304,7 +304,7 @@ std::string GetUnifiedPlatform() {
|
||
#if BUILDFLAG(IS_ANDROID)
|
||
// The Android XR device by default also has the unified platform of desktop
|
||
// form factor.
|
||
- if (base::android::device_info::is_desktop() ||
|
||
+ if (base::android::device_info::is_desktop_false() ||
|
||
base::android::device_info::is_xr()) {
|
||
return kUnifiedPlatformLinuxX64;
|
||
}
|
||
@@ -563,7 +563,7 @@ bool GetMobileBitForUAMetadata() {
|
||
// Android and not a desktop form factor, AND the kUseMobileUserAgent switch
|
||
// is present.
|
||
#if BUILDFLAG(IS_ANDROID)
|
||
- if (base::android::device_info::is_desktop() ||
|
||
+ if (base::android::device_info::is_desktop_false() ||
|
||
base::android::device_info::is_xr()) {
|
||
return false;
|
||
}
|
||
@@ -586,7 +586,7 @@ std::string GetPlatformVersion() {
|
||
#endif
|
||
|
||
#if BUILDFLAG(IS_ANDROID)
|
||
- if (base::android::device_info::is_desktop() ||
|
||
+ if (base::android::device_info::is_desktop_false() ||
|
||
base::android::device_info::is_xr()) {
|
||
return std::string();
|
||
}
|
||
@@ -606,7 +606,7 @@ std::string GetPlatformVersion() {
|
||
|
||
std::string GetPlatformForUAMetadata() {
|
||
#if BUILDFLAG(IS_ANDROID)
|
||
- if (base::android::device_info::is_desktop() ||
|
||
+ if (base::android::device_info::is_desktop_false() ||
|
||
base::android::device_info::is_xr()) {
|
||
return base::FeatureList::IsEnabled(
|
||
blink::features::kAndroidDesktopUAPlatform)
|
||
@@ -729,7 +729,7 @@ std::string GetCpuArchitecture() {
|
||
// TODO(crbug.com/433345971) The user agent string should contain the actual
|
||
// cpu type information obtained from the Android device. Same for the cpu bit
|
||
// count in #GetCpuBitness below.
|
||
- if (base::android::device_info::is_desktop() ||
|
||
+ if (base::android::device_info::is_desktop_false() ||
|
||
base::android::device_info::is_xr()) {
|
||
return "x86";
|
||
}
|
||
@@ -769,7 +769,7 @@ std::string GetCpuBitness() {
|
||
#elif BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_FUCHSIA)
|
||
return "64";
|
||
#elif BUILDFLAG(IS_ANDROID)
|
||
- if (base::android::device_info::is_desktop() ||
|
||
+ if (base::android::device_info::is_desktop_false() ||
|
||
base::android::device_info::is_xr()) {
|
||
return "64";
|
||
}
|
||
@@ -843,7 +843,7 @@ std::string BuildModelInfo() {
|
||
if ((true)) return std::string();
|
||
#if BUILDFLAG(IS_ANDROID)
|
||
// Model information is not exposed on Android desktop.
|
||
- if (base::android::device_info::is_desktop()) {
|
||
+ if (base::android::device_info::is_desktop_false()) {
|
||
return std::string();
|
||
}
|
||
|
||
diff --git a/components/local_state/local_state_utils.cc b/components/local_state/local_state_utils.cc
|
||
--- a/components/local_state/local_state_utils.cc
|
||
+++ b/components/local_state/local_state_utils.cc
|
||
@@ -39,7 +39,7 @@ base::ListValue GetPrefsMetadata(
|
||
metadata.Append("managed_by_custodian");
|
||
break;
|
||
case PrefValueStore::PrefStoreType::EXTENSION_STORE:
|
||
-#if BUILDFLAG(ENABLE_EXTENSIONS)
|
||
+#if BUILDFLAG(ENABLE_EXTENSIONS_CORE)
|
||
metadata.Append("extension_controlled");
|
||
metadata.Append("extension_modifiable");
|
||
break;
|
||
diff --git a/components/media_router/browser/android/media_router_android.cc b/components/media_router/browser/android/media_router_android.cc
|
||
--- a/components/media_router/browser/android/media_router_android.cc
|
||
+++ b/components/media_router/browser/android/media_router_android.cc
|
||
@@ -377,7 +377,7 @@ MediaRouterAndroid::GetFlingingController(const MediaRoute::Id& route_id) {
|
||
return bridge_->GetFlingingController(route_id);
|
||
}
|
||
|
||
-#if BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS)
|
||
+#if BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS_FALSE)
|
||
MirroringMediaControllerHost*
|
||
MediaRouterAndroid::GetMirroringMediaControllerHost(
|
||
const MediaRoute::Id& route_id) {
|
||
diff --git a/components/media_router/browser/android/media_router_android.h b/components/media_router/browser/android/media_router_android.h
|
||
--- a/components/media_router/browser/android/media_router_android.h
|
||
+++ b/components/media_router/browser/android/media_router_android.h
|
||
@@ -56,7 +56,7 @@ class MediaRouterAndroid : public MediaRouterBase {
|
||
std::unique_ptr<media::FlingingController> GetFlingingController(
|
||
const MediaRoute::Id& route_id) override;
|
||
|
||
-#if BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS)
|
||
+#if BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS_FALSE)
|
||
MirroringMediaControllerHost* GetMirroringMediaControllerHost(
|
||
const MediaRoute::Id& route_id) override;
|
||
IssueManager* GetIssueManager() override;
|
||
diff --git a/components/media_router/browser/media_router.h b/components/media_router/browser/media_router.h
|
||
--- a/components/media_router/browser/media_router.h
|
||
+++ b/components/media_router/browser/media_router.h
|
||
@@ -29,7 +29,7 @@
|
||
#include "media/base/flinging_controller.h"
|
||
#include "third_party/blink/public/mojom/presentation/presentation.mojom.h"
|
||
|
||
-#if !BUILDFLAG(IS_ANDROID) || BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS)
|
||
+#if !BUILDFLAG(IS_ANDROID) || BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS_FALSE)
|
||
#include "components/media_router/browser/logger_impl.h"
|
||
#include "components/media_router/browser/media_router_debugger.h"
|
||
#include "components/media_router/common/mojom/media_controller.mojom.h"
|
||
@@ -155,7 +155,7 @@ class MediaRouter : public KeyedService {
|
||
virtual std::unique_ptr<media::FlingingController> GetFlingingController(
|
||
const MediaRoute::Id& route_id) = 0;
|
||
|
||
-#if !BUILDFLAG(IS_ANDROID) || BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS)
|
||
+#if !BUILDFLAG(IS_ANDROID) || BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS_FALSE)
|
||
// Returns a pointer to a controller host that sends media commands related to
|
||
// mirroring within a route.
|
||
virtual MirroringMediaControllerHost* GetMirroringMediaControllerHost(
|
||
diff --git a/components/policy/android/java/src/org/chromium/components/policy/CombinedPolicyProvider.java b/components/policy/android/java/src/org/chromium/components/policy/CombinedPolicyProvider.java
|
||
--- a/components/policy/android/java/src/org/chromium/components/policy/CombinedPolicyProvider.java
|
||
+++ b/components/policy/android/java/src/org/chromium/components/policy/CombinedPolicyProvider.java
|
||
@@ -60,10 +60,10 @@ public class CombinedPolicyProvider {
|
||
|
||
Log.i(TAG, "#linkNativeInternal() " + mPolicyProviders.size());
|
||
|
||
- if (mPolicyProviders.isEmpty()) {
|
||
- mPolicyCacheProvider = new PolicyCacheProvider();
|
||
- mPolicyCacheProvider.setManagerAndSource(this, /* source= */ 0);
|
||
- }
|
||
+ // if (mPolicyProviders.isEmpty()) {
|
||
+ // mPolicyCacheProvider = new PolicyCacheProvider();
|
||
+ // mPolicyCacheProvider.setManagerAndSource(this, /* source= */ 0);
|
||
+ // }
|
||
refreshPolicies();
|
||
}
|
||
|
||
diff --git a/components/policy/android/java/src/org/chromium/components/policy/PolicyCacheUpdater.java b/components/policy/android/java/src/org/chromium/components/policy/PolicyCacheUpdater.java
|
||
--- a/components/policy/android/java/src/org/chromium/components/policy/PolicyCacheUpdater.java
|
||
+++ b/components/policy/android/java/src/org/chromium/components/policy/PolicyCacheUpdater.java
|
||
@@ -36,6 +36,6 @@ public class PolicyCacheUpdater {
|
||
|
||
@CalledByNative
|
||
public static void cachePolicies(PolicyMap policyMap) {
|
||
- PolicyCache.get().cachePolicies(policyMap, sPolicies);
|
||
+ //PolicyCache.get().cachePolicies(policyMap, sPolicies);
|
||
}
|
||
}
|
||
diff --git a/components/policy/core/browser/android/policy_cache_updater_android.cc b/components/policy/core/browser/android/policy_cache_updater_android.cc
|
||
--- a/components/policy/core/browser/android/policy_cache_updater_android.cc
|
||
+++ b/components/policy/core/browser/android/policy_cache_updater_android.cc
|
||
@@ -45,7 +45,9 @@ PolicyCacheUpdater::~PolicyCacheUpdater() {
|
||
void PolicyCacheUpdater::OnPolicyUpdated(const PolicyNamespace& ns,
|
||
const PolicyMap& previous,
|
||
const PolicyMap& current) {
|
||
- UpdateCache(current);
|
||
+ if (ns.domain == POLICY_DOMAIN_CHROME) {
|
||
+ UpdateCache(current);
|
||
+ }
|
||
}
|
||
|
||
void PolicyCacheUpdater::UpdateCache(const PolicyMap& current_policy_map) {
|
||
diff --git a/components/policy/core/browser/cloud/user_policy_signin_service_base.cc b/components/policy/core/browser/cloud/user_policy_signin_service_base.cc
|
||
--- a/components/policy/core/browser/cloud/user_policy_signin_service_base.cc
|
||
+++ b/components/policy/core/browser/cloud/user_policy_signin_service_base.cc
|
||
@@ -37,7 +37,7 @@ namespace {
|
||
|
||
em::DeviceRegisterRequest::Type GetCloudPolicyRegistrationType() {
|
||
#if BUILDFLAG(IS_ANDROID)
|
||
- if (base::android::device_info::is_desktop()) {
|
||
+ if (base::android::device_info::is_desktop_false()) {
|
||
return em::DeviceRegisterRequest::BROWSER;
|
||
} else {
|
||
return em::DeviceRegisterRequest::ANDROID_BROWSER;
|
||
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
|
||
@@ -109,7 +109,7 @@ bool ConfigurationPolicyHandlerList::IsBlockedDesktopAndroidPolicy(
|
||
// TODO(b/478012386): We shouldn't use IS_DESKTOP_ANDROID long-term. The feature
|
||
// flag needs to be removed as soon as we feel comfortable about all exist
|
||
// Android
|
||
-#if BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
+#if BUILDFLAG(IS_DESKTOP_ANDROID_FALSE)
|
||
if (!base::FeatureList::IsEnabled(features::kDesktopAndroidPolicy)) {
|
||
return false;
|
||
}
|
||
@@ -227,7 +227,7 @@ bool ConfigurationPolicyHandlerList::IsBlockedFuturePolicy(
|
||
const base::flat_set<std::string>& future_policies_allowed,
|
||
const PolicyDetails& policy_details,
|
||
PolicyMap::const_reference entry) const {
|
||
-#if BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
+#if BUILDFLAG(IS_DESKTOP_ANDROID_CROMITE)
|
||
if (base::FeatureList::IsEnabled(features::kFuturePoliciesOnDesktopAndroid) &&
|
||
policy_details.is_future) {
|
||
return false;
|
||
diff --git a/components/policy/core/common/cloud/cloud_policy_constants.cc b/components/policy/core/common/cloud/cloud_policy_constants.cc
|
||
--- a/components/policy/core/common/cloud/cloud_policy_constants.cc
|
||
+++ b/components/policy/core/common/cloud/cloud_policy_constants.cc
|
||
@@ -142,7 +142,7 @@ const char* GetChromeUserPolicyType() {
|
||
#if BUILDFLAG(IS_CHROMEOS)
|
||
return "google/chromeos/user";
|
||
#elif BUILDFLAG(IS_ANDROID)
|
||
- if (base::android::device_info::is_desktop()) {
|
||
+ if (base::android::device_info::is_desktop_false()) {
|
||
return "google/chrome/user";
|
||
} else {
|
||
return "google/android/user";
|
||
diff --git a/components/policy/core/common/features.cc b/components/policy/core/common/features.cc
|
||
--- a/components/policy/core/common/features.cc
|
||
+++ b/components/policy/core/common/features.cc
|
||
@@ -40,7 +40,7 @@ const base::FeatureParam<base::TimeDelta> kPolicyRegistrationDelay{
|
||
// Used to add a captive portal check in SafeSitesNavigationThrottle.
|
||
BASE_FEATURE(kSafeSitesCaptivePortalCheck, base::FEATURE_ENABLED_BY_DEFAULT);
|
||
|
||
-#if BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
+#if BUILDFLAG(IS_DESKTOP_ANDROID_CROMITE)
|
||
// TODO(https://crbug.com/452666657): Remove this feature flag after launching
|
||
// policies to supported on Android Desktop.
|
||
BASE_FEATURE(kFuturePoliciesOnDesktopAndroid,
|
||
diff --git a/components/policy/core/common/policy_merger.cc b/components/policy/core/common/policy_merger.cc
|
||
--- a/components/policy/core/common/policy_merger.cc
|
||
+++ b/components/policy/core/common/policy_merger.cc
|
||
@@ -21,7 +21,7 @@ namespace policy {
|
||
namespace {
|
||
|
||
#if !BUILDFLAG(IS_IOS) && !BUILDFLAG(IS_FUCHSIA) && (!BUILDFLAG(IS_ANDROID) || \
|
||
- BUILDFLAG(IS_DESKTOP_ANDROID))
|
||
+ BUILDFLAG(IS_DESKTOP_ANDROID_CROMITE))
|
||
constexpr const char* kDictionaryPoliciesToMerge[] = {
|
||
#if BUILDFLAG(IS_CHROMEOS)
|
||
key::kExtensionSettings, key::kDeviceLoginScreenPowerManagement,
|
||
@@ -190,7 +190,7 @@ void PolicyListMerger::DoMerge(PolicyMap::Entry* policy) const {
|
||
PolicyDictionaryMerger::PolicyDictionaryMerger(
|
||
base::flat_set<std::string> policies_to_merge)
|
||
#if BUILDFLAG(IS_IOS) || BUILDFLAG(IS_FUCHSIA) || \
|
||
- (BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_DESKTOP_ANDROID))
|
||
+ (BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_DESKTOP_ANDROID_CROMITE))
|
||
: policies_to_merge_(std::move(policies_to_merge)){}
|
||
#else
|
||
: policies_to_merge_(std::move(policies_to_merge)),
|
||
diff --git a/components/webapps/browser/installable/installable_icon_fetcher.cc b/components/webapps/browser/installable/installable_icon_fetcher.cc
|
||
--- a/components/webapps/browser/installable/installable_icon_fetcher.cc
|
||
+++ b/components/webapps/browser/installable/installable_icon_fetcher.cc
|
||
@@ -120,7 +120,7 @@ void ProcessFaviconInBackground(
|
||
FROM_HERE, base::BindOnce(std::move(success_callback), decoded));
|
||
}
|
||
|
||
-#if BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
+#if BUILDFLAG(IS_DESKTOP_ANDROID_CROMITE)
|
||
// Generates a homescreen icon for `page_url` and posts a task to invoke
|
||
// `callback` on `ui_thread_task_runner.`
|
||
void GenerateHomeScreenIconInBackground(
|
||
@@ -261,7 +261,7 @@ void InstallableIconFetcher::OnIconFetched(const GURL& icon_url,
|
||
}
|
||
|
||
void InstallableIconFetcher::MaybeEndWithError(InstallableStatusCode code) {
|
||
-#if BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
+#if BUILDFLAG(IS_DESKTOP_ANDROID_CROMITE)
|
||
// Desktop android will generate an icon if none is available.
|
||
base::ThreadPool::PostTask(
|
||
FROM_HERE,
|
||
@@ -285,7 +285,7 @@ void InstallableIconFetcher::EndWithError(InstallableStatusCode code) {
|
||
std::move(finish_callback_).Run(code);
|
||
}
|
||
|
||
-#if BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
+#if BUILDFLAG(IS_DESKTOP_ANDROID_CROMITE)
|
||
void InstallableIconFetcher::OnHomeScreenIconGenerated(const GURL& page_url,
|
||
const SkBitmap& bitmap) {
|
||
if (bitmap.drawsNothing()) {
|
||
diff --git a/components/webapps/browser/installable/installable_icon_fetcher.h b/components/webapps/browser/installable/installable_icon_fetcher.h
|
||
--- a/components/webapps/browser/installable/installable_icon_fetcher.h
|
||
+++ b/components/webapps/browser/installable/installable_icon_fetcher.h
|
||
@@ -68,7 +68,7 @@ class InstallableIconFetcher {
|
||
// Ends the fetch with an error.
|
||
void EndWithError(InstallableStatusCode code);
|
||
|
||
-#if BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
+#if BUILDFLAG(IS_DESKTOP_ANDROID_CROMITE)
|
||
void OnHomeScreenIconGenerated(const GURL& page_url, const SkBitmap& bitmap);
|
||
#endif
|
||
|
||
diff --git a/components/webui/version/resources/about_version.html b/components/webui/version/resources/about_version.html
|
||
--- a/components/webui/version/resources/about_version.html
|
||
+++ b/components/webui/version/resources/about_version.html
|
||
@@ -105,7 +105,7 @@ about:version template page
|
||
<span>$i18n{gms_version}</span>
|
||
</td>
|
||
</tr>
|
||
-<if expr="is_desktop_android">
|
||
+<if expr="is_desktop_android_false">
|
||
<tr>
|
||
<td class="label">Desktop Android</td>
|
||
<td class="version">true</td>
|
||
diff --git a/content/browser/android/selection/selection_popup_controller.cc b/content/browser/android/selection/selection_popup_controller.cc
|
||
--- a/content/browser/android/selection/selection_popup_controller.cc
|
||
+++ b/content/browser/android/selection/selection_popup_controller.cc
|
||
@@ -352,6 +352,11 @@ void SelectionPopupController::OnSelectAroundCaretAck(
|
||
result->word_start_adjust, result->word_end_adjust);
|
||
}
|
||
|
||
+void SelectionPopupController::DismissMenu() {
|
||
+ menu_model_bridge_.reset();
|
||
+ extra_items_menu_model_.reset();
|
||
+}
|
||
+
|
||
void SelectionPopupController::HidePopupsAndPreserveSelection() {
|
||
JNIEnv* env = AttachCurrentThread();
|
||
ScopedJavaLocalRef<jobject> obj = GetJavaObject(env);
|
||
diff --git a/content/browser/android/selection/selection_popup_controller.h b/content/browser/android/selection/selection_popup_controller.h
|
||
--- a/content/browser/android/selection/selection_popup_controller.h
|
||
+++ b/content/browser/android/selection/selection_popup_controller.h
|
||
@@ -69,6 +69,7 @@ class SelectionPopupController : public RenderWidgetHostConnector {
|
||
int endOffset,
|
||
int surroundingTextLength,
|
||
blink::mojom::SelectAroundCaretResultPtr result);
|
||
+ void DismissMenu();
|
||
void HidePopupsAndPreserveSelection();
|
||
void RestoreSelectionPopupsIfNecessary();
|
||
void ChildLocalSurfaceIdChanged();
|
||
diff --git a/content/browser/browser_main_loop.cc b/content/browser/browser_main_loop.cc
|
||
--- a/content/browser/browser_main_loop.cc
|
||
+++ b/content/browser/browser_main_loop.cc
|
||
@@ -837,7 +837,7 @@ int BrowserMainLoop::PreCreateThreads() {
|
||
base::UmaHistogramBoolean("SiteIsolation.IsSitePerProcessOrStricter",
|
||
SiteIsolationPolicy::IsSitePerProcessOrStricter());
|
||
|
||
-#if BUILDFLAG(IS_ANDROID) && BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
+#if BUILDFLAG(IS_ANDROID) && BUILDFLAG(IS_DESKTOP_ANDROID_CROMITE)
|
||
base::UmaHistogramBoolean(
|
||
"SiteIsolation.IsSitePerProcessOrStricter.AndroidDesktop",
|
||
SiteIsolationPolicy::IsSitePerProcessOrStricter());
|
||
diff --git a/content/browser/renderer_host/render_widget_host_view_android.cc b/content/browser/renderer_host/render_widget_host_view_android.cc
|
||
--- a/content/browser/renderer_host/render_widget_host_view_android.cc
|
||
+++ b/content/browser/renderer_host/render_widget_host_view_android.cc
|
||
@@ -184,7 +184,7 @@ bool IsTooltipsEnabled() {
|
||
// Only show on desktop devices up to B due to tooltips bug b/445244223.
|
||
if (base::android::android_info::sdk_int() <=
|
||
base::android::android_info::SDK_VERSION_BAKLAVA) {
|
||
- return base::android::device_info::is_desktop();
|
||
+ return base::android::device_info::is_desktop_false();
|
||
}
|
||
|
||
return true;
|
||
diff --git a/content/public/android/java/src/org/chromium/content/browser/ContentUiEventHandler.java b/content/public/android/java/src/org/chromium/content/browser/ContentUiEventHandler.java
|
||
--- a/content/public/android/java/src/org/chromium/content/browser/ContentUiEventHandler.java
|
||
+++ b/content/public/android/java/src/org/chromium/content/browser/ContentUiEventHandler.java
|
||
@@ -133,9 +133,10 @@ public class ContentUiEventHandler implements UserData {
|
||
event,
|
||
MotionEventUtils.getEventTimeNanos(event),
|
||
EventForwarder.getMouseEventActionButton(event),
|
||
- shouldConvertToMouseEvent
|
||
- ? MotionEvent.TOOL_TYPE_MOUSE
|
||
- : event.getToolType(0));
|
||
+ MotionEvent.TOOL_TYPE_FINGER);
|
||
+ // shouldConvertToMouseEvent
|
||
+ // ? MotionEvent.TOOL_TYPE_MOUSE
|
||
+ // : event.getToolType(0));
|
||
if (didOffsetEvent) event.recycle();
|
||
return true;
|
||
}
|
||
diff --git a/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java b/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java
|
||
--- a/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java
|
||
+++ b/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java
|
||
@@ -779,6 +779,9 @@ public class SelectionPopupControllerImpl extends ActionModeCallbackHelper
|
||
*/
|
||
@Override
|
||
public void finishActionMode() {
|
||
+ SelectionPopupControllerImplJni.get()
|
||
+ .dismissMenu(mNativeSelectionPopupController);
|
||
+
|
||
mHidden = false;
|
||
mHandler.removeCallbacks(mRepeatingHideRunnable);
|
||
|
||
@@ -2002,6 +2005,8 @@ public class SelectionPopupControllerImpl extends ActionModeCallbackHelper
|
||
|
||
void setTextHandlesTemporarilyHidden(long nativeSelectionPopupController, boolean hidden);
|
||
|
||
+ void dismissMenu(long nativeSelectionPopupController);
|
||
+
|
||
void setTextHandlesHiddenForDropdownMenu(
|
||
long nativeSelectionPopupController, boolean hidden);
|
||
|
||
diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc
|
||
--- a/content/public/common/content_features.cc
|
||
+++ b/content/public/common/content_features.cc
|
||
@@ -611,7 +611,7 @@ BASE_FEATURE(kLoadingPredictorLimitPreconnectSocketCount,
|
||
base::FEATURE_DISABLED_BY_DEFAULT);
|
||
|
||
BASE_FEATURE(kLogJsConsoleMessages,
|
||
-#if BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
+#if BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_DESKTOP_ANDROID_FALSE)
|
||
base::FEATURE_DISABLED_BY_DEFAULT
|
||
#else
|
||
base::FEATURE_ENABLED_BY_DEFAULT
|
||
@@ -1503,7 +1503,7 @@ bool IsFluidResizeEnabled() {
|
||
// dragging seen on tablets and desktops.
|
||
return base::FeatureList::IsEnabled(features::kFluidResize) &&
|
||
(base::android::device_info::is_tablet() ||
|
||
- base::android::device_info::is_desktop());
|
||
+ base::android::device_info::is_desktop_false());
|
||
}
|
||
#endif
|
||
|
||
diff --git a/content/public/renderer/render_frame_media_playback_options.cc b/content/public/renderer/render_frame_media_playback_options.cc
|
||
--- a/content/public/renderer/render_frame_media_playback_options.cc
|
||
+++ b/content/public/renderer/render_frame_media_playback_options.cc
|
||
@@ -22,7 +22,7 @@ bool IsBackgroundMediaSuspendEnabled() {
|
||
if (base::FeatureList::IsEnabled(
|
||
features::kAndroidEnableBackgroundMediaLargeFormFactors) &&
|
||
(base::android::device_info::is_tablet() ||
|
||
- base::android::device_info::is_desktop())) {
|
||
+ base::android::device_info::is_desktop_false())) {
|
||
// Do not suspend background media if feature is enabled AND it was launched
|
||
// on a large display. Feature is enabled by default except for WebView
|
||
return false;
|
||
diff --git a/cromite_flags/chrome/browser/about_flags_cc/Extensions-Android.inc b/cromite_flags/chrome/browser/about_flags_cc/Extensions-Android.inc
|
||
new file mode 100644
|
||
--- /dev/null
|
||
+++ b/cromite_flags/chrome/browser/about_flags_cc/Extensions-Android.inc
|
||
@@ -0,0 +1,12 @@
|
||
+#ifdef FLAG_SECTION
|
||
+
|
||
+#if BUILDFLAG(IS_ANDROID)
|
||
+
|
||
+ {"enable-extensions-android",
|
||
+ "Enable Extensions Android",
|
||
+ "Allows the use of extensions on Android", kOsAndroid,
|
||
+ FEATURE_VALUE_TYPE(extensions_features::kEnableExtensionsAndroid)},
|
||
+
|
||
+#endif
|
||
+
|
||
+#endif // ifdef FLAG_SECTION
|
||
diff --git a/cromite_flags/chrome/browser/about_flags_cc/Webstore-protection.inc b/cromite_flags/chrome/browser/about_flags_cc/Webstore-protection.inc
|
||
--- a/cromite_flags/chrome/browser/about_flags_cc/Webstore-protection.inc
|
||
+++ b/cromite_flags/chrome/browser/about_flags_cc/Webstore-protection.inc
|
||
@@ -1,19 +1,15 @@
|
||
#ifdef FLAG_SECTION
|
||
|
||
-#if !BUILDFLAG(IS_ANDROID)
|
||
-
|
||
{"enable-extension-autoupdate",
|
||
"Enable Extensions Autoupdate",
|
||
"Allows the auto-updating of installed extensions by sending the "
|
||
- "minimum required data.", kOsDesktop,
|
||
+ "minimum required data.", kOsAll,
|
||
FEATURE_VALUE_TYPE(extensions_features::kEnableExtensionAutoupdate)},
|
||
|
||
{"enable-extension-management-to-chrome-store",
|
||
"Allow full use of management api to chrome web store",
|
||
"When deactivated (default) allows installation but hide "
|
||
- "to the webstore which extensions are installed on the device.", kOsDesktop,
|
||
+ "to the webstore which extensions are installed on the device.", kOsAll,
|
||
FEATURE_VALUE_TYPE(extensions_features::kEnableExtensionManagementToChromeStore)},
|
||
|
||
-#endif // !BUILDFLAG(IS_ANDROID)
|
||
-
|
||
#endif // ifdef FLAG_SECTION
|
||
diff --git a/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Experimental-support-for-extensions-on-Android.inc b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Experimental-support-for-extensions-on-Android.inc
|
||
new file mode 100644
|
||
--- /dev/null
|
||
+++ b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Experimental-support-for-extensions-on-Android.inc
|
||
@@ -0,0 +1 @@
|
||
+SET_CROMITE_FEATURE_DISABLED(kProcessRankPolicyAndroid);
|
||
diff --git a/extensions/browser/BUILD.gn b/extensions/browser/BUILD.gn
|
||
--- a/extensions/browser/BUILD.gn
|
||
+++ b/extensions/browser/BUILD.gn
|
||
@@ -11,7 +11,7 @@ import("//rlz/buildflags/buildflags.gni")
|
||
import("//testing/libfuzzer/fuzzer_test.gni")
|
||
import("//third_party/protobuf/proto_library.gni")
|
||
|
||
-if (enable_desktop_android_extensions) {
|
||
+if (enable_desktop_android_extensions_cromite) {
|
||
import("//build/config/android/rules.gni")
|
||
}
|
||
|
||
@@ -1249,7 +1249,7 @@ source_set("unit_tests") {
|
||
configs += [ "//build/config/compiler:no_exit_time_destructors" ]
|
||
}
|
||
|
||
-if (enable_desktop_android_extensions) {
|
||
+if (enable_desktop_android_extensions_cromite) {
|
||
java_cpp_enum("extension_action_enums") {
|
||
sources = [ "extension_action.h" ]
|
||
}
|
||
diff --git a/extensions/browser/api/api_browser_context_keyed_service_factories.cc b/extensions/browser/api/api_browser_context_keyed_service_factories.cc
|
||
--- a/extensions/browser/api/api_browser_context_keyed_service_factories.cc
|
||
+++ b/extensions/browser/api/api_browser_context_keyed_service_factories.cc
|
||
@@ -70,7 +70,7 @@
|
||
|
||
namespace extensions {
|
||
|
||
-void EnsureApiBrowserContextKeyedServiceFactoriesBuilt() {
|
||
+void EnsureApiBrowserContextKeyedServiceFactoriesBuilt() { //
|
||
AlarmManager::GetFactoryInstance();
|
||
ContentSettingsService::GetFactoryInstance();
|
||
declarative_net_request::RulesMonitorService::GetFactoryInstance();
|
||
diff --git a/extensions/browser/api/system_cpu/BUILD.gn b/extensions/browser/api/system_cpu/BUILD.gn
|
||
--- a/extensions/browser/api/system_cpu/BUILD.gn
|
||
+++ b/extensions/browser/api/system_cpu/BUILD.gn
|
||
@@ -36,7 +36,7 @@ source_set("system_cpu") {
|
||
sources += [ "cpu_info_provider_mac.cc" ]
|
||
}
|
||
|
||
- if (is_linux || is_chromeos || enable_desktop_android_extensions) {
|
||
+ if (is_linux || is_chromeos || enable_desktop_android_extensions_cromite) {
|
||
sources += [ "cpu_info_provider_linux.cc" ]
|
||
}
|
||
|
||
diff --git a/extensions/browser/api/web_request/permission_helper.cc b/extensions/browser/api/web_request/permission_helper.cc
|
||
--- a/extensions/browser/api/web_request/permission_helper.cc
|
||
+++ b/extensions/browser/api/web_request/permission_helper.cc
|
||
@@ -64,7 +64,7 @@ void BrowserContextKeyedAPIFactory<
|
||
// implicitly depends upon those.
|
||
ExtensionsAPIClient* extensions_api_client = ExtensionsAPIClient::Get();
|
||
|
||
-#if BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
+#if BUILDFLAG(IS_DESKTOP_ANDROID_CROMITE)
|
||
// TODO(https://crbug.com/356905053): On Android, the startup and
|
||
// initialization flow is different.
|
||
// ExtensionsAPIClient is instantiated as part of the ExtensionsBrowserClient,
|
||
diff --git a/extensions/browser/extension_frame_host.cc b/extensions/browser/extension_frame_host.cc
|
||
--- a/extensions/browser/extension_frame_host.cc
|
||
+++ b/extensions/browser/extension_frame_host.cc
|
||
@@ -157,6 +157,10 @@ void ExtensionFrameHost::OpenChannelToExtension(
|
||
TRACE_EVENT("extensions", "ExtensionFrameHost::OpenChannelToExtension",
|
||
ChromeTrackEvent::kRenderProcessHost, *process);
|
||
|
||
+ if (!MessageServiceApi::GetMessageService()) {
|
||
+ LOG(INFO) << "--No MessageServiceApi";
|
||
+ return;
|
||
+ }
|
||
MessageServiceApi::GetMessageService()->OpenChannelToExtension(
|
||
render_frame_host->GetBrowserContext(), render_frame_host, port_id, *info,
|
||
channel_type, channel_name, std::move(port), std::move(port_host));
|
||
@@ -189,6 +193,10 @@ void ExtensionFrameHost::OpenChannelToTab(
|
||
mojo::PendingAssociatedRemote<extensions::mojom::MessagePort> port,
|
||
mojo::PendingAssociatedReceiver<extensions::mojom::MessagePortHost>
|
||
port_host) {
|
||
+ if (!MessageServiceApi::GetMessageService()) {
|
||
+ LOG(INFO) << "--No MessageServiceApi";
|
||
+ return;
|
||
+ }
|
||
content::RenderFrameHost* render_frame_host =
|
||
receivers_.GetCurrentTargetFrame();
|
||
auto* process = render_frame_host->GetProcess();
|
||
diff --git a/extensions/browser/extension_host.cc b/extensions/browser/extension_host.cc
|
||
--- a/extensions/browser/extension_host.cc
|
||
+++ b/extensions/browser/extension_host.cc
|
||
@@ -14,6 +14,7 @@
|
||
#include "base/strings/string_util.h"
|
||
#include "base/strings/utf_string_conversions.h"
|
||
#include "base/timer/elapsed_timer.h"
|
||
+#include "components/embedder_support/user_agent_utils.h"
|
||
#include "components/input/native_web_keyboard_event.h"
|
||
#include "components/javascript_dialogs/app_modal_dialog_manager.h"
|
||
#include "content/public/browser/browser_context.h"
|
||
@@ -323,9 +324,26 @@ const GURL& ExtensionHost::GetLastCommittedURL() const {
|
||
|
||
void ExtensionHost::LoadInitialURL() {
|
||
load_start_ = std::make_unique<base::ElapsedTimer>();
|
||
- host_contents_->GetController().LoadURL(
|
||
- initial_url_, content::Referrer(), ui::PAGE_TRANSITION_LINK,
|
||
- std::string());
|
||
+
|
||
+ content::NavigationController::LoadURLParams params(initial_url_);
|
||
+ params.referrer = content::Referrer();
|
||
+ params.transition_type = ui::PAGE_TRANSITION_LINK;
|
||
+ params.extra_headers = std::string();
|
||
+
|
||
+#if BUILDFLAG(IS_ANDROID)
|
||
+ if (extension_host_type() == mojom::ViewType::kExtensionPopup) {
|
||
+ constexpr char kOsOverrideForCromite[] = "Linux; Android 10; Cromite";
|
||
+ const std::string product = embedder_support::GetProductAndVersion();
|
||
+ blink::UserAgentOverride ua_override;
|
||
+ ua_override.ua_string_override =
|
||
+ embedder_support::BuildUserAgentFromOSAndProduct(kOsOverrideForCromite,
|
||
+ product);
|
||
+ host_contents_->SetUserAgentOverride(ua_override,
|
||
+ false /*override_in_new_tabs=*/);
|
||
+ params.override_user_agent = content::NavigationController::UA_OVERRIDE_TRUE;
|
||
+ }
|
||
+#endif
|
||
+ host_contents_->GetController().LoadURLWithParams(params);
|
||
}
|
||
|
||
bool ExtensionHost::IsBackgroundPage() const {
|
||
diff --git a/extensions/buildflags/BUILD.gn b/extensions/buildflags/BUILD.gn
|
||
--- a/extensions/buildflags/BUILD.gn
|
||
+++ b/extensions/buildflags/BUILD.gn
|
||
@@ -16,7 +16,8 @@ buildflag_header("buildflags") {
|
||
header = "buildflags.h"
|
||
flags = [
|
||
"ENABLE_EXTENSIONS=$enable_extensions",
|
||
- "ENABLE_DESKTOP_ANDROID_EXTENSIONS=$enable_desktop_android_extensions",
|
||
+ "ENABLE_DESKTOP_ANDROID_EXTENSIONS_CROMITE=$enable_desktop_android_extensions_cromite",
|
||
+ "ENABLE_DESKTOP_ANDROID_EXTENSIONS_FALSE=false",
|
||
"ENABLE_EXTENSIONS_CORE=$enable_extensions_core",
|
||
"ENABLE_PLATFORM_APPS=$enable_platform_apps",
|
||
]
|
||
diff --git a/extensions/buildflags/buildflags.gni b/extensions/buildflags/buildflags.gni
|
||
--- a/extensions/buildflags/buildflags.gni
|
||
+++ b/extensions/buildflags/buildflags.gni
|
||
@@ -27,7 +27,7 @@ declare_args() {
|
||
#
|
||
# TODO(https://crbug.com/356905053): Continue expanding the scope of
|
||
# enable_desktop_android_extensions.
|
||
- enable_desktop_android_extensions = is_desktop_android
|
||
+ enable_desktop_android_extensions_cromite = is_android
|
||
}
|
||
|
||
# Note: GN forbids relying on args from the same declare_args() block, so we
|
||
@@ -45,5 +45,5 @@ declare_args() {
|
||
# `if (enable_extensions || enable_desktop_android_extensions)`, since the
|
||
# core handling in each of these implementations is similar.
|
||
enable_extensions_core =
|
||
- enable_extensions || enable_desktop_android_extensions
|
||
+ enable_extensions || enable_desktop_android_extensions_cromite
|
||
}
|
||
diff --git a/extensions/common/api/schema.gni b/extensions/common/api/schema.gni
|
||
--- a/extensions/common/api/schema.gni
|
||
+++ b/extensions/common/api/schema.gni
|
||
@@ -110,7 +110,7 @@ if (enable_extensions) {
|
||
# the C++ types for certain APIs, since they are used from outside the
|
||
# extensions layer. These should be removed as we add support for the full
|
||
# API by moving these entries to the `extensions_api_schema_files_` above.
|
||
-if (enable_desktop_android_extensions) {
|
||
+if (enable_desktop_android_extensions_cromite) {
|
||
extensions_types_only_schema_files_ += [
|
||
"clipboard.webidl",
|
||
"scripts_internal.webidl",
|
||
diff --git a/extensions/common/command.cc b/extensions/common/command.cc
|
||
--- a/extensions/common/command.cc
|
||
+++ b/extensions/common/command.cc
|
||
@@ -119,7 +119,7 @@ std::string Command::CommandPlatform() {
|
||
return ui::kKeybindingPlatformChromeOs;
|
||
#elif BUILDFLAG(IS_LINUX)
|
||
return ui::kKeybindingPlatformLinux;
|
||
-#elif BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
+#elif BUILDFLAG(IS_DESKTOP_ANDROID_CROMITE)
|
||
// For now, we use linux keybindings on desktop android.
|
||
return ui::kKeybindingPlatformLinux;
|
||
#else
|
||
diff --git a/extensions/common/extension_features.cc b/extensions/common/extension_features.cc
|
||
--- a/extensions/common/extension_features.cc
|
||
+++ b/extensions/common/extension_features.cc
|
||
@@ -62,7 +62,7 @@ BASE_FEATURE(kCheckingNoExtensionIdInExtensionIpcs,
|
||
|
||
BASE_FEATURE(kEnableWebHidInWebView, base::FEATURE_ENABLED_BY_DEFAULT);
|
||
|
||
-#if BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS)
|
||
+#if BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS_CROMITE)
|
||
// Disabled by default because on first-run we don't have a Finch seed yet, so
|
||
// we want to default to the safe behavior of no extensions.
|
||
BASE_FEATURE(kEnableExtensionsForCorpDesktopAndroid,
|
||
@@ -179,7 +179,7 @@ BASE_FEATURE(kDisableExtensionsOnChromeUrlsSwitch,
|
||
// TODO (crbug.com/426554244): Determine if this switch should be
|
||
// removed for desktop-android builds as well.
|
||
#if BUILDFLAG(GOOGLE_CHROME_BRANDING) && !BUILDFLAG(IS_CHROMEOS) && \
|
||
- !BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS)
|
||
+ !BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS_CROMITE)
|
||
base::FEATURE_ENABLED_BY_DEFAULT
|
||
#else
|
||
base::FEATURE_DISABLED_BY_DEFAULT
|
||
@@ -227,4 +227,10 @@ CROMITE_FEATURE(kEnableExtensionAutoupdate,
|
||
CROMITE_FEATURE(kEnableExtensionManagementToChromeStore,
|
||
"EnableExtensionToChromeStore",
|
||
base::FEATURE_DISABLED_BY_DEFAULT);
|
||
+
|
||
+#if BUILDFLAG(IS_ANDROID)
|
||
+CROMITE_FEATURE(kEnableExtensionsAndroid,
|
||
+ "EnableExtensionsAndroid",
|
||
+ base::FEATURE_DISABLED_BY_DEFAULT);
|
||
+#endif
|
||
} // namespace extensions_features
|
||
diff --git a/extensions/common/extension_features.h b/extensions/common/extension_features.h
|
||
--- a/extensions/common/extension_features.h
|
||
+++ b/extensions/common/extension_features.h
|
||
@@ -103,7 +103,7 @@ BASE_DECLARE_FEATURE(kCheckingNoExtensionIdInExtensionIpcs);
|
||
// embedding Chrome App to request access to Human Interface Devices.
|
||
BASE_DECLARE_FEATURE(kEnableWebHidInWebView);
|
||
|
||
-#if BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS)
|
||
+#if BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS_CROMITE)
|
||
// If enabled, extensions will be enabled for @google.com and @managedchrome.com
|
||
// users on desktop Android. Otherwise they will be blocked.
|
||
BASE_DECLARE_FEATURE(kEnableExtensionsForCorpDesktopAndroid);
|
||
@@ -330,6 +330,10 @@ BASE_DECLARE_FEATURE(kEnableExtensionAutoupdate);
|
||
// Allows the installation of new extensions.
|
||
// If active, exposes all features to the chrome web store like chromium.
|
||
BASE_DECLARE_FEATURE(kEnableExtensionManagementToChromeStore);
|
||
+
|
||
+#if BUILDFLAG(IS_ANDROID)
|
||
+BASE_DECLARE_FEATURE(kEnableExtensionsAndroid);
|
||
+#endif
|
||
} // namespace extensions_features
|
||
|
||
#endif // EXTENSIONS_COMMON_EXTENSION_FEATURES_H_
|
||
diff --git a/extensions/common/extension_l10n_util.cc b/extensions/common/extension_l10n_util.cc
|
||
--- a/extensions/common/extension_l10n_util.cc
|
||
+++ b/extensions/common/extension_l10n_util.cc
|
||
@@ -470,8 +470,10 @@ bool GetValidLocales(const base::FilePath& locale_path,
|
||
}
|
||
|
||
if (valid_locales->empty()) {
|
||
+#if !BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS_CROMITE)
|
||
*error = errors::kLocalesNoValidLocaleNamesListed;
|
||
return false;
|
||
+#endif
|
||
}
|
||
|
||
return true;
|
||
@@ -566,7 +568,11 @@ bool ShouldSkipValidation(const base::FilePath& locales_path,
|
||
// '.svn' directories.
|
||
base::FilePath relative_path;
|
||
if (!locales_path.AppendRelativePath(locale_path, &relative_path)) {
|
||
+#if BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS_CROMITE)
|
||
+ return true;
|
||
+#else
|
||
NOTREACHED();
|
||
+#endif
|
||
}
|
||
std::string subdir = relative_path.MaybeAsASCII();
|
||
if (subdir.empty())
|
||
diff --git a/extensions/common/features/feature.cc b/extensions/common/features/feature.cc
|
||
--- a/extensions/common/features/feature.cc
|
||
+++ b/extensions/common/features/feature.cc
|
||
@@ -28,7 +28,7 @@ Feature::Platform Feature::GetCurrentPlatform() {
|
||
return MACOSX_PLATFORM;
|
||
#elif BUILDFLAG(IS_WIN)
|
||
return WIN_PLATFORM;
|
||
-#elif BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS)
|
||
+#elif BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS_CROMITE)
|
||
return DESKTOP_ANDROID_PLATFORM;
|
||
#else
|
||
return UNSPECIFIED_PLATFORM;
|
||
diff --git a/extensions/common/manifest_handlers/default_locale_handler.cc b/extensions/common/manifest_handlers/default_locale_handler.cc
|
||
--- a/extensions/common/manifest_handlers/default_locale_handler.cc
|
||
+++ b/extensions/common/manifest_handlers/default_locale_handler.cc
|
||
@@ -115,6 +115,9 @@ bool DefaultLocaleHandler::Validate(
|
||
|
||
// Only message file for default locale has to exist.
|
||
if (!has_default_locale_message_file) {
|
||
+#if BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS_CROMITE)
|
||
+ if (base::PathExists(default_locale_path)) return true;
|
||
+#endif
|
||
*error = errors::kLocalesNoDefaultMessages;
|
||
return false;
|
||
}
|
||
diff --git a/extensions/renderer/bindings/api_binding_util.cc b/extensions/renderer/bindings/api_binding_util.cc
|
||
--- a/extensions/renderer/bindings/api_binding_util.cc
|
||
+++ b/extensions/renderer/bindings/api_binding_util.cc
|
||
@@ -148,7 +148,7 @@ std::string_view GetPlatformString() {
|
||
return "mac";
|
||
#elif BUILDFLAG(IS_WIN)
|
||
return "win";
|
||
-#elif BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
+#elif BUILDFLAG(IS_DESKTOP_ANDROID_CROMITE)
|
||
return "desktop_android";
|
||
#else
|
||
NOTREACHED();
|
||
diff --git a/gpu/config/gpu_finch_features.cc b/gpu/config/gpu_finch_features.cc
|
||
--- a/gpu/config/gpu_finch_features.cc
|
||
+++ b/gpu/config/gpu_finch_features.cc
|
||
@@ -625,7 +625,7 @@ bool IsSkiaGraphiteSupportedByDevice(const base::CommandLine* command_line) {
|
||
// Desktop Android isn't ready to pick up the fieldtrial_testing_config.json
|
||
// change that enables graphite. However, it's the same platform as regular
|
||
// Android and does. Skip enabling the feature there for now.
|
||
- if (base::android::device_info::is_desktop()) {
|
||
+ if (base::android::device_info::is_desktop_false()) {
|
||
return false;
|
||
}
|
||
|
||
@@ -738,7 +738,7 @@ bool ShouldEnableDrDc() {
|
||
// Chrome on Android desktop aims to be Vulkan-only, which can result
|
||
// in crashes when enabled together with DrDc. Re-enable DrDc after
|
||
// crbug.com/380295059 is fixed if it is shown beneficial on desktop.
|
||
- if (base::android::device_info::is_desktop()) {
|
||
+ if (base::android::device_info::is_desktop_false()) {
|
||
return false;
|
||
}
|
||
#endif
|
||
diff --git a/media/base/android/java/src/org/chromium/media/AudioManagerAndroid.java b/media/base/android/java/src/org/chromium/media/AudioManagerAndroid.java
|
||
--- a/media/base/android/java/src/org/chromium/media/AudioManagerAndroid.java
|
||
+++ b/media/base/android/java/src/org/chromium/media/AudioManagerAndroid.java
|
||
@@ -186,7 +186,7 @@ class AudioManagerAndroid {
|
||
// Set the audio capture policy based on the device class.
|
||
// For non-desktop devices, allow capture only by the system.
|
||
// For desktop devices, use the default behavior to allow capture by all apps.
|
||
- if (!DeviceInfo.isDesktop()) {
|
||
+ if (!DeviceInfo.isDesktopFalse()) {
|
||
mAudioManager.setAllowedCapturePolicy(AudioAttributes.ALLOW_CAPTURE_BY_SYSTEM);
|
||
}
|
||
|
||
diff --git a/net/features.gni b/net/features.gni
|
||
--- a/net/features.gni
|
||
+++ b/net/features.gni
|
||
@@ -30,8 +30,8 @@ declare_args() {
|
||
disable_zstd_filter = false
|
||
|
||
# Multicast DNS. Enabled on desktop Android for the chrome.mdns extension API.
|
||
- enable_mdns = is_win || is_linux || is_chromeos || is_fuchsia || is_apple ||
|
||
- enable_desktop_android_extensions
|
||
+ enable_mdns = is_win || is_linux || is_chromeos || is_fuchsia || is_apple
|
||
+ #|| enable_desktop_android_extensions
|
||
|
||
# Reporting not used on iOS.
|
||
enable_reporting = !is_ios
|
||
diff --git a/skia/features.gni b/skia/features.gni
|
||
--- a/skia/features.gni
|
||
+++ b/skia/features.gni
|
||
@@ -12,7 +12,7 @@ declare_args() {
|
||
skia_use_dawn =
|
||
is_mac || is_win ||
|
||
(is_android && target_cpu != "x86" && target_cpu != "x64") ||
|
||
- (is_ios && use_blink) || (is_linux && !is_castos) || is_desktop_android
|
||
+ (is_ios && use_blink) || (is_linux && !is_castos) || is_desktop_android_false
|
||
}
|
||
|
||
# Skia only needs to support GPU rasterization if we use the full Chromium
|
||
diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc
|
||
--- a/third_party/blink/common/features.cc
|
||
+++ b/third_party/blink/common/features.cc
|
||
@@ -2438,7 +2438,7 @@ BASE_FEATURE(kStopInBackground,
|
||
// b/248036988 - Disable this for Chromecast on Android builds to prevent apps
|
||
// that play audio in the background from stopping.
|
||
#if BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CAST_ANDROID) && \
|
||
- !BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
+ !BUILDFLAG(IS_DESKTOP_ANDROID_FALSE)
|
||
base::FEATURE_ENABLED_BY_DEFAULT
|
||
#else
|
||
base::FEATURE_DISABLED_BY_DEFAULT
|
||
@@ -2742,7 +2742,7 @@ bool IsFencedFramesEnabled() {
|
||
// https://bugs.chromium.org/p/chromium/issues/detail?id=1335069#c3.
|
||
bool IsMemoryPurgeOnBackgroundingEnabled() {
|
||
return
|
||
-#if BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
+#if BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_DESKTOP_ANDROID_FALSE)
|
||
false
|
||
#else
|
||
true
|
||
diff --git a/third_party/blink/renderer/modules/modules_initializer.cc b/third_party/blink/renderer/modules/modules_initializer.cc
|
||
--- a/third_party/blink/renderer/modules/modules_initializer.cc
|
||
+++ b/third_party/blink/renderer/modules/modules_initializer.cc
|
||
@@ -121,7 +121,7 @@
|
||
namespace blink {
|
||
namespace {
|
||
|
||
-#if BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
+#if BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_DESKTOP_ANDROID_FALSE)
|
||
|
||
class SuspendCaptureObserver : public GarbageCollected<SuspendCaptureObserver>,
|
||
public Supplement<Page>,
|
||
@@ -378,7 +378,7 @@ void ModulesInitializer::ProvideModulesToPage(
|
||
const SessionStorageNamespaceId& namespace_id) const {
|
||
StorageNamespace::ProvideSessionStorageNamespaceTo(page, namespace_id);
|
||
AudioGraphTracer::ProvideAudioGraphTracerTo(page);
|
||
-#if BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
+#if BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_DESKTOP_ANDROID_FALSE)
|
||
page.ProvideSupplement(MakeGarbageCollected<SuspendCaptureObserver>(page));
|
||
#endif // BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
}
|
||
diff --git a/third_party/libvpx/BUILD.gn b/third_party/libvpx/BUILD.gn
|
||
--- a/third_party/libvpx/BUILD.gn
|
||
+++ b/third_party/libvpx/BUILD.gn
|
||
@@ -30,7 +30,7 @@ if (current_cpu == "x86") {
|
||
}
|
||
} else if (current_cpu == "arm64" || current_cpu == "arm64e") {
|
||
if (is_linux || is_win || is_chromeos || is_mac || is_ios ||
|
||
- is_desktop_android) {
|
||
+ is_desktop_android_false) {
|
||
# This is necessary for CrOS and macOS as they reuse the Linux
|
||
# configuration, of which there are two (see the later definition of
|
||
# os_category).
|
||
diff --git a/tools/grit/grit_args.gni b/tools/grit/grit_args.gni
|
||
--- a/tools/grit/grit_args.gni
|
||
+++ b/tools/grit/grit_args.gni
|
||
@@ -34,7 +34,8 @@ _grit_defines = [
|
||
# Mac wants Title Case strings.
|
||
"use_titlecase=${is_mac}",
|
||
|
||
- "is_desktop_android=${is_desktop_android}",
|
||
+ "is_desktop_android_false=${is_desktop_android_false}",
|
||
+ "is_desktop_android_cromite=${is_desktop_android_cromite}",
|
||
]
|
||
|
||
# Must match `enable_hidpi` in ui/base/ui_features.gni.
|
||
diff --git a/tools/json_schema_compiler/cpp_bundle_generator.py b/tools/json_schema_compiler/cpp_bundle_generator.py
|
||
--- a/tools/json_schema_compiler/cpp_bundle_generator.py
|
||
+++ b/tools/json_schema_compiler/cpp_bundle_generator.py
|
||
@@ -138,7 +138,7 @@ class CppBundleGenerator(object):
|
||
if platform == Platforms.CHROMEOS:
|
||
ifdefs.append('BUILDFLAG(IS_CHROMEOS)')
|
||
elif platform == Platforms.DESKTOP_ANDROID:
|
||
- ifdefs.append('BUILDFLAG(IS_DESKTOP_ANDROID)')
|
||
+ ifdefs.append('BUILDFLAG(IS_DESKTOP_ANDROID_CROMITE)')
|
||
elif platform == Platforms.LINUX:
|
||
ifdefs.append('BUILDFLAG(IS_LINUX)')
|
||
elif platform == Platforms.MAC:
|
||
diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java
|
||
--- a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java
|
||
+++ b/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java
|
||
@@ -636,7 +636,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
|
||
// (e.g., MIME type */*), the Camera is often included in the app list by default, creating
|
||
// a confusing experience for desktop users who expect a standard file picker.
|
||
ArrayList<Intent> extraIntents = new ArrayList<>();
|
||
- if (!DeviceInfo.isDesktop()) {
|
||
+ if (!DeviceInfo.isDesktopFalse()) {
|
||
if (shouldShowImageTypes() && camera != null) extraIntents.add(camera);
|
||
if (shouldShowVideoTypes() && camcorder != null) extraIntents.add(camcorder);
|
||
if (shouldShowAudioTypes() && soundRecorder != null) extraIntents.add(soundRecorder);
|
||
diff --git a/ui/android/java/src/org/chromium/ui/widget/PopupSpecCalculator.java b/ui/android/java/src/org/chromium/ui/widget/PopupSpecCalculator.java
|
||
--- a/ui/android/java/src/org/chromium/ui/widget/PopupSpecCalculator.java
|
||
+++ b/ui/android/java/src/org/chromium/ui/widget/PopupSpecCalculator.java
|
||
@@ -233,8 +233,13 @@ public class PopupSpecCalculator implements SpecCalculator {
|
||
- marginPx;
|
||
|
||
// Bias based on the center of the popup and where it is on the screen.
|
||
- final boolean idealFitsBelow = idealContentSize.getHeight() <= spaceBelowAnchor;
|
||
- final boolean idealFitsAbove = idealContentSize.getHeight() <= spaceAboveAnchor;
|
||
+ boolean idealFitsBelow = idealContentSize.getHeight() <= spaceBelowAnchor;
|
||
+ boolean idealFitsAbove = idealContentSize.getHeight() <= spaceAboveAnchor;
|
||
+
|
||
+ if (!idealFitsBelow && !idealFitsAbove) {
|
||
+ idealFitsAbove = (spaceBelowAnchor < spaceAboveAnchor);
|
||
+ idealFitsBelow = !idealFitsAbove;
|
||
+ }
|
||
|
||
// Determine whether or not the popup should be above or below the anchor.
|
||
// Aggressively try to put it below the anchor. Put it above only if it would fit
|
||
diff --git a/ui/android/javatests/src/org/chromium/ui/test/util/UiDisableIfSkipCheck.java b/ui/android/javatests/src/org/chromium/ui/test/util/UiDisableIfSkipCheck.java
|
||
--- a/ui/android/javatests/src/org/chromium/ui/test/util/UiDisableIfSkipCheck.java
|
||
+++ b/ui/android/javatests/src/org/chromium/ui/test/util/UiDisableIfSkipCheck.java
|
||
@@ -28,17 +28,17 @@ public class UiDisableIfSkipCheck extends DisableIfSkipCheck {
|
||
() -> {
|
||
switch (type) {
|
||
case DeviceFormFactor.PHONE:
|
||
- return !DeviceInfo.isDesktop() && !isTablet();
|
||
+ return !DeviceInfo.isDesktopFalse() && !isTablet();
|
||
case DeviceFormFactor.ONLY_TABLET:
|
||
- return !DeviceInfo.isDesktop() && isTablet();
|
||
+ return !DeviceInfo.isDesktopFalse() && isTablet();
|
||
case DeviceFormFactor.DESKTOP:
|
||
- return DeviceInfo.isDesktop();
|
||
+ return DeviceInfo.isDesktopFalse();
|
||
case DeviceFormFactor.DESKTOP_FREEFORM:
|
||
return UiRestriction.isDesktopFreeform();
|
||
case DeviceFormFactor.TABLET_OR_DESKTOP:
|
||
return isTablet();
|
||
case DeviceFormFactor.PHONE_OR_TABLET:
|
||
- return !DeviceInfo.isDesktop();
|
||
+ return !DeviceInfo.isDesktopFalse();
|
||
default:
|
||
return false;
|
||
}
|
||
diff --git a/ui/android/javatests/src/org/chromium/ui/test/util/UiRestriction.java b/ui/android/javatests/src/org/chromium/ui/test/util/UiRestriction.java
|
||
--- a/ui/android/javatests/src/org/chromium/ui/test/util/UiRestriction.java
|
||
+++ b/ui/android/javatests/src/org/chromium/ui/test/util/UiRestriction.java
|
||
@@ -31,7 +31,7 @@ public final class UiRestriction {
|
||
if (sIsDesktop == null) {
|
||
// See the following link for implementation details:
|
||
// https://source.chromium.org/chromium/chromium/src/+/main:base/android/java/src/org/chromium/base/DeviceInfo.java;l=285-287;drc=61d3d9feb38d8045309dd9e237f5305de987523d
|
||
- sIsDesktop = DeviceInfo.isDesktop();
|
||
+ sIsDesktop = DeviceInfo.isDesktopFalse();
|
||
}
|
||
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
|
||
@@ -86,7 +86,7 @@ std::string Command::CommandPlatform() {
|
||
// TODO(crbug.com/40220501): Change this once we decide what string should be
|
||
// used for Fuchsia.
|
||
return ui::kKeybindingPlatformLinux;
|
||
-#elif BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
+#elif BUILDFLAG(IS_DESKTOP_ANDROID_CROMITE)
|
||
// For now, we use linux keybindings on desktop android.
|
||
// TODO(https://crbug.com/356905053): Should this be ChromeOS keybindings?
|
||
return ui::kKeybindingPlatformLinux;
|
||
diff --git a/ui/base/device_form_factor_android.cc b/ui/base/device_form_factor_android.cc
|
||
--- a/ui/base/device_form_factor_android.cc
|
||
+++ b/ui/base/device_form_factor_android.cc
|
||
@@ -28,7 +28,7 @@ DeviceFormFactor GetDeviceFormFactor() {
|
||
return DEVICE_FORM_FACTOR_AUTOMOTIVE;
|
||
}
|
||
|
||
- if (base::android::device_info::is_desktop()) {
|
||
+ if (base::android::device_info::is_desktop_false()) {
|
||
return DEVICE_FORM_FACTOR_DESKTOP;
|
||
}
|
||
|
||
diff --git a/ui/gl/features.gni b/ui/gl/features.gni
|
||
--- a/ui/gl/features.gni
|
||
+++ b/ui/gl/features.gni
|
||
@@ -14,7 +14,7 @@ declare_args() {
|
||
# Vulkan Validation Layers.
|
||
use_dawn = is_apple || is_win || is_chromeos || (is_linux && !is_castos) ||
|
||
(is_android && target_cpu != "x86" && target_cpu != "x64") ||
|
||
- is_desktop_android
|
||
+ is_desktop_android_false
|
||
|
||
# Should Dawn test binaries (unittests, end2end_tests, perf_tests) be built?
|
||
# Independent of use_dawn, which controls whether Dawn is used in Chromium.
|
||
diff --git a/ui/resources/ui_resources.grd b/ui/resources/ui_resources.grd
|
||
--- a/ui/resources/ui_resources.grd
|
||
+++ b/ui/resources/ui_resources.grd
|
||
@@ -28,7 +28,7 @@
|
||
</if>
|
||
<structure type="chrome_scaled_image" name="IDR_DEFAULT_FAVICON" file="common/default_favicon.png" />
|
||
<structure type="chrome_scaled_image" name="IDR_DEFAULT_FAVICON_DARK" file="common/default_favicon_dark.png" />
|
||
- <if expr="not is_android or is_desktop_android">
|
||
+ <if expr="not is_android or is_desktop_android_cromite">
|
||
<structure type="chrome_scaled_image" name="IDR_DEFAULT_FAVICON_32" file="common/default_favicon_32.png" />
|
||
<structure type="chrome_scaled_image" name="IDR_DEFAULT_FAVICON_DARK_32" file="common/default_favicon_dark_32.png" />
|
||
<structure type="chrome_scaled_image" name="IDR_DEFAULT_FAVICON_64" file="common/default_favicon_64.png" />
|
||
diff --git a/ui/webui/resources/BUILD.gn b/ui/webui/resources/BUILD.gn
|
||
--- a/ui/webui/resources/BUILD.gn
|
||
+++ b/ui/webui/resources/BUILD.gn
|
||
@@ -50,7 +50,7 @@ generate_grd("build_grd") {
|
||
"$target_gen_dir/mojo/resources.grdp",
|
||
]
|
||
|
||
- if ((!is_android && !is_ios) || is_desktop_android) {
|
||
+ if ((!is_android && !is_ios) || is_desktop_android_cromite) {
|
||
public_deps += [
|
||
"cr_components/cr_shortcut_input:build_grdp",
|
||
"cr_components/managed_footnote:build_grdp",
|
||
diff --git a/ui/webui/resources/cr_components/cr_shortcut_input/BUILD.gn b/ui/webui/resources/cr_components/cr_shortcut_input/BUILD.gn
|
||
--- a/ui/webui/resources/cr_components/cr_shortcut_input/BUILD.gn
|
||
+++ b/ui/webui/resources/cr_components/cr_shortcut_input/BUILD.gn
|
||
@@ -4,7 +4,7 @@
|
||
|
||
import("//ui/webui/resources/tools/build_webui.gni")
|
||
|
||
-assert((!is_android && !is_ios) || is_desktop_android)
|
||
+assert((!is_android && !is_ios) || is_desktop_android_cromite)
|
||
|
||
build_webui("build") {
|
||
grd_prefix = "cr_components_cr_shortcut_input"
|
||
diff --git a/ui/webui/resources/cr_components/managed_footnote/BUILD.gn b/ui/webui/resources/cr_components/managed_footnote/BUILD.gn
|
||
--- a/ui/webui/resources/cr_components/managed_footnote/BUILD.gn
|
||
+++ b/ui/webui/resources/cr_components/managed_footnote/BUILD.gn
|
||
@@ -4,7 +4,7 @@
|
||
|
||
import("//ui/webui/resources/tools/build_webui.gni")
|
||
|
||
-assert((!is_android && !is_ios) || is_desktop_android)
|
||
+assert((!is_android && !is_ios) || is_desktop_android_cromite)
|
||
|
||
build_webui("build") {
|
||
grd_prefix = "cr_components_managed_footnote"
|
||
diff --git a/ui/webui/resources/cr_elements/BUILD.gn b/ui/webui/resources/cr_elements/BUILD.gn
|
||
--- a/ui/webui/resources/cr_elements/BUILD.gn
|
||
+++ b/ui/webui/resources/cr_elements/BUILD.gn
|
||
@@ -87,7 +87,7 @@ build_webui("build") {
|
||
]
|
||
}
|
||
|
||
- if ((!is_android && !is_ios) || is_desktop_android) {
|
||
+ if ((!is_ios) || is_desktop_android_cromite) {
|
||
static_files = [ "cr_a11y_announcer/cr_a11y_announcer.css" ]
|
||
ts_files += [
|
||
"cr_radio_button/cr_radio_button_mixin_lit.ts",
|
||
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
|
||
@@ -123,6 +123,9 @@ picture {
|
||
}
|
||
|
||
#menuButton ~ h1 {
|
||
+<if expr="is_android">
|
||
+ font-size: 15px !important;
|
||
+</if>
|
||
margin-inline-start: 0;
|
||
}
|
||
|
||
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
|
||
@@ -35,7 +35,7 @@ preprocess_if_expr("preprocess") {
|
||
in_files += [ "roboto.css" ]
|
||
}
|
||
|
||
- if (include_polymer || is_desktop_android) {
|
||
+ if (include_polymer || is_desktop_android_cromite) {
|
||
in_files += [ "md_colors.css" ]
|
||
}
|
||
}
|
||
--
|