3683 lines
183 KiB
Diff
3683 lines
183 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 +-
|
||
base/android/device_info.cc | 8 +-
|
||
base/android/device_info.h | 3 +-
|
||
.../src/org/chromium/base/DeviceInfo.java | 6 +-
|
||
build/BUILD.gn | 2 +-
|
||
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 +-
|
||
chrome/android/BUILD.gn | 6 +-
|
||
chrome/android/chrome_public_apk_tmpl.gni | 2 +-
|
||
.../java/res/layout/manage_space_activity.xml | 14 +++-
|
||
.../java/res/xml/developer_preferences.xml | 6 ++
|
||
.../browser/ChromeBaseAppCompatActivity.java | 2 +-
|
||
.../AppMenuPropertiesDelegateImpl.java | 2 +-
|
||
.../settings/AppearanceSettingsFragment.java | 2 +-
|
||
.../overlays/strip/StripLayoutUtils.java | 2 +-
|
||
.../DesktopSiteSettingsIphController.java | 2 +-
|
||
.../browser/init/AsyncInitTaskRunner.java | 2 +-
|
||
.../MediaCaptureNotificationServiceImpl.java | 8 +-
|
||
.../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 | 2 +-
|
||
.../chrome/browser/ui/RootUiCoordinator.java | 2 +-
|
||
chrome/app/extensions_strings.grdp | 7 ++
|
||
chrome/app/theme/theme_resources.grd | 4 +-
|
||
chrome/browser/BUILD.gn | 8 +-
|
||
chrome/browser/about_flags.cc | 4 +
|
||
...chrome_selection_dropdown_menu_delegate.cc | 4 +-
|
||
.../bookmarks/bar/BookmarkBarUtils.java | 6 +-
|
||
.../bar/BookmarkBarVisibilityProvider.java | 2 +-
|
||
chrome/browser/browser_process_impl.cc | 2 +-
|
||
chrome/browser/chrome_browser_field_trials.cc | 84 +++++++++----------
|
||
.../chrome_browser_interface_binders_webui.cc | 4 +-
|
||
.../browser/chrome_content_browser_client.cc | 4 +-
|
||
chrome/browser/devtools/BUILD.gn | 2 +-
|
||
.../chrome_download_manager_delegate.cc | 2 +-
|
||
.../download_offline_content_provider.cc | 4 +-
|
||
chrome/browser/extensions/BUILD.gn | 12 ++-
|
||
.../chrome_extensions_api_client_android.cc | 2 +-
|
||
.../extensions/extension_management.cc | 8 +-
|
||
.../browser/extensions/extension_management.h | 2 +-
|
||
chrome/browser/extensions/extension_util.cc | 11 +++
|
||
.../feedback/DeviceInfoFeedbackSource.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 +-
|
||
.../policy_value_and_status_aggregator.cc | 2 +-
|
||
...hrome_browser_main_extra_parts_profiles.cc | 2 +-
|
||
.../profiles/off_the_record_profile_impl.cc | 9 +-
|
||
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 | 11 +++
|
||
.../resources/extensions/toolbar.html.ts | 7 --
|
||
...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 | 6 +-
|
||
.../browser/ui/android/context_menu_helper.cc | 12 ++-
|
||
.../browser/ui/android/context_menu_helper.h | 4 +-
|
||
.../desktop_site/DesktopSiteUtils.java | 4 +-
|
||
chrome/browser/ui/android/extensions/BUILD.gn | 4 +-
|
||
.../extensions/extension_actions_bridge.cc | 23 +++++
|
||
.../extensions/extension_actions_bridge.h | 1 +
|
||
.../java/res/layout/extensions_menu.xml | 1 +
|
||
.../res/layout/extensions_menu_footer.xml | 4 +-
|
||
.../extensions/java/res/values/dimens.xml | 1 +
|
||
.../ui/extensions/ExtensionActionsBridge.java | 6 ++
|
||
.../extensions/windowing/internal/BUILD.gn | 2 +-
|
||
.../Enable-extensions-Android.grdp | 15 ++++
|
||
.../Extensions-Android.grdp | 9 ++
|
||
chrome/browser/ui/android/tab_model/BUILD.gn | 4 +-
|
||
.../browser/ui/android/tab_model/tab_model.cc | 6 +-
|
||
.../browser/ui/android/tab_model/tab_model.h | 2 +-
|
||
.../android/tab_model/tab_model_jni_bridge.cc | 12 +--
|
||
.../android/tab_model/tab_model_test_helper.h | 2 +-
|
||
.../toolbar/java/res/layout/toolbar_phone.xml | 6 ++
|
||
.../ExtensionActionListContainer.java | 8 +-
|
||
.../ExtensionToolbarCoordinatorImpl.java | 10 ++-
|
||
.../extensions/ExtensionsMenuCoordinator.java | 44 +++++-----
|
||
.../ExtensionsMenuItemProperties.java | 5 +-
|
||
.../ExtensionsMenuItemViewBinder.java | 2 +
|
||
.../extensions/ExtensionsMenuMediator.java | 9 +-
|
||
chrome/browser/ui/browser_navigator_params.cc | 4 +-
|
||
chrome/browser/ui/browser_navigator_params.h | 4 +-
|
||
chrome/browser/ui/browser_window/BUILD.gn | 2 +-
|
||
.../ui/browser_window/internal/BUILD.gn | 2 +-
|
||
chrome/browser/ui/prefs/BUILD.gn | 4 +-
|
||
chrome/browser/ui/prefs/prefs_tab_helper.cc | 8 +-
|
||
chrome/browser/ui/tabs/tab_list_interface.h | 4 +-
|
||
chrome/browser/ui/webid/BUILD.gn | 2 +-
|
||
.../browser/ui/webui/chrome_web_ui_configs.cc | 4 +-
|
||
.../browser/ui/webui/current_channel_logo.cc | 2 +-
|
||
.../browser/ui/webui/discards/discards_ui.cc | 8 +-
|
||
chrome/chrome_paks.gni | 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 | 16 ++--
|
||
chrome/version.gni | 4 +-
|
||
.../core/browser/host_content_settings_map.cc | 6 ++
|
||
.../embedder_support/view/ContentView.java | 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 | 2 +-
|
||
.../common/cloud/cloud_policy_constants.cc | 2 +-
|
||
components/policy/core/common/features.cc | 2 +-
|
||
.../policy/core/common/policy_merger.cc | 4 +-
|
||
.../service/variations_service_client.cc | 2 +-
|
||
.../installable/installable_icon_fetcher.cc | 6 +-
|
||
.../installable/installable_icon_fetcher.h | 2 +-
|
||
.../version/resources/about_version.html | 2 +-
|
||
content/browser/browser_main_loop.cc | 2 +-
|
||
.../media/video_capture_manager.cc | 4 +-
|
||
.../media/video_capture_manager.h | 6 +-
|
||
.../render_widget_host_view_android.cc | 2 +-
|
||
.../browser/ContentUiEventHandler.java | 7 +-
|
||
content/public/common/content_features.cc | 2 +-
|
||
.../render_frame_media_playback_options.cc | 2 +-
|
||
.../about_flags_cc/Extensions-Android.inc | 12 +++
|
||
.../about_flags_cc/Webstore-protection.inc | 8 +-
|
||
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 +-
|
||
net/features.gni | 4 +-
|
||
skia/features.gni | 2 +-
|
||
third_party/blink/common/features.cc | 2 +-
|
||
.../renderer/modules/modules_initializer.cc | 4 +-
|
||
tools/grit/grit_args.gni | 3 +-
|
||
.../cpp_bundle_generator.py | 2 +-
|
||
.../ui/widget/PopupSpecCalculator.java | 9 +-
|
||
.../ui/test/util/UiDisableIfSkipCheck.java | 8 +-
|
||
.../chromium/ui/test/util/UiRestriction.java | 2 +-
|
||
ui/base/accelerators/command.cc | 2 +-
|
||
ui/base/device_form_factor_android.cc | 2 +-
|
||
ui/gl/features.gni | 2 +-
|
||
ui/resources/ui_resources.grd | 2 +-
|
||
ui/webui/resources/BUILD.gn | 4 +-
|
||
ui/webui/resources/cr_elements/BUILD.gn | 2 +-
|
||
.../cr_elements/cr_toolbar/cr_toolbar.css | 6 ++
|
||
ui/webui/resources/css/BUILD.gn | 2 +-
|
||
174 files changed, 597 insertions(+), 316 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
|
||
|
||
diff --git a/android_webview/BUILD.gn b/android_webview/BUILD.gn
|
||
--- a/android_webview/BUILD.gn
|
||
+++ b/android_webview/BUILD.gn
|
||
@@ -1301,7 +1301,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/android/device_info.cc b/base/android/device_info.cc
|
||
--- a/base/android/device_info.cc
|
||
+++ b/base/android/device_info.cc
|
||
@@ -104,10 +104,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;
|
||
@@ -123,7 +127,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
|
||
@@ -128,10 +128,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;
|
||
}
|
||
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/config/android/rules.gni b/build/config/android/rules.gni
|
||
--- a/build/config/android/rules.gni
|
||
+++ b/build/config/android/rules.gni
|
||
@@ -2027,8 +2027,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
|
||
@@ -241,7 +241,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
|
||
@@ -64,7 +64,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/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
||
--- a/chrome/android/BUILD.gn
|
||
+++ b/chrome/android/BUILD.gn
|
||
@@ -958,7 +958,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",
|
||
"//chrome/browser/ui/browser_window/internal:java",
|
||
@@ -1225,7 +1225,7 @@ if (_is_default_toolchain) {
|
||
deps += [ "//chrome/browser/ui/android/extensions:junit" ]
|
||
}
|
||
|
||
- if (is_desktop_android) {
|
||
+ if (is_desktop_android_cromite) {
|
||
deps += [ "//chrome/browser/ui/browser_window/internal:junit" ]
|
||
}
|
||
}
|
||
@@ -2416,7 +2416,7 @@ if (_is_default_toolchain) {
|
||
"//components/ip_protection/android/android_auth_client_lib/javatests:ip_protection_auth_javatests",
|
||
]
|
||
|
||
- if (is_desktop_android) {
|
||
+ if (is_desktop_android_cromite) {
|
||
deps += [
|
||
"//chrome/browser/ui/android/extensions/windowing/internal:javatests",
|
||
"//chrome/browser/ui/browser_window/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
|
||
@@ -43,7 +43,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/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
|
||
@@ -44,4 +44,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
|
||
@@ -578,7 +578,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/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
|
||
@@ -1173,7 +1173,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
|
||
@@ -58,7 +58,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/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
|
||
@@ -420,7 +420,7 @@ public class StripLayoutUtils {
|
||
|
||
public static boolean shouldApplyMoreDensity() {
|
||
return ChromeFeatureList.sTabStripDensityChangeAndroid.isEnabled()
|
||
- && DeviceInfo.isDesktop();
|
||
+ && DeviceInfo.isDesktopFalse();
|
||
}
|
||
|
||
// Testing booleans
|
||
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/init/AsyncInitTaskRunner.java b/chrome/android/java/src/org/chromium/chrome/browser/init/AsyncInitTaskRunner.java
|
||
--- a/chrome/android/java/src/org/chromium/chrome/browser/init/AsyncInitTaskRunner.java
|
||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/init/AsyncInitTaskRunner.java
|
||
@@ -76,7 +76,7 @@ public abstract class AsyncInitTaskRunner {
|
||
}
|
||
// TODO(crbug.com/389565104): Remove this if block when ready to move desktop to stable
|
||
// builds.
|
||
- if (VersionInfo.isStableBuild() && DeviceInfo.isDesktop()) {
|
||
+ if (VersionInfo.isStableBuild() && DeviceInfo.isDesktopFalse()) {
|
||
return "dev";
|
||
}
|
||
if (VersionInfo.isBetaBuild()) {
|
||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/media/MediaCaptureNotificationServiceImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/media/MediaCaptureNotificationServiceImpl.java
|
||
--- a/chrome/android/java/src/org/chromium/chrome/browser/media/MediaCaptureNotificationServiceImpl.java
|
||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/media/MediaCaptureNotificationServiceImpl.java
|
||
@@ -216,7 +216,7 @@ public class MediaCaptureNotificationServiceImpl extends SplitCompatService.Impl
|
||
}
|
||
}
|
||
}
|
||
- if (DeviceInfo.isDesktop()) {
|
||
+ if (DeviceInfo.isDesktopFalse()) {
|
||
if (mNotifications.size() > 1 && mNotifications.firstKey() == notificationId) {
|
||
// For large screen device, we use the previous notification to update
|
||
// foreground
|
||
@@ -231,7 +231,7 @@ public class MediaCaptureNotificationServiceImpl extends SplitCompatService.Impl
|
||
}
|
||
mNotificationManager.cancel(NOTIFICATION_NAMESPACE, notificationId);
|
||
mNotificationsType.remove(notificationId);
|
||
- if (DeviceInfo.isDesktop()) {
|
||
+ if (DeviceInfo.isDesktopFalse()) {
|
||
mNotifications.remove(notificationId);
|
||
}
|
||
updateSharedPreferencesEntry(notificationId, true);
|
||
@@ -305,7 +305,7 @@ public class MediaCaptureNotificationServiceImpl extends SplitCompatService.Impl
|
||
appContext.getString(R.string.app_name),
|
||
contentIntent,
|
||
stopIntent);
|
||
- if (DeviceInfo.isDesktop()) {
|
||
+ if (DeviceInfo.isDesktopFalse()) {
|
||
// For large screen device, we use the latest notification to start or update
|
||
// the foreground service.
|
||
startOrUpdateForegroundService(notificationId, notification, mediaTypes);
|
||
@@ -313,7 +313,7 @@ public class MediaCaptureNotificationServiceImpl extends SplitCompatService.Impl
|
||
mNotificationManager.notify(notification);
|
||
}
|
||
mNotificationsType.put(notificationId, mediaTypes);
|
||
- if (DeviceInfo.isDesktop()) {
|
||
+ if (DeviceInfo.isDesktopFalse()) {
|
||
mNotifications.put(notificationId, notification);
|
||
}
|
||
updateSharedPreferencesEntry(notificationId, false);
|
||
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
|
||
@@ -217,7 +217,7 @@ public class MultiWindowUtils implements ActivityStateListener {
|
||
return TabWindowManager.MAX_SELECTORS_S;
|
||
}
|
||
|
||
- if (DeviceInfo.isDesktop()) {
|
||
+ if (DeviceInfo.isDesktopFalse()) {
|
||
return TabWindowManager.MAX_SELECTORS;
|
||
}
|
||
|
||
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:
|
||
return ChromeFeatureList.isEnabled(ChromeFeatureList.LOCAL_NETWORK_ACCESS);
|
||
case SiteSettingsCategory.Type.WINDOW_MANAGEMENT:
|
||
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
|
||
@@ -205,7 +205,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
|
||
@@ -826,7 +826,7 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
|
||
// PDF.
|
||
NativePage nativePage = currentTab.getNativePage();
|
||
boolean isPdfPage = nativePage != null && nativePage.isPdf();
|
||
- boolean isEligibleForPrint = DeviceInfo.isDesktop() || isPdfPage;
|
||
+ boolean isEligibleForPrint = DeviceInfo.isDesktopCromite() || isPdfPage;
|
||
|
||
return canShareTab && isPrintingEnabled && isEligibleForPrint;
|
||
}
|
||
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
|
||
@@ -2014,7 +2014,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/ui/RootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
|
||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
|
||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
|
||
@@ -714,7 +714,7 @@ public class RootUiCoordinator
|
||
mXrSpaceModeObservableSupplier = xrSpaceModeObservableSupplier;
|
||
|
||
if (BrowserControlsUtils.doSyncMinHeightWithTotalHeightV2()) {
|
||
- if (DeviceInfo.isDesktop()
|
||
+ if (DeviceInfo.isDesktopFalse()
|
||
|| BrowserControlsUtils.doSyncMinHeightWithTotalHeight(mActivity)) {
|
||
mTopControlsStacker.setScrollingDisabled(true);
|
||
} else if (mDesktopWindowStateManager != 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
|
||
@@ -409,9 +409,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
|
||
@@ -372,7 +372,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" />
|
||
@@ -381,7 +381,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
|
||
@@ -4916,7 +4916,7 @@ static_library("browser") {
|
||
}
|
||
}
|
||
|
||
- if (!is_android || is_desktop_android) {
|
||
+ if (!is_android || is_desktop_android_cromite) {
|
||
deps += [ "//chrome/browser/ui/browser_window" ]
|
||
}
|
||
|
||
@@ -7642,7 +7642,7 @@ static_library("browser") {
|
||
deps += [ "//media/mojo/mojom:remoting" ]
|
||
}
|
||
|
||
- if (is_android && !enable_desktop_android_extensions) {
|
||
+ if (is_android && !enable_desktop_android_extensions_cromite) {
|
||
sources += [ "download/download_crx_util_android.cc" ]
|
||
}
|
||
|
||
@@ -7956,7 +7956,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.
|
||
@@ -8736,7 +8736,7 @@ static_library("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
|
||
@@ -369,6 +369,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
|
||
@@ -209,7 +209,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);
|
||
}
|
||
@@ -427,13 +427,13 @@ public class BookmarkBarUtils {
|
||
boolean isCurrentlyVisible = isBookmarkBarVisible(context, profile);
|
||
|
||
// 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
|
||
@@ -92,7 +92,7 @@ public class BookmarkBarVisibilityProvider {
|
||
mProfileSupplier.addObserver(mProfileSupplierObserver);
|
||
|
||
// 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_process_impl.cc b/chrome/browser/browser_process_impl.cc
|
||
--- a/chrome/browser/browser_process_impl.cc
|
||
+++ b/chrome/browser/browser_process_impl.cc
|
||
@@ -357,7 +357,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
|
||
@@ -124,7 +124,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
|
||
@@ -133,17 +133,17 @@ void ChromeBrowserFieldTrials::RegisterFeatureOverrides(
|
||
|
||
// If enabled, then use desktop page webprefs for Android devices that have
|
||
// large displays, specifically tablets and desktops.
|
||
- feature_overrides.EnableFeature(
|
||
- blink::features::kAndroidDesktopWebPrefsLargeDisplays);
|
||
+ // feature_overrides.EnableFeature(
|
||
+ // blink::features::kAndroidDesktopWebPrefsLargeDisplays);
|
||
|
||
// Enables the caret browsing a11y feature - can use arrow keys to navigate
|
||
// through web pages.
|
||
// TODO(crbug.com/369139090): Remove when rollout is complete
|
||
- feature_overrides.EnableFeature(features::kAndroidCaretBrowsing);
|
||
+ // feature_overrides.EnableFeature(features::kAndroidCaretBrowsing);
|
||
|
||
// 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
|
||
@@ -153,8 +153,8 @@ void ChromeBrowserFieldTrials::RegisterFeatureOverrides(
|
||
|
||
// Enables media capture (tab+window+screen sharing).
|
||
// TODO(crbug.com/352187279): Remove when tablet rollout is complete.
|
||
- feature_overrides.EnableFeature(kAndroidMediaPicker);
|
||
- feature_overrides.EnableFeature(features::kUserMediaScreenCapturing);
|
||
+ // feature_overrides.EnableFeature(kAndroidMediaPicker);
|
||
+ // feature_overrides.EnableFeature(features::kUserMediaScreenCapturing);
|
||
|
||
// Enable desktop tab management features.
|
||
// TODO(crbug.com/422902625): Remove when rollout is complete to all form
|
||
@@ -163,10 +163,10 @@ void ChromeBrowserFieldTrials::RegisterFeatureOverrides(
|
||
feature_overrides.EnableFeature(chrome::android::kProtectedTabsAndroid);
|
||
feature_overrides.EnableFeature(features::kSubframeImportance);
|
||
// 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(b/432367402): Use a new Android API to replace this hack with a proper
|
||
// solution.
|
||
feature_overrides.EnableFeature(features::kAndroidCaptureKeyEvents);
|
||
@@ -175,12 +175,12 @@ void ChromeBrowserFieldTrials::RegisterFeatureOverrides(
|
||
feature_overrides.EnableFeature(features::kAndroidDevToolsFrontend);
|
||
// 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(
|
||
@@ -188,13 +188,13 @@ void ChromeBrowserFieldTrials::RegisterFeatureOverrides(
|
||
// 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.
|
||
@@ -205,58 +205,58 @@ void ChromeBrowserFieldTrials::RegisterFeatureOverrides(
|
||
feature_overrides.EnableFeature(media::kContextMenuPictureInPictureAndroid);
|
||
// 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/413776899): Remove when rollout on other form factors is
|
||
// complete.
|
||
- feature_overrides.EnableFeature(chrome::android::kInstanceSwitcherV2);
|
||
+ // feature_overrides.EnableFeature(chrome::android::kInstanceSwitcherV2);
|
||
// 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);
|
||
// TODO(crbug.com/444486763): Remove when rollout is complete to all form
|
||
// factors.
|
||
- feature_overrides.EnableFeature(chrome::android::kAndroidTabHighlighting);
|
||
+ // feature_overrides.EnableFeature(chrome::android::kAndroidTabHighlighting);
|
||
// TODO(b/441672693): Remove when the feature is stable on other form factors.
|
||
- feature_overrides.EnableFeature(features::kAndroidAudioDeviceListener);
|
||
+ // feature_overrides.EnableFeature(features::kAndroidAudioDeviceListener);
|
||
// 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(chrome::android::kTabStripIncognitoMigration);
|
||
+ // feature_overrides.EnableFeature(feed::kAndroidOpenIncognitoAsWindow);
|
||
+ // feature_overrides.EnableFeature(chrome::android::kTabStripIncognitoMigration);
|
||
// TODO(crbug.com/427242080): Remove when tablet rollout is complete.
|
||
- feature_overrides.EnableFeature(
|
||
- chrome::android::kAndroidPinnedTabsTabletTabStrip);
|
||
+ // feature_overrides.EnableFeature(
|
||
+ // chrome::android::kAndroidPinnedTabsTabletTabStrip);
|
||
|
||
// Three flags are required for the bookmarks bar feature.
|
||
// TODO(crbug.com/430059235): Remove once feature is launched to 100% on all
|
||
- // form factors.
|
||
- feature_overrides.EnableFeature(chrome::android::kAndroidBookmarkBar);
|
||
- feature_overrides.EnableFeature(chrome::android::kAndroidAppearanceSettings);
|
||
- feature_overrides.EnableFeature(chrome::android::kTopControlsRefactor);
|
||
+ // // form factors.
|
||
+ // feature_overrides.EnableFeature(chrome::android::kAndroidBookmarkBar);
|
||
+ // feature_overrides.EnableFeature(chrome::android::kAndroidAppearanceSettings);
|
||
+ // feature_overrides.EnableFeature(chrome::android::kTopControlsRefactor);
|
||
|
||
// 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);
|
||
|
||
// 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::kTabFreezingUsesDiscard);
|
||
- feature_overrides.EnableFeature(chrome::android::kLoadAllTabsAtStartup);
|
||
+ // feature_overrides.EnableFeature(features::kWebContentsDiscard);
|
||
+ // feature_overrides.EnableFeature(features::kLazyBrowserInterfaceBroker);
|
||
+ // feature_overrides.EnableFeature(chrome::android::kTabFreezingUsesDiscard);
|
||
+ // 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
|
||
@@ -275,7 +275,7 @@ 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);
|
||
#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
|
||
@@ -41,7 +41,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"
|
||
@@ -139,7 +139,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
|
||
@@ -4270,7 +4270,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);
|
||
@@ -4499,7 +4499,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/308033, http://crbug.com/696364.
|
||
-#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
|
||
@@ -345,7 +345,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/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
|
||
@@ -742,7 +742,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
|
||
@@ -490,7 +490,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
|
||
@@ -1735,7 +1735,7 @@ source_set("chrome_extensions_browser_client") {
|
||
"//extensions/browser/updater:keepalive",
|
||
]
|
||
|
||
- if (enable_desktop_android_extensions) {
|
||
+ if (enable_desktop_android_extensions_cromite) {
|
||
sources += [ "chrome_extensions_browser_client_android.cc" ]
|
||
|
||
deps += [
|
||
@@ -1750,6 +1750,16 @@ source_set("chrome_extensions_browser_client") {
|
||
"//extensions/browser",
|
||
"//extensions/browser/kiosk",
|
||
]
|
||
+
|
||
+ ### Extensions API module start
|
||
+ sources += [
|
||
+ "api/adblock_private/adblock_private_api.cc",
|
||
+ "api/adblock_private/adblock_private_api.h",
|
||
+ "api/eyeo_filtering_private/eyeo_filtering_private_api.cc",
|
||
+ "api/eyeo_filtering_private/eyeo_filtering_private_api.h",
|
||
+ ]
|
||
+
|
||
+ 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/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);
|
||
+ }
|
||
// If Finch has enabled extensions for corp, allow them.
|
||
if (base::FeatureList::IsEnabled(
|
||
extensions_features::kEnableExtensionsForCorpDesktopAndroid)) {
|
||
@@ -202,7 +206,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
|
||
@@ -107,7 +107,7 @@ class ExtensionManagement : public KeyedService,
|
||
// from the command line, or when loaded as an unpacked extension).
|
||
bool BlocklistedByDefault() 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_util.cc b/chrome/browser/extensions/extension_util.cc
|
||
--- a/chrome/browser/extensions/extension_util.cc
|
||
+++ b/chrome/browser/extensions/extension_util.cc
|
||
@@ -51,6 +51,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 {
|
||
@@ -351,6 +355,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/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/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
|
||
@@ -261,7 +261,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",
|
||
@@ -412,7 +412,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",
|
||
@@ -87,7 +87,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;
|
||
@@ -102,7 +102,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;
|
||
}
|
||
@@ -137,7 +137,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;
|
||
@@ -463,7 +463,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/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
|
||
@@ -45,7 +45,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/value_provider/extension_policies_value_provider.h"
|
||
#endif // BUILDFLAG(ENABLE_EXTENSIONS)
|
||
|
||
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
|
||
@@ -659,7 +659,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
|
||
@@ -108,6 +108,8 @@
|
||
#if BUILDFLAG(ENABLE_EXTENSIONS_CORE)
|
||
#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_EXTENSIONS)
|
||
@@ -216,7 +218,10 @@ void OffTheRecordProfileImpl::Init() {
|
||
this, std::make_unique<extensions::ExtensionIconSource>(profile_));
|
||
#endif
|
||
|
||
-#if BUILDFLAG(ENABLE_EXTENSIONS)
|
||
+#if BUILDFLAG(ENABLE_EXTENSIONS_CORE)
|
||
+ if (extensions::ProcessManager* process_manager = extensions::ProcessManager::Get(this)) {
|
||
+ process_manager->MaybeCreateStartupBackgroundHosts();
|
||
+ }
|
||
extensions::WebRequestEventRouter::OnOTRBrowserContextCreated(profile_, this);
|
||
#endif
|
||
|
||
@@ -275,7 +280,7 @@ OffTheRecordProfileImpl::~OffTheRecordProfileImpl() {
|
||
|
||
SimpleKeyMap::GetInstance()->Dissociate(this);
|
||
|
||
-#if BUILDFLAG(ENABLE_EXTENSIONS)
|
||
+#if BUILDFLAG(ENABLE_EXTENSIONS_CORE)
|
||
extensions::WebRequestEventRouter::OnOTRBrowserContextDestroyed(profile_,
|
||
this);
|
||
#endif
|
||
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
|
||
@@ -28,7 +28,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
|
||
@@ -126,7 +126,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" ]
|
||
}
|
||
|
||
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 {
|
||
@@ -28,6 +33,12 @@
|
||
padding-top: 14px;
|
||
}
|
||
|
||
+<if expr="is_android">
|
||
+#content-wrapper {
|
||
+ padding: 0px !important;
|
||
+}
|
||
+</if>
|
||
+
|
||
.empty-list-message {
|
||
color: #6e6e6e;
|
||
font-size: 123%; /* Should be 16px when 100% is 13px. */
|
||
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
|
||
@@ -25,13 +25,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/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
|
||
@@ -284,7 +284,7 @@ public abstract class ChromeProvidedSharingOptionsProviderBase {
|
||
}
|
||
|
||
private void maybeAddCollaborateFirstPartyOption() {
|
||
- if (DeviceInfo.isDesktop()) {
|
||
+ if (DeviceInfo.isDesktopFalse()) {
|
||
return;
|
||
}
|
||
FirstPartyOption option = createCollaborateFirstPartyOption();
|
||
@@ -316,7 +316,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
|
||
@@ -163,7 +163,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().
|
||
@@ -243,7 +243,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
|
||
@@ -672,7 +672,7 @@ static_library("ui") {
|
||
"//v8:v8_version",
|
||
]
|
||
|
||
- if (!is_android || is_desktop_android) {
|
||
+ if (!is_android || is_desktop_android_cromite) {
|
||
sources += [
|
||
"browser_navigator.h",
|
||
"incognito_allowed_url.cc",
|
||
@@ -687,7 +687,7 @@ static_library("ui") {
|
||
]
|
||
|
||
# Desktop-Android-only dependencies.
|
||
- if (is_desktop_android) {
|
||
+ if (is_desktop_android_cromite) {
|
||
sources += [ "//chrome/browser/ui/android/browser_navigator_android.cc" ]
|
||
deps += [
|
||
"//chrome/browser/ui/android/extensions/windowing/internal",
|
||
@@ -2912,7 +2912,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)
|
||
@@ -45,7 +45,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();
|
||
@@ -59,7 +59,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();
|
||
@@ -82,11 +82,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, java_obj_);
|
||
}
|
||
|
||
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
|
||
@@ -14,7 +14,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;
|
||
}
|
||
@@ -53,7 +53,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/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
|
||
@@ -78,8 +78,8 @@ if (enable_extensions_core) {
|
||
# BuildConfig.
|
||
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,11 +8,14 @@
|
||
#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_action_runner.h"
|
||
#include "chrome/browser/profiles/profile.h"
|
||
#include "chrome/browser/ui/android/extensions/extension_actions_bridge_factory.h"
|
||
#include "chrome/browser/ui/extensions/icon_with_badge_image_source.h"
|
||
#include "content/public/browser/web_contents.h"
|
||
+#include "extensions/common/constants.h"
|
||
#include "extensions/browser/extension_action.h"
|
||
#include "extensions/browser/extension_action_manager.h"
|
||
#include "extensions/browser/extension_registry.h"
|
||
@@ -203,6 +206,26 @@ ExtensionAction::ShowAction ExtensionActionsBridge::RunAction(
|
||
return runner->RunAction(extension, /*grant_tab_permissions=*/true);
|
||
}
|
||
|
||
+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));
|
||
+}
|
||
+
|
||
jni_zero::ScopedJavaLocalRef<jobject>
|
||
ExtensionActionsBridge::HandleKeyDownEvent(
|
||
JNIEnv* env,
|
||
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
|
||
@@ -53,6 +53,7 @@ class ExtensionActionsBridge : public ToolbarActionsModel::Observer,
|
||
const ToolbarActionsModel::ActionId& action_id,
|
||
int tab_id,
|
||
content::WebContents* web_contents);
|
||
+ void ClearExtensionData(JNIEnv* env);
|
||
jni_zero::ScopedJavaLocalRef<jobject> HandleKeyDownEvent(
|
||
JNIEnv* env,
|
||
const ui::KeyEventAndroid& key_event);
|
||
diff --git a/chrome/browser/ui/android/extensions/java/res/layout/extensions_menu.xml b/chrome/browser/ui/android/extensions/java/res/layout/extensions_menu.xml
|
||
--- a/chrome/browser/ui/android/extensions/java/res/layout/extensions_menu.xml
|
||
+++ b/chrome/browser/ui/android/extensions/java/res/layout/extensions_menu.xml
|
||
@@ -49,6 +49,7 @@ found in the LICENSE file.
|
||
|
||
<View
|
||
android:id="@+id/extensions_menu_footer_divider"
|
||
+ android:visibility="gone"
|
||
android:layout_width="0dp"
|
||
android:layout_height="1dp"
|
||
app:layout_constraintTop_toBottomOf="@+id/extensions_menu_items"
|
||
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
|
||
@@ -13,6 +13,7 @@ found in the LICENSE file.
|
||
|
||
<androidx.appcompat.widget.AppCompatButton
|
||
android:id="@+id/extensions_menu_discover_extensions_button"
|
||
+ android:visibility="gone"
|
||
style="?android:attr/borderlessButtonStyle"
|
||
android:layout_width="match_parent"
|
||
android:layout_height="wrap_content"
|
||
@@ -29,6 +30,7 @@ found in the LICENSE file.
|
||
|
||
<androidx.appcompat.widget.AppCompatButton
|
||
android:id="@+id/extensions_menu_manage_extensions_button"
|
||
+ android:visibility="gone"
|
||
style="?android:attr/borderlessButtonStyle"
|
||
android:layout_width="match_parent"
|
||
android:layout_height="wrap_content"
|
||
@@ -43,4 +45,4 @@ found in the LICENSE file.
|
||
android:drawableTint="?android:attr/textColorPrimary"
|
||
android:gravity="start|center_vertical"/>
|
||
|
||
-</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
|
||
@@ -13,4 +13,5 @@ found in the LICENSE file.
|
||
toolbar UI with the assumption that the UI is usable with the width.
|
||
-->
|
||
<dimen name="extension_toolbar_baseline_width">600dp</dimen>
|
||
+ <dimen name="extension_toolbar_baseline_min_width">50dp</dimen>
|
||
</resources>
|
||
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
|
||
@@ -240,6 +240,10 @@ public class ExtensionActionsBridge {
|
||
void onActionIconUpdated(String actionId);
|
||
}
|
||
|
||
+ public void clearExtensionData() {
|
||
+ ExtensionActionsBridgeJni.get().clearExtensionData(mNativeExtensionActionsBridge);
|
||
+ }
|
||
+
|
||
@NativeMethods
|
||
public interface Natives {
|
||
boolean extensionsEnabled(@JniType("Profile*") Profile profile);
|
||
@@ -272,6 +276,8 @@ public class ExtensionActionsBridge {
|
||
int tabId,
|
||
@JniType("content::WebContents*") WebContents webContents);
|
||
|
||
+ void clearExtensionData(long nativeExtensionActionsBridge);
|
||
+
|
||
HandleKeyEventResult handleKeyDownEvent(
|
||
long nativeExtensionActionsBridge,
|
||
@JniType("ui::KeyEventAndroid") KeyEvent keyEvent);
|
||
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/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/BUILD.gn b/chrome/browser/ui/android/tab_model/BUILD.gn
|
||
--- a/chrome/browser/ui/android/tab_model/BUILD.gn
|
||
+++ b/chrome/browser/ui/android/tab_model/BUILD.gn
|
||
@@ -67,7 +67,7 @@ source_set("impl") {
|
||
"//ui/base:types",
|
||
]
|
||
|
||
- if (is_desktop_android) {
|
||
+ if (is_desktop_android_cromite) {
|
||
deps += [
|
||
"//chrome/browser/ui/browser_window",
|
||
"//chrome/browser/ui/browser_window/internal",
|
||
@@ -97,7 +97,7 @@ source_set("test_support") {
|
||
"//chrome/browser/ui/android/tab_model",
|
||
]
|
||
|
||
- if (is_desktop_android) {
|
||
+ if (is_desktop_android_cromite) {
|
||
deps += [ "//chrome/browser/ui/browser_window" ]
|
||
}
|
||
}
|
||
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
|
||
@@ -20,7 +20,7 @@
|
||
#include "components/sync_sessions/session_sync_service.h"
|
||
#include "ui/base/unowned_user_data/scoped_unowned_user_data.h"
|
||
|
||
-#if BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
+#if BUILDFLAG(IS_DESKTOP_ANDROID_CROMITE)
|
||
#include "chrome/browser/ui/browser_window/public/browser_window_interface.h" // nogncheck
|
||
#endif
|
||
|
||
@@ -53,7 +53,7 @@ sync_sessions::OpenTabsUIDelegate* GetOpenTabsUIDelegate(Profile* profile) {
|
||
// TODO(http://crbug.com/444518651): remove the if-def when
|
||
// |BrowserWindowInterface| is compiled into all Android builds.
|
||
SessionID GetInitialSessionId() {
|
||
-#if BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
+#if BUILDFLAG(IS_DESKTOP_ANDROID_CROMITE)
|
||
return SessionID::InvalidValue();
|
||
#else
|
||
return SessionID::NewUnique();
|
||
@@ -162,7 +162,7 @@ void TabModel::RecordActualSyncedTabsHistogram() {
|
||
|
||
// TODO(http://crbug.com/444518651): remove the if-def when
|
||
// |BrowserWindowInterface| is compiled into all Android builds.
|
||
-#if BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
+#if BUILDFLAG(IS_DESKTOP_ANDROID_CROMITE)
|
||
void TabModel::SetSessionId(SessionID session_id) {
|
||
session_id_ = session_id;
|
||
}
|
||
diff --git a/chrome/browser/ui/android/tab_model/tab_model.h b/chrome/browser/ui/android/tab_model/tab_model.h
|
||
--- a/chrome/browser/ui/android/tab_model/tab_model.h
|
||
+++ b/chrome/browser/ui/android/tab_model/tab_model.h
|
||
@@ -292,7 +292,7 @@ class TabModel : public TabListInterface {
|
||
|
||
LocationBarModel* GetLocationBarModel();
|
||
|
||
-#if BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
+#if BUILDFLAG(IS_DESKTOP_ANDROID_CROMITE)
|
||
// Sets the |SessionID|.
|
||
//
|
||
// This is only needed on desktop Android, where |BrowserWindowInterface|
|
||
diff --git a/chrome/browser/ui/android/tab_model/tab_model_jni_bridge.cc b/chrome/browser/ui/android/tab_model/tab_model_jni_bridge.cc
|
||
--- a/chrome/browser/ui/android/tab_model/tab_model_jni_bridge.cc
|
||
+++ b/chrome/browser/ui/android/tab_model/tab_model_jni_bridge.cc
|
||
@@ -45,7 +45,7 @@
|
||
|
||
// "chrome/browser/ui/browser_window" is available on desktop Android, but not
|
||
// other Android builds.
|
||
-#if BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
+#if BUILDFLAG(IS_DESKTOP_ANDROID_CROMITE)
|
||
#include "chrome/browser/ui/browser_window/internal/android/android_browser_window.h" // nogncheck
|
||
#include "chrome/browser/ui/browser_window/public/browser_window_interface.h" // nogncheck
|
||
#include "chrome/browser/ui/browser_window/public/browser_window_interface_iterator.h" // nogncheck
|
||
@@ -78,7 +78,7 @@ std::vector<TabAndroid*> GetAllTabsFromHandles(
|
||
return tabs;
|
||
}
|
||
|
||
-#if BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
+#if BUILDFLAG(IS_DESKTOP_ANDROID_CROMITE)
|
||
AndroidBrowserWindow* GetAndroidBrowserWindow(SessionID session_id) {
|
||
for (BrowserWindowInterface* window : GetAllBrowserWindowInterfaces()) {
|
||
if (window->GetSessionID() == session_id) {
|
||
@@ -117,7 +117,7 @@ void TabModelJniBridge::AssociateWithBrowserWindow(
|
||
long native_android_browser_window) {
|
||
// BrowserWindowInterface is available on desktop Android, but not other Android
|
||
// builds. For non-desktop Android, this function should be a no-op.
|
||
-#if BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
+#if BUILDFLAG(IS_DESKTOP_ANDROID_CROMITE)
|
||
BrowserWindowInterface* android_browser_window =
|
||
reinterpret_cast<BrowserWindowInterface*>(native_android_browser_window);
|
||
CHECK(android_browser_window != nullptr);
|
||
@@ -153,7 +153,7 @@ void TabModelJniBridge::MoveTabToWindowForTesting(
|
||
TabAndroid* tab,
|
||
long android_browser_window_ptr,
|
||
int new_index) {
|
||
-#if BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
+#if BUILDFLAG(IS_DESKTOP_ANDROID_CROMITE)
|
||
SessionID destination_window_id =
|
||
reinterpret_cast<AndroidBrowserWindow*>(android_browser_window_ptr)
|
||
->GetSessionID();
|
||
@@ -168,7 +168,7 @@ void TabModelJniBridge::MoveTabGroupToWindowForTesting(
|
||
const base::Token& group_id,
|
||
long android_browser_window_ptr,
|
||
int new_index) {
|
||
-#if BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
+#if BUILDFLAG(IS_DESKTOP_ANDROID_CROMITE)
|
||
SessionID destination_window_id =
|
||
reinterpret_cast<AndroidBrowserWindow*>(android_browser_window_ptr)
|
||
->GetSessionID();
|
||
@@ -633,7 +633,7 @@ void TabModelJniBridge::MoveTabGroupToWindow(tab_groups::TabGroupId group_id,
|
||
ScopedJavaLocalRef<jobject> TabModelJniBridge::GetActivityForWindow(
|
||
SessionID window_id) {
|
||
ScopedJavaLocalRef<jobject> jactivity;
|
||
-#if BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
+#if BUILDFLAG(IS_DESKTOP_ANDROID_CROMITE)
|
||
AndroidBrowserWindow* window = GetAndroidBrowserWindow(window_id);
|
||
if (!window) {
|
||
return jactivity;
|
||
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
|
||
@@ -105,7 +105,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_width="52dp"
|
||
style="@style/ToolbarHoverableButton"/>
|
||
|
||
+ <ViewStub
|
||
+ android:id="@+id/extension_toolbar_container_stub"
|
||
+ android:inflatedId="@+id/extension_toolbar_container"
|
||
+ android:layout_width="56dp"
|
||
+ 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/ExtensionActionListContainer.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/extensions/ExtensionActionListContainer.java
|
||
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/extensions/ExtensionActionListContainer.java
|
||
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/extensions/ExtensionActionListContainer.java
|
||
@@ -54,7 +54,7 @@ class ExtensionActionListContainer extends ViewGroup {
|
||
@Override
|
||
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
|
||
// The parent passes the window width as the maximum width.
|
||
- assert MeasureSpec.getMode(widthMeasureSpec) == MeasureSpec.AT_MOST;
|
||
+ //assert MeasureSpec.getMode(widthMeasureSpec) == MeasureSpec.AT_MOST;
|
||
int remainingWidth =
|
||
MeasureSpec.getSize(widthMeasureSpec)
|
||
- getResources()
|
||
@@ -62,6 +62,12 @@ class ExtensionActionListContainer extends ViewGroup {
|
||
- getPaddingLeft()
|
||
- getPaddingRight();
|
||
|
||
+ // to be activated after 144 (missing pinned action support)
|
||
+ // if (remainingWidth < 0) {
|
||
+ // remainingWidth = getResources()
|
||
+ // .getDimensionPixelSize(R.dimen.extension_toolbar_baseline_min_width);
|
||
+ // }
|
||
+
|
||
int contentWidth = 0;
|
||
int contentHeight = 0;
|
||
|
||
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/extensions/ExtensionToolbarCoordinatorImpl.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/extensions/ExtensionToolbarCoordinatorImpl.java
|
||
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/extensions/ExtensionToolbarCoordinatorImpl.java
|
||
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/extensions/ExtensionToolbarCoordinatorImpl.java
|
||
@@ -6,6 +6,7 @@ package org.chromium.chrome.browser.toolbar.extensions;
|
||
|
||
import android.content.Context;
|
||
import android.view.KeyEvent;
|
||
+import android.view.View;
|
||
import android.view.ViewStub;
|
||
import android.widget.LinearLayout;
|
||
|
||
@@ -22,6 +23,7 @@ import org.chromium.chrome.browser.tabmodel.TabCreator;
|
||
import org.chromium.chrome.browser.theme.ThemeColorProvider;
|
||
import org.chromium.chrome.browser.ui.browser_window.ChromeAndroidTask;
|
||
import org.chromium.chrome.browser.ui.extensions.ExtensionActionsBridge;
|
||
+import org.chromium.chrome.browser.ui.extensions.ExtensionUi;
|
||
import org.chromium.chrome.browser.ui.extensions.R;
|
||
import org.chromium.ui.base.WindowAndroid;
|
||
|
||
@@ -54,6 +56,11 @@ public class ExtensionToolbarCoordinatorImpl implements ExtensionToolbarCoordina
|
||
|
||
extensionToolbarStub.setLayoutResource(R.layout.extension_toolbar_container);
|
||
LinearLayout container = (LinearLayout) extensionToolbarStub.inflate();
|
||
+ mProfileSupplier.addObserver((profile) -> {
|
||
+ if (!ExtensionUi.isEnabled(profileSupplier.get())) {
|
||
+ container.setVisibility(View.GONE);
|
||
+ }
|
||
+ });
|
||
mExtensionActionListCoordinator =
|
||
new ExtensionActionListCoordinator(
|
||
context,
|
||
@@ -71,7 +78,8 @@ public class ExtensionToolbarCoordinatorImpl implements ExtensionToolbarCoordina
|
||
taskSupplier,
|
||
profileSupplier,
|
||
currentTabSupplier,
|
||
- tabCreator);
|
||
+ tabCreator,
|
||
+ mExtensionActionListCoordinator);
|
||
}
|
||
|
||
@Override
|
||
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
|
||
@@ -28,6 +28,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.ui.browser_window.ChromeAndroidTask;
|
||
+import org.chromium.chrome.browser.toolbar.extensions.ExtensionActionListCoordinator;
|
||
import org.chromium.chrome.browser.ui.extensions.R;
|
||
import org.chromium.chrome.browser.ui.theme.BrandedColorScheme;
|
||
import org.chromium.components.embedder_support.util.UrlConstants;
|
||
@@ -86,7 +87,8 @@ public class ExtensionsMenuCoordinator implements Destroyable {
|
||
OneshotSupplier<ChromeAndroidTask> taskSupplier,
|
||
ObservableSupplier<@Nullable Profile> profileSupplier,
|
||
ObservableSupplier<@Nullable Tab> currentTabSupplier,
|
||
- TabCreator tabCreator) {
|
||
+ TabCreator tabCreator,
|
||
+ ExtensionActionListCoordinator extensionActionListCoordinator) {
|
||
mContext = context;
|
||
mCurrentTabSupplier = currentTabSupplier;
|
||
mTabCreator = tabCreator;
|
||
@@ -129,6 +131,21 @@ public class ExtensionsMenuCoordinator implements Destroyable {
|
||
}
|
||
};
|
||
|
||
+ mExtensionsMenuButton.setDelegate(
|
||
+ new ListMenuDelegate() {
|
||
+ @Override
|
||
+ public RectProvider getRectProvider(
|
||
+ View listMenuHostingView) {
|
||
+ return MenuBuilderHelper.getRectProvider(
|
||
+ mExtensionsMenuButton);
|
||
+ }
|
||
+
|
||
+ @Override
|
||
+ public ListMenu getListMenu() {
|
||
+ return listMenu;
|
||
+ }
|
||
+ });
|
||
+
|
||
mMediator =
|
||
new ExtensionsMenuMediator(
|
||
mContext,
|
||
@@ -137,35 +154,14 @@ public class ExtensionsMenuCoordinator implements Destroyable {
|
||
mCurrentTabSupplier,
|
||
mExtensionModels,
|
||
() -> {
|
||
- mExtensionsMenuButton.setDelegate(
|
||
- new ListMenuDelegate() {
|
||
- @Override
|
||
- public RectProvider getRectProvider(
|
||
- View listMenuHostingView) {
|
||
- return MenuBuilderHelper.getRectProvider(
|
||
- mExtensionsMenuButton);
|
||
- }
|
||
-
|
||
- @Override
|
||
- public ListMenu getListMenu() {
|
||
- return listMenu;
|
||
- }
|
||
- });
|
||
- if (mShouldShowMenuOnInit) {
|
||
- if (mExtensionsMenuButton.getHost().isMenuShowing()) {
|
||
- mExtensionsMenuButton.dismiss();
|
||
- } else {
|
||
- mExtensionsMenuButton.showMenu();
|
||
- }
|
||
- mShouldShowMenuOnInit = false;
|
||
- }
|
||
},
|
||
(extensionsSupported) -> {
|
||
int visibility = extensionsSupported ? View.VISIBLE : View.GONE;
|
||
mExtensionsMenuButton.setVisibility(visibility);
|
||
mExtensionsMenuTabSwitcherDivider.setVisibility(visibility);
|
||
},
|
||
- mExtensionsMenuButton.getRootView());
|
||
+ mExtensionsMenuButton.getRootView(),
|
||
+ extensionActionListCoordinator);
|
||
}
|
||
|
||
private void openUrlFromMenu(String url) {
|
||
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
|
||
@@ -18,8 +18,11 @@ public class ExtensionsMenuItemProperties {
|
||
|
||
public static final WritableObjectPropertyKey<String> TITLE = new WritableObjectPropertyKey<>();
|
||
|
||
+ public static final WritableObjectPropertyKey<View.OnClickListener> ITEM_CLICK_LISTENER =
|
||
+ new WritableObjectPropertyKey<>();
|
||
+
|
||
public static final WritableObjectPropertyKey<View.OnClickListener> CLICK_LISTENER =
|
||
new WritableObjectPropertyKey<>();
|
||
|
||
- public static final PropertyKey[] ALL_KEYS = new PropertyKey[] {ICON, TITLE, CLICK_LISTENER};
|
||
+ public static final PropertyKey[] ALL_KEYS = new PropertyKey[] {ICON, TITLE, ITEM_CLICK_LISTENER, CLICK_LISTENER};
|
||
}
|
||
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
|
||
@@ -30,6 +30,8 @@ public class ExtensionsMenuItemViewBinder {
|
||
// TODO: Investigate the correct resizing method.
|
||
bitmap.setDensity(120);
|
||
iconView.setImageBitmap(bitmap);
|
||
+ } else if (key == ExtensionsMenuItemProperties.ITEM_CLICK_LISTENER) {
|
||
+ view.setOnClickListener(model.get(ExtensionsMenuItemProperties.ITEM_CLICK_LISTENER));
|
||
} else if (key == ExtensionsMenuItemProperties.CLICK_LISTENER) {
|
||
view.findViewById(R.id.extensions_menu_item_context_menu)
|
||
.setOnClickListener(model.get(ExtensionsMenuItemProperties.CLICK_LISTENER));
|
||
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
|
||
@@ -19,6 +19,7 @@ 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.ui.browser_window.ChromeAndroidTask;
|
||
+import org.chromium.chrome.browser.toolbar.extensions.ExtensionActionListCoordinator;
|
||
import org.chromium.chrome.browser.ui.extensions.ExtensionAction;
|
||
import org.chromium.chrome.browser.ui.extensions.ExtensionActionContextMenuBridge;
|
||
import org.chromium.chrome.browser.ui.extensions.ExtensionActionsBridge;
|
||
@@ -44,6 +45,7 @@ class ExtensionsMenuMediator implements Destroyable {
|
||
private final ExtensionActionsUpdateHelper mExtensionActionsUpdateHelper;
|
||
private final Callback<@Nullable Profile> mProfileUpdatedCallback = this::onProfileUpdated;
|
||
private final View mRootView;
|
||
+ private final ExtensionActionListCoordinator mExtensionActionListCoordinator;
|
||
|
||
public ExtensionsMenuMediator(
|
||
Context context,
|
||
@@ -53,8 +55,10 @@ class ExtensionsMenuMediator implements Destroyable {
|
||
ModelList extensionModels,
|
||
Runnable onUpdateFinishedRunnable,
|
||
Callback<Boolean> onExtensionsAvailableCallback,
|
||
- View rootView) {
|
||
+ View rootView,
|
||
+ ExtensionActionListCoordinator extensionActionListCoordinator) {
|
||
mTaskSupplier = taskSupplier;
|
||
+ mExtensionActionListCoordinator = extensionActionListCoordinator;
|
||
mProfileSupplier = profileSupplier;
|
||
mProfileSupplier.addObserver(mProfileUpdatedCallback);
|
||
|
||
@@ -164,6 +168,9 @@ class ExtensionsMenuMediator implements Destroyable {
|
||
new PropertyModel.Builder(ExtensionsMenuItemProperties.ALL_KEYS)
|
||
.with(ExtensionsMenuItemProperties.TITLE, action.getTitle())
|
||
.with(ExtensionsMenuItemProperties.ICON, icon)
|
||
+ .with(
|
||
+ ExtensionsMenuItemProperties.ITEM_CLICK_LISTENER,
|
||
+ (view) -> mExtensionActionListCoordinator.click(actionId))
|
||
.with(
|
||
ExtensionsMenuItemProperties.CLICK_LISTENER,
|
||
(view) -> onPrimaryClick((ListMenuButton) view, actionId))
|
||
diff --git a/chrome/browser/ui/browser_navigator_params.cc b/chrome/browser/ui/browser_navigator_params.cc
|
||
--- a/chrome/browser/ui/browser_navigator_params.cc
|
||
+++ b/chrome/browser/ui/browser_navigator_params.cc
|
||
@@ -17,7 +17,7 @@
|
||
#include "chrome/browser/ui/browser.h"
|
||
#endif
|
||
|
||
-#if !BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
+#if !BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_DESKTOP_ANDROID_CROMITE)
|
||
#include "chrome/browser/ui/browser_window/public/browser_window_interface.h" // nogncheck
|
||
#endif
|
||
|
||
@@ -30,7 +30,7 @@ NavigateParams::NavigateParams(std::unique_ptr<WebContents> contents_to_insert)
|
||
: contents_to_insert(std::move(contents_to_insert)) {}
|
||
#endif
|
||
|
||
-#if !BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
+#if !BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_DESKTOP_ANDROID_CROMITE)
|
||
NavigateParams::NavigateParams(BrowserWindowInterface* a_browser,
|
||
const GURL& a_url,
|
||
ui::PageTransition a_transition)
|
||
diff --git a/chrome/browser/ui/browser_navigator_params.h b/chrome/browser/ui/browser_navigator_params.h
|
||
--- a/chrome/browser/ui/browser_navigator_params.h
|
||
+++ b/chrome/browser/ui/browser_navigator_params.h
|
||
@@ -76,7 +76,7 @@ struct NavigateParams {
|
||
std::unique_ptr<content::WebContents> contents_to_insert);
|
||
#endif
|
||
|
||
-#if !BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
+#if !BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_DESKTOP_ANDROID_CROMITE)
|
||
NavigateParams(BrowserWindowInterface* a_browser,
|
||
const GURL& a_url,
|
||
ui::PageTransition a_transition);
|
||
@@ -263,7 +263,7 @@ struct NavigateParams {
|
||
};
|
||
PathBehavior path_behavior = RESPECT;
|
||
|
||
-#if !BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
+#if !BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_DESKTOP_ANDROID_CROMITE)
|
||
// [in] Specifies a BrowserWindowInterface object where the navigation
|
||
// could occur or the tab could be added. Navigate() is not obliged to
|
||
// use this BrowserWindowInterface if it is not compatible with the
|
||
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
|
||
@@ -4,7 +4,7 @@
|
||
|
||
import("//chrome/common/features.gni")
|
||
|
||
-assert(is_win || is_mac || is_linux || is_chromeos || is_desktop_android)
|
||
+assert(is_win || is_mac || is_linux || is_chromeos || is_desktop_android_cromite)
|
||
|
||
# This is the public interface for a browser window. Most features in
|
||
# //chrome/browser depend on this interface, and thus to prevent circular
|
||
diff --git a/chrome/browser/ui/browser_window/internal/BUILD.gn b/chrome/browser/ui/browser_window/internal/BUILD.gn
|
||
--- a/chrome/browser/ui/browser_window/internal/BUILD.gn
|
||
+++ b/chrome/browser/ui/browser_window/internal/BUILD.gn
|
||
@@ -4,7 +4,7 @@
|
||
|
||
import("//chrome/common/features.gni")
|
||
|
||
-assert(is_win || is_mac || is_linux || is_chromeos || is_desktop_android)
|
||
+assert(is_win || is_mac || is_linux || is_chromeos || is_desktop_android_cromite)
|
||
|
||
source_set("internal") {
|
||
sources = [ "create_browser_window.cc" ]
|
||
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
|
||
@@ -67,7 +67,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" ]
|
||
@@ -85,7 +85,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(ENABLE_DESKTOP_ANDROID_EXTENSIONS)
|
||
+ BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS_CROMITE)
|
||
{prefs::kWebKitStandardFontFamilyJapanese,
|
||
IDS_STANDARD_FONT_FAMILY_JAPANESE},
|
||
{prefs::kWebKitFixedFontFamilyJapanese, IDS_FIXED_FONT_FAMILY_JAPANESE},
|
||
@@ -290,7 +290,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) {
|
||
@@ -451,7 +451,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/tabs/tab_list_interface.h b/chrome/browser/ui/tabs/tab_list_interface.h
|
||
--- a/chrome/browser/ui/tabs/tab_list_interface.h
|
||
+++ b/chrome/browser/ui/tabs/tab_list_interface.h
|
||
@@ -18,7 +18,7 @@
|
||
|
||
// BrowserWindowInterface is available on desktop Android, but not other Android
|
||
// builds.
|
||
-#if !BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
+#if !BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_DESKTOP_ANDROID_CROMITE)
|
||
class BrowserWindowInterface;
|
||
#endif
|
||
|
||
@@ -35,7 +35,7 @@ class TabListInterface {
|
||
TabListInterface(const TabListInterface& other) = delete;
|
||
void operator=(const TabListInterface& other) = delete;
|
||
|
||
-#if !BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
+#if !BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_DESKTOP_ANDROID_CROMITE)
|
||
// Returns the TabListInterface associated with the given `browser`.
|
||
static TabListInterface* From(BrowserWindowInterface* browser);
|
||
#endif
|
||
diff --git a/chrome/browser/ui/webid/BUILD.gn b/chrome/browser/ui/webid/BUILD.gn
|
||
--- a/chrome/browser/ui/webid/BUILD.gn
|
||
+++ b/chrome/browser/ui/webid/BUILD.gn
|
||
@@ -37,7 +37,7 @@ source_set("webid") {
|
||
"//ui/base",
|
||
]
|
||
|
||
- if (!is_android || is_desktop_android) {
|
||
+ if (!is_android || is_desktop_android_cromite) {
|
||
deps += [ "//chrome/browser/ui/browser_window" ]
|
||
}
|
||
}
|
||
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
|
||
@@ -181,7 +181,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"
|
||
#endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ||
|
||
// BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
@@ -414,7 +414,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>());
|
||
#endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ||
|
||
// BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
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
|
||
@@ -26,7 +26,7 @@ int CurrentChannelLogoResourceId() {
|
||
case version_info::Channel::DEV:
|
||
case version_info::Channel::BETA:
|
||
case version_info::Channel::STABLE:
|
||
- NOTREACHED();
|
||
+ 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
|
||
@@ -513,7 +513,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" ]
|
||
deps += [ "//chrome/browser/resources/discards:resources" ]
|
||
}
|
||
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
|
||
@@ -802,7 +802,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
|
||
@@ -238,7 +238,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
|
||
@@ -66,6 +66,13 @@ uncompiled_sources_ = [
|
||
"top_sites.json",
|
||
]
|
||
|
||
+if (enable_extensions_core && is_android) {
|
||
+ uncompiled_sources_ += [
|
||
+ "browser_action.json",
|
||
+ "page_action.json",
|
||
+ ]
|
||
+}
|
||
+
|
||
# Some APIs (e.g. cookies) 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
|
||
@@ -207,7 +207,7 @@ base::span<const base::cstring_view> ChromeURLHosts() {
|
||
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
|
||
@@ -566,7 +566,7 @@ inline constexpr char kChromeUIOsUrlAppURL[] = "chrome://internal/";
|
||
#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
|
||
@@ -364,7 +364,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",
|
||
@@ -477,7 +477,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) {
|
||
deps += [ "//chrome/renderer/extensions" ]
|
||
|
||
public_deps += [
|
||
@@ -1535,7 +1535,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" ]
|
||
}
|
||
|
||
@@ -1788,7 +1788,7 @@ source_set("platform_browser_tests") {
|
||
"//chrome/browser/ui/browser_window",
|
||
]
|
||
}
|
||
- if (!is_android || enable_desktop_android_extensions) {
|
||
+ if (!is_android || enable_desktop_android_extensions_cromite) {
|
||
sources +=
|
||
[ "../browser/devtools/global_confirm_info_bar_browsertest.cc" ]
|
||
}
|
||
@@ -2074,7 +2074,7 @@ if (is_android) {
|
||
|
||
extra_args = []
|
||
|
||
- if (is_desktop_android) {
|
||
+ if (is_desktop_android_cromite) {
|
||
sources +=
|
||
[ "../browser/ui/android/browser_navigator_android_browsertest.cc" ]
|
||
deps += [
|
||
@@ -2175,7 +2175,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.
|
||
@@ -8059,11 +8059,11 @@ test("unit_tests") {
|
||
deps += [ "//chrome/browser/android/extensions:android" ]
|
||
}
|
||
|
||
- if (!is_android || is_desktop_android) {
|
||
+ if (!is_android || is_desktop_android_cromite) {
|
||
deps += [ "//chrome/browser/ui/browser_window/internal:unit_tests" ]
|
||
}
|
||
|
||
- if (is_desktop_android) {
|
||
+ if (is_desktop_android_cromite) {
|
||
deps += [
|
||
# Unit test targets for //chrome/browser/ui/browser_window/internal.
|
||
#
|
||
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 +=
|
||
@@ -383,7 +383,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
|
||
@@ -329,6 +329,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
|
||
@@ -449,7 +449,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/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
|
||
@@ -144,7 +144,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 @@ BASE_FEATURE(kSafeSitesCaptivePortalCheck, base::FEATURE_ENABLED_BY_DEFAULT);
|
||
|
||
// TODO(https://crbug.com/452666657): Remove this feature flag after launching
|
||
// policies to supported on Android Desktop.
|
||
-#if BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
+#if BUILDFLAG(IS_DESKTOP_ANDROID_CROMITE)
|
||
BASE_FEATURE(kFuturePoliciesOnDesktopAndroid,
|
||
base::FEATURE_DISABLED_BY_DEFAULT);
|
||
#endif // BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
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/variations/service/variations_service_client.cc b/components/variations/service/variations_service_client.cc
|
||
--- a/components/variations/service/variations_service_client.cc
|
||
+++ b/components/variations/service/variations_service_client.cc
|
||
@@ -48,7 +48,7 @@ version_info::Channel VariationsServiceClient::GetChannelForVariations() {
|
||
// TODO(crbug.com/389565104): Remove this if block when ready to move desktop
|
||
// to stable builds.
|
||
if (channel == version_info::Channel::STABLE &&
|
||
- base::android::device_info::is_desktop()) {
|
||
+ base::android::device_info::is_desktop_false()) {
|
||
return version_info::Channel::DEV;
|
||
}
|
||
#endif
|
||
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(
|
||
@@ -253,7 +253,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,
|
||
@@ -277,7 +277,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/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
|
||
@@ -851,7 +851,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/media/video_capture_manager.cc b/content/browser/renderer_host/media/video_capture_manager.cc
|
||
--- a/content/browser/renderer_host/media/video_capture_manager.cc
|
||
+++ b/content/browser/renderer_host/media/video_capture_manager.cc
|
||
@@ -121,7 +121,7 @@ void VideoCaptureManager::RegisterListener(
|
||
DCHECK_CURRENTLY_ON(BrowserThread::IO);
|
||
DCHECK(listener);
|
||
listeners_.AddObserver(listener);
|
||
-#if BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
+#if BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_DESKTOP_ANDROID_FALSE)
|
||
application_state_has_running_activities_ = true;
|
||
app_status_listener_ =
|
||
base::android::ApplicationStatusListener::New(base::BindRepeating(
|
||
@@ -951,7 +951,7 @@ VideoCaptureManager::GetOrCreateController(
|
||
return new_controller;
|
||
}
|
||
|
||
-#if BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
+#if BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_DESKTOP_ANDROID_FALSE)
|
||
void VideoCaptureManager::OnApplicationStateChange(
|
||
base::android::ApplicationState state) {
|
||
DCHECK_CURRENTLY_ON(BrowserThread::IO);
|
||
diff --git a/content/browser/renderer_host/media/video_capture_manager.h b/content/browser/renderer_host/media/video_capture_manager.h
|
||
--- a/content/browser/renderer_host/media/video_capture_manager.h
|
||
+++ b/content/browser/renderer_host/media/video_capture_manager.h
|
||
@@ -36,7 +36,7 @@
|
||
#include "media/capture/video_capture_types.h"
|
||
#include "ui/gfx/native_ui_types.h"
|
||
|
||
-#if BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
+#if BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_DESKTOP_ANDROID_FALSE)
|
||
#include "base/android/application_status_listener.h"
|
||
#endif
|
||
|
||
@@ -208,7 +208,7 @@ class CONTENT_EXPORT VideoCaptureManager
|
||
void TakePhoto(const base::UnguessableToken& session_id,
|
||
VideoCaptureDevice::TakePhotoCallback callback);
|
||
|
||
-#if BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
+#if BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_DESKTOP_ANDROID_FALSE)
|
||
// Some devices had troubles when stopped and restarted quickly, so the device
|
||
// is only stopped when Chrome is sent to background and not when, e.g., a tab
|
||
// is hidden, see http://crbug.com/582295.
|
||
@@ -324,7 +324,7 @@ class CONTENT_EXPORT VideoCaptureManager
|
||
void ReleaseDevices();
|
||
void ResumeDevices();
|
||
|
||
-#if BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
+#if BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_DESKTOP_ANDROID_FALSE)
|
||
std::unique_ptr<base::android::ApplicationStatusListener>
|
||
app_status_listener_;
|
||
bool application_state_has_running_activities_;
|
||
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
|
||
@@ -183,7 +183,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
|
||
@@ -123,9 +123,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/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
|
||
@@ -622,7 +622,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
|
||
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/extensions/browser/BUILD.gn b/extensions/browser/BUILD.gn
|
||
--- a/extensions/browser/BUILD.gn
|
||
+++ b/extensions/browser/BUILD.gn
|
||
@@ -10,7 +10,7 @@ import("//pdf/features.gni")
|
||
import("//rlz/buildflags/buildflags.gni")
|
||
import("//testing/libfuzzer/fuzzer_test.gni")
|
||
|
||
-if (enable_desktop_android_extensions) {
|
||
+if (enable_desktop_android_extensions_cromite) {
|
||
import("//build/config/android/rules.gni")
|
||
}
|
||
|
||
@@ -1161,7 +1161,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
|
||
@@ -69,7 +69,7 @@
|
||
|
||
namespace extensions {
|
||
|
||
-void EnsureApiBrowserContextKeyedServiceFactoriesBuilt() {
|
||
+void EnsureApiBrowserContextKeyedServiceFactoriesBuilt() { //
|
||
AlarmManager::GetFactoryInstance();
|
||
declarative_net_request::RulesMonitorService::GetFactoryInstance();
|
||
IdleManagerFactory::GetInstance();
|
||
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
|
||
@@ -34,7 +34,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
|
||
@@ -104,7 +104,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.idl",
|
||
"scripts_internal.idl",
|
||
diff --git a/extensions/common/command.cc b/extensions/common/command.cc
|
||
--- a/extensions/common/command.cc
|
||
+++ b/extensions/common/command.cc
|
||
@@ -118,7 +118,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
|
||
@@ -58,7 +58,7 @@ BASE_FEATURE(kSkipResetServiceWorkerURLLoaderFactories,
|
||
|
||
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,
|
||
@@ -151,7 +151,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
|
||
@@ -190,4 +190,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
|
||
@@ -100,7 +100,7 @@ BASE_DECLARE_FEATURE(kSkipResetServiceWorkerURLLoaderFactories);
|
||
// 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);
|
||
@@ -317,6 +317,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
|
||
@@ -471,8 +471,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;
|
||
@@ -567,7 +569,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
|
||
@@ -134,7 +134,7 @@ std::string 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
|
||
@@ -587,7 +587,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;
|
||
}
|
||
|
||
@@ -700,7 +700,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/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
|
||
|
||
# Enable experimental Skia Graphite Metal backend. Intended only for debugging
|
||
# on non-official developer builds on Mac and iOS Blink.
|
||
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
|
||
@@ -2340,7 +2340,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
|
||
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
|
||
@@ -119,7 +119,7 @@
|
||
|
||
namespace blink {
|
||
|
||
-#if BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
+#if BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_DESKTOP_ANDROID_FALSE)
|
||
|
||
class SuspendCaptureObserver : public GarbageCollected<SuspendCaptureObserver>,
|
||
public PageVisibilityObserver {
|
||
@@ -365,7 +365,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.SetSuspendCaptureObserver(
|
||
MakeGarbageCollected<SuspendCaptureObserver>(page));
|
||
#endif // BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_DESKTOP_ANDROID)
|
||
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/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;
|
||
}
|
||
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
|
||
@@ -26,7 +26,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
|
||
@@ -67,7 +67,7 @@ generate_grd("build_grd") {
|
||
"$target_gen_dir/cr_components/theme_color_picker/resources.grdp",
|
||
"$root_gen_dir/third_party/polymer/v3_0/polymer_3_0_resources.grdp",
|
||
]
|
||
- if (!is_desktop_android) {
|
||
+ if (!is_desktop_android_cromite) {
|
||
public_deps += [
|
||
"cr_components/cr_shortcut_input:build_grdp",
|
||
"cr_components/managed_footnote:build_grdp",
|
||
@@ -78,7 +78,7 @@ generate_grd("build_grd") {
|
||
]
|
||
}
|
||
}
|
||
- 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_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
|
||
@@ -36,7 +36,7 @@ build_webui("build") {
|
||
"cr_tabs/cr_tabs.css",
|
||
]
|
||
|
||
- if ((!is_ios) || is_desktop_android) {
|
||
+ if ((!is_ios) || is_desktop_android_cromite) {
|
||
web_component_files += [ "cr_a11y_announcer/cr_a11y_announcer.ts" ]
|
||
|
||
ts_files += [
|
||
diff --git a/ui/webui/resources/cr_elements/cr_toolbar/cr_toolbar.css b/ui/webui/resources/cr_elements/cr_toolbar/cr_toolbar.css
|
||
--- a/ui/webui/resources/cr_elements/cr_toolbar/cr_toolbar.css
|
||
+++ b/ui/webui/resources/cr_elements/cr_toolbar/cr_toolbar.css
|
||
@@ -126,6 +126,12 @@ picture {
|
||
margin-inline-start: 0;
|
||
}
|
||
|
||
+<if expr="is_android">
|
||
+#menuButton ~ h1 {
|
||
+ font-size: 15px !important;
|
||
+}
|
||
+</if>
|
||
+
|
||
:host([always-show-logo]) picture,
|
||
:host(:not([narrow])) picture {
|
||
display: initial;
|
||
diff --git a/ui/webui/resources/css/BUILD.gn b/ui/webui/resources/css/BUILD.gn
|
||
--- a/ui/webui/resources/css/BUILD.gn
|
||
+++ b/ui/webui/resources/css/BUILD.gn
|
||
@@ -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" ]
|
||
}
|
||
}
|
||
--
|