Commit d4e5f661 authored by Alan Cutter's avatar Alan Cutter Committed by Commit Bot

Reland "Extract browser_process.h/cc into own gn target"

This is a reland of 86556051

The original CL missed a dep requirement in the Chrome branded
Windows build. This has been fixed:
https://chromium-review.googlesource.com/c/chromium/src/+/2543873/2/chrome/browser/win/conflicts/BUILD.gn

Original change's description:
> Extract browser_process.h/cc into own gn target
>
> This CL pulls out browser_process.h and browser_process.cc into their
> own gn target so that other gn targets can depend on it without creating
> cyclic dependencies with //chrome/browser:browser.
>
> This is required for CL:
> https://chromium-review.googlesource.com/c/chromium/src/+/2528519
>
> Bug: 1147410, 883570, 925153
> Change-Id: I17ef1f0b1683c4abb7588a6ef24ec89f15647545
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2529309
> Commit-Queue: Alan Cutter <alancutter@chromium.org>
> Reviewed-by: Filip Gorski <fgorski@chromium.org>
> Reviewed-by: Glen Robertson <glenrob@chromium.org>
> Auto-Submit: Alan Cutter <alancutter@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#828077}

Bug: 1147410
Bug: 883570
Bug: 925153
Change-Id: I18faaddc3850ceafb924bda6d8e197f886e79433
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2543873Reviewed-by: default avatarGlen Robertson <glenrob@chromium.org>
Reviewed-by: default avatarFilip Gorski <fgorski@chromium.org>
Commit-Queue: Alan Cutter <alancutter@chromium.org>
Cr-Commit-Position: refs/heads/master@{#828442}
parent 3ace8a34
......@@ -98,6 +98,18 @@ proto_library("ntp_background_proto") {
generate_python = false
}
source_set("browser_process") {
sources = [
"browser_process.cc",
"browser_process.h",
]
deps = [
"//base",
"//chrome/common:buildflags",
"//media:media_buildflags",
]
}
# Use a static library here because many test binaries depend on this but don't
# require many files from it.This makes linking more efficient.
static_library("browser") {
......@@ -206,8 +218,6 @@ static_library("browser") {
"browser_about_handler.h",
"browser_features.cc",
"browser_features.h",
"browser_process.cc",
"browser_process.h",
"browser_process_impl.cc",
"browser_process_impl.h",
"browser_process_platform_part.h",
......@@ -1926,6 +1936,7 @@ static_library("browser") {
"//chrome/app/resources:platform_locale_settings",
"//chrome/app/theme:theme_resources",
"//chrome/app/vector_icons",
"//chrome/browser:browser_process",
"//chrome/browser/devtools",
"//chrome/browser/image_decoder",
"//chrome/browser/media:media_engagement_preload_proto",
......@@ -6615,6 +6626,7 @@ static_library("test_support") {
deps = [
"//chrome/app/theme:theme_resources",
"//chrome/browser",
"//chrome/browser:browser_process",
"//chrome/common",
"//chrome/common/safe_browsing:proto",
"//components/consent_auditor:test_support",
......@@ -6879,6 +6891,7 @@ if (!is_android) {
deps = [
":browser",
"//chrome:browser_tests_pak",
"//chrome/browser:browser_process",
"//chrome/common:mojo_bindings",
"//chrome/test/data:web_ui_test_bindings",
"//components/metrics:test_support",
......
......@@ -70,6 +70,7 @@ static_library("vr_android") {
"//base",
"//cc",
"//chrome/android/features/vr:jni_headers",
"//chrome/browser:browser_process",
"//chrome/browser/ui",
"//chrome/browser/vr:vr_common",
"//chrome/common",
......
......@@ -24,6 +24,7 @@ source_set("app_shim") {
deps = [
"//apps",
"//chrome/browser:browser_process",
"//chrome/browser/web_applications:web_applications",
"//chrome/browser/web_applications/components",
"//chrome/common",
......
......@@ -51,6 +51,7 @@ source_set("platform_apps") {
deps = [
"//chrome/app:command_ids",
"//chrome/browser:browser_process",
"//chrome/browser/extensions",
"//chrome/browser/media/router/discovery",
"//chrome/browser/sharing/proto:proto",
......
......@@ -48,6 +48,7 @@ source_set("api") {
# TODO(https://crbug.com/883570): It'd be nice to have more APIs here
# extracted into their own BUILD files (so they are easy to audit, add, or
# remove), but any that depend on //chrome/browser:browser can't.
"//chrome/browser:browser_process",
"//chrome/browser/apps/platform_apps/api/music_manager_private",
"//chrome/browser/extensions",
"//chrome/common",
......
......@@ -77,6 +77,7 @@ source_set("chromeos") {
"//build:branding_buildflags",
"//chrome/app:command_ids",
"//chrome/app/vector_icons",
"//chrome/browser:browser_process",
"//chrome/browser:theme_properties",
"//chrome/browser/apps/platform_apps",
"//chrome/browser/apps/platform_apps/api",
......
......@@ -771,6 +771,7 @@ static_library("extensions") {
"//chrome/app/theme:chrome_unscaled_resources",
"//chrome/app/theme:theme_resources",
"//chrome/app/vector_icons",
"//chrome/browser:browser_process",
"//chrome/browser:ntp_background_proto",
"//chrome/browser:theme_properties",
"//chrome/browser/devtools",
......
......@@ -55,8 +55,9 @@ static_library("chrome_cleaner") {
]
deps = [
# TODO(crbug.com/920223): Break dependency cycles with //chrome/browser
# TODO(crbug.com/925153): Break dependency cycles with //chrome/browser
":public",
"//chrome/browser:browser_process",
"//chrome/browser/extensions",
"//chrome/browser/safe_browsing",
"//chrome/browser/ui",
......
......@@ -48,7 +48,7 @@ if (is_android) {
deps = [
":jni_headers",
"//base",
"//chrome/browser",
"//chrome/browser:browser_process",
"//components/subresource_filter/content/browser",
"//components/subresource_filter/core/common:test_support",
]
......
......@@ -353,6 +353,7 @@ static_library("ui") {
"//chrome/app/theme:chrome_unscaled_resources",
"//chrome/app/theme:theme_resources",
"//chrome/app/vector_icons",
"//chrome/browser:browser_process",
"//chrome/browser:buildflags",
"//chrome/browser:dev_ui_browser_resources",
"//chrome/browser:resource_prefetch_predictor_proto",
......
......@@ -73,6 +73,7 @@ source_set("web_applications") {
deps = [
":web_app_group",
"//chrome/browser:browser_process",
"//chrome/browser/web_applications/components",
"//chrome/browser/web_applications/preinstalled_web_apps",
"//chrome/common",
......
......@@ -131,16 +131,7 @@ source_set("components") {
deps = [
"//chrome/app/resources:platform_locale_settings",
"//chrome/app/theme:chrome_unscaled_resources",
# web_applications:components uses header files from chrome/browser/banners/
# via |allow_circular_includes_from| mechanism enabled for the whole
# chrome/browser/ directory. In turn, chrome/browser/banners/ uses header
# files from chrome/browser/engagement/. This two-way circular dependency
# isn't automatically verified by |gn check| tool and it breaks incremental
# distributed build occasionally. For now, we should explicitly depend on
# chrome/browser/engagement: gn parts (like mojo_bindings) to fix this.
#
# TODO(crbug.com/1039736): Refactor AppBannerManager to remove this dep.
"//chrome/browser:browser_process",
"//chrome/browser/web_applications:web_app_group",
"//chrome/common",
"//components/crx_file",
......
......@@ -38,6 +38,7 @@ source_set("extensions") {
deps = [
"//base",
"//chrome/browser:browser_process",
"//chrome/browser/web_applications",
"//chrome/browser/web_applications:web_app_group",
"//chrome/browser/web_applications/components",
......
......@@ -94,7 +94,7 @@ if (is_chrome_branded) {
deps = [
":conflicts_dll",
":module_list_proto",
"//chrome/browser",
"//chrome/browser:browser_process",
"//chrome/chrome_elf:third_party_shared_defines",
"//chrome/test:test_support_ui",
"//components/services/quarantine/public/cpp:features",
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment