0

Split //component/embedder_support:browser_util into multiple targets

The idea is to separate the existing dependencies into the multiple
targets, so that we ultimately drop the dependency on //content from
"user_agent" in the future.

The "browser_util" target has been split into:
- content_settings
- permissions
- user_agent

Most users will need only the "embedder_support" target (which has some
command-line switches) or the "user_agent" target, which should also
bring in much fewer dependencies than before.

Bug: 389970327, 391914246
Change-Id: I027084756ba955a3f511e1324ad986753c525743
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6246155
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Reviewed-by: David Bertoni <dbertoni@chromium.org>
Reviewed-by: Mike Taylor <miketaylr@chromium.org>
Reviewed-by: Sean Topping <seantopping@chromium.org>
Reviewed-by: Colin Blundell <blundell@chromium.org>
Reviewed-by: David Dorwin <ddorwin@chromium.org>
Reviewed-by: Eric Seckler <eseckler@chromium.org>
Commit-Queue: Raphael Kubo da Costa <kubo@igalia.com>
Reviewed-by: Bo Liu <boliu@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1423063}
This commit is contained in:
Raphael Kubo da Costa
2025-02-21 05:05:16 -08:00
committed by Chromium LUCI CQ
parent c8df9e4198
commit d8e77216ad
21 changed files with 64 additions and 37 deletions
android_webview
browser
test
chrome
browser
BUILD.gn
ash
controlled_frame
extensions
media
router
permissions
profiles
request_header_integrity
ui
test
chromecast/common
components
client_hints
browser
embedder_support
content/shell
extensions/shell
fuchsia_web/webengine
headless
ios/web/content/init

@ -274,8 +274,8 @@ source_set("browser") {
"//components/crash/android:crashpad_main",
"//components/crash/content/browser",
"//components/crash/core/app",
"//components/embedder_support:browser_util",
"//components/embedder_support:embedder_support",
"//components/embedder_support",
"//components/embedder_support:user_agent",
"//components/embedder_support/android:util",
"//components/embedder_support/android:web_contents_delegate",
"//components/embedder_support/android/metrics",

@ -779,9 +779,10 @@ test("android_webview_unittests") {
"//components/autofill/core/browser",
"//components/component_updater",
"//components/component_updater/android:embedded_component_loader",
"//components/embedder_support:browser_util",
"//components/embedder_support:user_agent",
"//components/embedder_support/android:util",
"//components/embedder_support/android/metrics:metrics",
"//components/embedder_support/origin_trials",
"//components/ip_protection:unit_tests",
"//components/ip_protection/android:blind_sign_message_android_impl",
"//components/ip_protection/common:ip_protection_data_types",

@ -2095,7 +2095,8 @@ static_library("browser") {
"//components/download/database",
"//components/download/public/background_service:public",
"//components/embedder_support",
"//components/embedder_support:browser_util",
"//components/embedder_support:content_settings",
"//components/embedder_support:user_agent",
"//components/embedder_support/origin_trials",
"//components/encrypted_messages",
"//components/enterprise",

@ -86,7 +86,6 @@ static_library("arc") {
"//chromeos/dbus/power",
"//chromeos/dbus/power:power_manager_proto",
"//components/consent_auditor",
"//components/embedder_support:browser_util",
"//components/prefs",
"//components/signin/public/base",
"//components/signin/public/identity_manager",
@ -272,7 +271,7 @@ source_set("arc_util_impl") {
"//chromeos/ash/experiences/arc:arc_features",
"//chromeos/ash/experiences/arc:prefs",
"//chromeos/components/mgs",
"//components/embedder_support:browser_util",
"//components/embedder_support:user_agent",
"//components/prefs",
"//components/user_manager",
"//content/public/browser",

@ -23,7 +23,7 @@ source_set("controlled_frame") {
"//chrome/browser/extensions",
"//chrome/browser/web_applications",
"//chrome/common/controlled_frame/api",
"//components/embedder_support:browser_util",
"//components/embedder_support:user_agent",
"//components/guest_view/browser",
"//content/public/common",
"//extensions/browser",

@ -877,7 +877,7 @@ source_set("extensions") {
"//components/download/content/public",
"//components/download/public/common:public",
"//components/drive",
"//components/embedder_support:browser_util",
"//components/embedder_support:user_agent",
"//components/enterprise",
"//components/enterprise/buildflags",
"//components/enterprise/connectors/core",

@ -169,7 +169,7 @@ static_library("router") {
"//chrome/browser/media/router/discovery/access_code:access_code_cast_feature",
"//chrome/browser/profiles:profile",
"//components/access_code_cast/common:metrics",
"//components/embedder_support:browser_util",
"//components/embedder_support:user_agent",
"//components/mirroring/mojom:service",
"//components/ukm/content:content",
"//components/version_info:version_info",

@ -86,7 +86,7 @@ source_set("permissions") {
"//components/background_sync",
"//components/content_settings/core/browser",
"//components/content_settings/core/browser:cookie_settings",
"//components/embedder_support:browser_util",
"//components/embedder_support:permissions",
"//components/google/core/common",
"//components/infobars/content",
"//components/keyed_service/content",

@ -166,7 +166,7 @@ source_set("profile_util_impl") {
"//chrome/common:constants",
"//components/account_id",
"//components/browsing_data/core",
"//components/embedder_support:browser_util",
"//components/embedder_support:user_agent",
"//components/enterprise/common/proto:connectors_proto",
"//components/keyed_service/content",
"//components/policy/core/browser",

@ -45,7 +45,7 @@ source_set("request_header_integrity") {
"//base",
"//build:branding_buildflags",
"//chrome/common:channel_info",
"//components/embedder_support:browser_util",
"//components/embedder_support:user_agent",
"//components/google/core/common",
"//google_apis",
"//services/network/public/cpp",

@ -475,7 +475,7 @@ static_library("ui") {
"//components/download/content/factory",
"//components/download/content/public",
"//components/embedder_support",
"//components/embedder_support:browser_util",
"//components/embedder_support:user_agent",
"//components/encrypted_messages:encrypted_message_proto",
"//components/enterprise",
"//components/error_page/content/browser",

@ -144,7 +144,7 @@ source_set("impl") {
"//components/autofill/content/browser:risk_proto",
"//components/compose/core/browser",
"//components/compose/core/browser:features",
"//components/embedder_support:browser_util",
"//components/embedder_support:user_agent",
"//components/feature_engagement/public",
"//components/infobars/content",
"//components/infobars/core",

@ -2267,7 +2267,8 @@ if (!is_android) {
"//components/domain_reliability:prefs",
"//components/drive:test_support",
"//components/embedder_support",
"//components/embedder_support:browser_util",
"//components/embedder_support:user_agent",
"//components/embedder_support/origin_trials",
"//components/enterprise",
"//components/enterprise:test_support",
"//components/enterprise/browser/identifiers:identifiers",

@ -106,7 +106,7 @@ cast_source_set("common") {
"//chromecast/base:cast_version",
"//chromecast/common/media",
"//components/cast/common:constants",
"//components/embedder_support:browser_util",
"//components/embedder_support:user_agent",
"//content/public/common",
"//media:media_buildflags",
"//third_party/widevine/cdm:buildflags",

@ -15,7 +15,7 @@ source_set("browser") {
"//components/content_settings/core/browser",
"//components/content_settings/core/browser:cookie_settings",
"//components/content_settings/core/common",
"//components/embedder_support:browser_util",
"//components/embedder_support:user_agent",
"//content/public/browser",
"//services/network/public/cpp",
"//third_party/blink/public/common:headers",

@ -2,6 +2,8 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//device/vr/buildflags/buildflags.gni")
static_library("embedder_support") {
sources = [
"pref_names.h",
@ -10,13 +12,44 @@ static_library("embedder_support") {
]
}
# Target for general utilities that are only used in the browser process.
static_library("browser_util") {
static_library("content_settings") {
sources = [
"content_settings_utils.cc",
"content_settings_utils.h",
]
deps = [
"//components/content_settings/browser",
"//components/content_settings/core/browser",
"//components/content_settings/core/browser:cookie_settings",
"//content/public/browser",
"//net",
"//third_party/blink/public/mojom:mojom_platform_headers",
"//url",
]
}
static_library("permissions") {
sources = [
"permission_context_utils.cc",
"permission_context_utils.h",
]
deps = [
"//components/background_sync",
"//components/permissions",
"//device/vr/buildflags",
"//services/device/public/cpp:device_features",
"//services/device/public/cpp/geolocation:buildflags",
]
if (enable_vr) {
deps += [ "//device/vr/public/cpp:features" ]
}
}
static_library("user_agent") {
sources = [
"user_agent_utils.cc",
"user_agent_utils.h",
]
@ -24,17 +57,12 @@ static_library("browser_util") {
deps = [
":embedder_support",
"//build:branding_buildflags",
"//components/background_sync",
"//components/content_settings/browser",
"//components/content_settings/core/browser",
"//components/content_settings/core/browser:cookie_settings",
"//components/permissions",
"//components/policy/core/common",
"//components/prefs",
"//components/version_info",
"//content/public/browser",
"//services/device/public/cpp:device_features",
"//services/device/public/cpp/geolocation:buildflags",
"//net",
"//third_party/blink/public/common:headers",
]
}
@ -48,7 +76,7 @@ source_set("unit_tests") {
]
deps = [
":browser_util",
":user_agent",
"//base",
"//base/test:test_support",
"//build:branding_buildflags",

@ -315,7 +315,7 @@ static_library("content_shell_lib") {
"//components/cdm/renderer",
"//components/custom_handlers",
"//components/custom_handlers:test_support",
"//components/embedder_support:browser_util",
"//components/embedder_support:user_agent",
"//components/input",
"//components/keyed_service/content",
"//components/metrics",

@ -39,6 +39,7 @@ source_set("app_shell_lib") {
"//apps",
"//base",
"//build:chromeos_buildflags",
"//components/embedder_support:user_agent",
"//components/feedback",
"//components/feedback/content:factory",
"//components/guest_view/browser",

@ -199,7 +199,7 @@ component("web_engine_core") {
"//components/cdm/renderer",
"//components/client_hints/browser:in_memory",
"//components/embedder_support",
"//components/embedder_support:browser_util",
"//components/embedder_support:user_agent",
"//components/embedder_support/origin_trials",
"//components/favicon/content",
"//components/favicon/core",

@ -358,8 +358,7 @@ component("headless_non_renderer") {
"//components/crash/core/common:common",
"//components/devtools/devtools_pipe",
"//components/embedder_support",
"//components/embedder_support:browser_util",
"//components/embedder_support:embedder_support",
"//components/embedder_support:user_agent",
"//components/embedder_support/origin_trials",
"//components/headless/clipboard",
"//components/headless/command_handler:switches",
@ -570,8 +569,7 @@ test("headless_unittests") {
"//base/test:run_all_unittests",
"//base/test:test_support",
"//components/embedder_support",
"//components/embedder_support:browser_util",
"//components/embedder_support/origin_trials",
"//components/embedder_support:user_agent",
"//components/security_state/content",
"//content/public/app",
"//content/public/child:child",
@ -704,9 +702,7 @@ test("headless_browsertests") {
"//base",
"//cc:test_support",
"//components/devtools/simple_devtools_protocol_client",
"//components/embedder_support",
"//components/embedder_support:browser_util",
"//components/embedder_support:embedder_support",
"//components/embedder_support:user_agent",
"//components/headless/select_file_dialog",
"//components/headless/test",
"//components/infobars/content",

@ -27,7 +27,7 @@ source_set("init") {
deps = [
"//build:blink_buildflags",
"//components/embedder_support:browser_util",
"//components/embedder_support:user_agent",
"//components/embedder_support/origin_trials:origin_trials",
"//components/js_injection/renderer",
"//components/performance_manager:performance_manager",