0

Revert "Enable gn check in //headless."

This reverts commit 4133bded67.

Reason for revert: broke headless_shell build.
To reproduce:
mkdir ./out/headless
cat >./out/headless
import("//build/args/headless.gn")
use_goma = true
is_component_build = false
is_debug = false

gn gen ./out/headless
autoninja -C ./out/headless headless_shell

Original change's description:
> Enable `gn check` in //headless.
>
> The main change in this CL is to move source files from
> :headless_non_renderer and :headless_renderer into
> :headless_shared_sources until none of the downstream targets have to
> depend on both :headless_non_renderer *and* :headless_renderer in order
> to resolve their includes; and continue moving source files into
> :headless_shared_sources as needed, until :headless_shared_sources does
> not have a circular dependency with either :headless_renderer or
> :headless_non_renderer.
>
> We also make :headless_renderer and
> :headless_non_renderer depend on :headless_shared_sources publicly, so
> that other :headless_* targets do not have to depend on one of those
> targets *and* :headless_shared_sources (which would cause a linker
> failure due to duplicate symbols). This has the side effect of exposing
> :headless_shared_sources symbols in //chrome:chrome_dll via
> :headless_renderer.
>
> Bug: 1158989, 1227143, 1227378
> Change-Id: I917ea3fddbb232abc27849fc3812ada7351e556b
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3011653
> Reviewed-by: Joey Arhar <jarhar@chromium.org>
> Reviewed-by: Andrey Kosyakov <caseq@chromium.org>
> Reviewed-by: Dirk Pranke <dpranke@google.com>
> Reviewed-by: Erik Staab <estaab@chromium.org>
> Auto-Submit: Chris Fredrickson <cfredric@chromium.org>
> Commit-Queue: Erik Staab <estaab@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#904347}

Bug: 1158989, 1227143, 1227378
Change-Id: I88690af334467fa694008ab1291c9cd7b44af387
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3045885
Auto-Submit: Andrey Kosyakov <caseq@chromium.org>
Reviewed-by: Joey Arhar <jarhar@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Dirk Pranke <dpranke@google.com>
Cr-Commit-Position: refs/heads/master@{#904433}
This commit is contained in:
Andrey Kosyakov
2021-07-22 19:17:25 +00:00
committed by Chromium LUCI CQ
parent 2b6115f499
commit d8c9f4e240
10 changed files with 154 additions and 155 deletions

1
.gn

@ -65,6 +65,7 @@ default_args = {
no_check_targets = [
"//extensions/browser:*", # 20 errors
"//extensions:*", # 28 errors
"//headless:*", # 107 errors
"//ppapi/proxy:ipc_sources", # 13 errors
"//ppapi/thunk:*", # 1071 errors
"//remoting/host/security_key:*", # 10 errors

@ -263,12 +263,68 @@ inspector_protocol_generate("protocol_sources") {
# Code needed in both processes. Only exposed through the |headless_renderer|
# target and the |headless_non_renderer| component.
source_set("headless_shared_sources") {
visibility = [ ":*" ]
visibility = [
":headless_non_renderer",
":headless_renderer",
]
defines = []
sources = [
"app/headless_shell_switches.cc",
"app/headless_shell_switches.h",
"lib/headless_content_client.cc",
"lib/headless_content_client.h",
"public/headless_browser.cc",
"public/headless_browser.h",
"public/headless_export.h",
"public/internal/headless_devtools_client_impl.h",
"public/internal/message_dispatcher.h",
"public/internal/value_conversions.h",
"public/util/error_reporter.cc",
"public/util/error_reporter.h",
"public/util/user_agent.cc",
"public/util/user_agent.h",
]
sources += generated_devtools_api
sources += get_target_outputs(":protocol_sources")
if (!is_fuchsia) {
sources += [
"lib/headless_crash_reporter_client.cc",
"lib/headless_crash_reporter_client.h",
]
}
deps = [
":gen_devtools_client_api",
":protocol_sources",
":version_header",
"//base:base_static",
"//components/embedder_support/origin_trials",
"//content/public/common",
"//third_party/inspector_protocol:crdtp",
"//ui/base",
"//url",
]
if (!is_fuchsia) {
deps += [
"//components/crash/content/browser",
"//components/crash/core/app",
]
}
if (is_win) {
deps += [ "//sandbox" ]
}
configs += [ ":inside_headless_component" ]
configs += [ ":headless_defines_config" ]
}
# Code that is not needed in a renderer process.
component("headless_non_renderer") {
sources = [
"lib/browser/headless_browser_context_impl.cc",
"lib/browser/headless_browser_context_impl.h",
"lib/browser/headless_browser_context_options.cc",
@ -277,12 +333,11 @@ source_set("headless_shared_sources") {
"lib/browser/headless_browser_impl.h",
"lib/browser/headless_browser_main_parts.cc",
"lib/browser/headless_browser_main_parts.h",
"lib/browser/headless_content_browser_client.cc",
"lib/browser/headless_content_browser_client.h",
"lib/browser/headless_devtools.cc",
"lib/browser/headless_devtools.h",
"lib/browser/headless_devtools_agent_host_client.cc",
"lib/browser/headless_devtools_agent_host_client.h",
"lib/browser/headless_devtools_client_impl.cc",
"lib/browser/headless_devtools_manager_delegate.cc",
"lib/browser/headless_devtools_manager_delegate.h",
"lib/browser/headless_permission_manager.cc",
@ -305,43 +360,16 @@ source_set("headless_shared_sources") {
"lib/browser/protocol/page_handler.h",
"lib/browser/protocol/target_handler.cc",
"lib/browser/protocol/target_handler.h",
"lib/headless_content_client.cc",
"lib/headless_content_client.h",
"lib/headless_content_main_delegate.cc",
"lib/headless_content_main_delegate.h",
"lib/renderer/headless_content_renderer_client.cc",
"lib/renderer/headless_content_renderer_client.h",
"lib/utility/headless_content_utility_client.cc",
"lib/utility/headless_content_utility_client.h",
"public/headless_browser.cc",
"public/headless_browser.h",
"public/headless_browser_context.h",
"public/headless_devtools_channel.h",
"public/headless_devtools_client.h",
"public/headless_devtools_target.h",
"public/headless_export.h",
"public/headless_web_contents.h",
"public/internal/headless_devtools_client_impl.h",
"public/internal/message_dispatcher.h",
"public/internal/value_conversions.h",
"public/util/error_reporter.cc",
"public/util/error_reporter.h",
"public/util/user_agent.cc",
"public/util/user_agent.h",
]
sources += generated_devtools_api
sources += get_target_outputs(":protocol_sources")
if (!is_fuchsia) {
sources += [
"lib/headless_crash_reporter_client.cc",
"lib/headless_crash_reporter_client.h",
]
}
if (is_mac) {
sources += [
"lib/browser/headless_browser_impl_mac.mm",
"lib/browser/headless_browser_main_parts_mac.mm",
"lib/browser/headless_shell_application_mac.h",
"lib/browser/headless_shell_application_mac.mm",
@ -352,18 +380,6 @@ source_set("headless_shared_sources") {
sources += [ "lib/browser/headless_browser_main_parts_linux.cc" ]
}
if (use_aura) {
sources += [
"lib/browser/headless_focus_client.cc",
"lib/browser/headless_focus_client.h",
"lib/browser/headless_screen.cc",
"lib/browser/headless_screen.h",
"lib/browser/headless_window_parenting_client.cc",
"lib/browser/headless_window_parenting_client.h",
"lib/browser/headless_window_tree_host.cc",
]
}
if (headless_use_policy) {
sources += [
"lib/browser/headless_pref_names.cc",
@ -377,110 +393,31 @@ source_set("headless_shared_sources") {
]
}
deps = [
":gen_devtools_client_api",
":protocol_sources",
":resources",
":version_header",
"//base:base_static",
"//build:branding_buildflags",
"//build:chromeos_buildflags",
"//components/crash/core/common",
"//components/embedder_support",
"//components/embedder_support/origin_trials",
"//components/keyed_service/content",
"//components/policy:policy_code_generate",
"//components/policy/core/browser",
"//components/policy/core/common:common_constants",
"//components/pref_registry",
"//components/prefs",
"//components/profile_metrics",
"//content/public/app",
"//content/public/browser",
"//content/public/common",
"//content/public/common",
"//content/public/renderer",
"//content/public/utility",
"//printing/buildflags",
"//services/cert_verifier/public/mojom",
"//services/device/public/cpp/geolocation",
"//third_party/inspector_protocol:crdtp",
"//ui/base",
"//ui/events/devices",
"//url",
]
if (!is_fuchsia) {
deps += [
"//components/crash/content/browser",
"//components/crash/core/app",
if (use_aura) {
sources += [
"lib/browser/headless_browser_impl_aura.cc",
"lib/browser/headless_clipboard.cc",
"lib/browser/headless_clipboard.h",
"lib/browser/headless_focus_client.cc",
"lib/browser/headless_focus_client.h",
"lib/browser/headless_screen.cc",
"lib/browser/headless_screen.h",
"lib/browser/headless_window_parenting_client.cc",
"lib/browser/headless_window_parenting_client.h",
"lib/browser/headless_window_tree_host.cc",
]
}
if (is_win) {
deps += [ "//sandbox" ]
}
if (enable_basic_printing) {
sources += [
"lib/browser/headless_print_manager.cc",
"lib/browser/headless_print_manager.h",
"lib/renderer/headless_print_render_frame_helper_delegate.cc",
"lib/renderer/headless_print_render_frame_helper_delegate.h",
]
deps += [
"//components/printing/browser",
"//components/printing/common:mojo_interfaces",
"//components/printing/renderer",
"//components/services/print_compositor",
"//components/services/print_compositor/public/mojom",
"//printing",
"//printing/mojom",
]
}
if (use_ozone) {
deps += [ "//ui/ozone" ]
}
if (headless_use_policy) {
deps += [ "//components/policy/content" ]
}
if (is_mac) {
deps += [ ":mac_helpers" ]
frameworks = [
"AppKit.framework",
"CoreFoundation.framework",
]
}
public_deps = [ "//net" ]
configs += [ ":inside_headless_component" ]
configs += [ ":headless_defines_config" ]
}
# Code that is not needed in a renderer process.
component("headless_non_renderer") {
visibility = [
":*",
"//:gn_all",
]
sources = [ "lib/browser/headless_devtools_client_impl.cc" ]
if (is_mac) {
sources += [ "lib/browser/headless_browser_impl_mac.mm" ]
}
if (use_aura) {
sources += [
"lib/browser/headless_browser_impl_aura.cc",
"lib/browser/headless_clipboard.cc",
"lib/browser/headless_clipboard.h",
]
}
public_deps = [
":headless_shared_sources",
"//base",
"//net",
]
data_deps = []
@ -492,11 +429,27 @@ component("headless_non_renderer") {
}
deps = [
":headless_shared_sources",
":version_header",
"//base:base_static",
"//build:branding_buildflags",
"//build:chromeos_buildflags",
"//components/cookie_config",
"//components/embedder_support",
"//components/keyed_service/content",
"//components/policy:policy_code_generate",
"//components/policy/core/browser",
"//components/policy/core/common:common_constants",
"//components/pref_registry",
"//components/prefs",
"//components/profile_metrics",
"//components/security_state/core",
"//content/public/app",
"//content/public/browser",
"//content/public/common",
"//printing/buildflags",
"//services/cert_verifier/public/mojom",
"//services/device/public/cpp/geolocation",
"//services/service_manager/public/cpp",
"//third_party/inspector_protocol:crdtp",
"//ui/base",
@ -508,23 +461,43 @@ component("headless_non_renderer") {
"//url",
]
if (is_component_build || use_aura) {
sources += [
"lib/browser/headless_web_contents_impl.cc",
"lib/browser/headless_web_contents_impl.h",
]
if (enable_basic_printing) {
deps += [
"//components/security_state/content",
"//printing/buildflags",
"//components/printing/browser",
"//components/printing/common:mojo_interfaces",
"//printing",
"//printing/mojom",
]
}
if (is_component_build) {
sources += [
"lib/browser/headless_content_browser_client.cc",
"lib/browser/headless_content_browser_client.h",
"lib/browser/headless_web_contents_impl.cc",
"lib/browser/headless_web_contents_impl.h",
"lib/headless_content_main_delegate.cc",
"lib/headless_content_main_delegate.h",
"lib/renderer/headless_content_renderer_client.cc",
"lib/renderer/headless_content_renderer_client.h",
"lib/utility/headless_content_utility_client.cc",
"lib/utility/headless_content_utility_client.h",
]
if (is_mac) {
sources += [ "lib/headless_content_main_delegate_mac.mm" ]
}
if (enable_basic_printing) {
sources += [
"lib/renderer/headless_print_render_frame_helper_delegate.cc",
"lib/renderer/headless_print_render_frame_helper_delegate.h",
]
}
deps += [
"//components/crash/core/common",
"//components/security_state/content",
"//gin",
"//third_party/blink/public:blink",
"//ui/gl",
@ -594,6 +567,10 @@ component("headless_non_renderer") {
deps += [ ":pak" ]
}
if (use_ozone) {
deps += [ "//ui/ozone" ]
}
if (use_dbus) {
defines += [ "USE_DBUS" ]
deps += [ "//device/bluetooth" ]
@ -615,6 +592,12 @@ if (!is_component_build) {
sources = [
"lib/browser/headless_web_contents_impl.cc",
"lib/browser/headless_web_contents_impl.h",
"lib/headless_content_main_delegate.cc",
"lib/headless_content_main_delegate.h",
"lib/renderer/headless_content_renderer_client.cc",
"lib/renderer/headless_content_renderer_client.h",
"lib/utility/headless_content_utility_client.cc",
"lib/utility/headless_content_utility_client.h",
]
if (is_mac) {
@ -628,21 +611,26 @@ if (!is_component_build) {
]
}
public_deps = [ ":headless_shared_sources" ]
deps = [
":headless_shared_sources",
"//build:chromeos_buildflags",
"//components/crash/core/common",
"//components/security_state/content",
"//components/security_state/core",
"//content/public/app",
"//content/public/browser",
"//content/public/common",
"//content/public/renderer",
"//content/public/utility",
"//printing/buildflags",
"//third_party/blink/public:blink_headers",
"//ui/base",
"//ui/compositor",
"//v8",
]
if (use_ozone) {
deps += [ "//ui/ozone" ]
}
if (enable_basic_printing) {
deps += [
"//components/printing/renderer",
@ -694,6 +682,7 @@ test("headless_unittests") {
"//base/test:run_all_unittests",
"//base/test:test_support",
"//components/security_state/content",
"//content/public/app",
"//content/public/child:child",
"//content/public/common",
"//testing/gmock",
@ -784,7 +773,6 @@ test("headless_browsertests") {
defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]
deps = [
":headless_renderer",
":headless_shell_lib",
"//base",
"//cc:test_support",
@ -826,6 +814,8 @@ if (is_win) {
sources = [
"app/headless_shell.cc",
"app/headless_shell.h",
"lib/browser/headless_content_browser_client.cc",
"lib/browser/headless_content_browser_client.h",
"public/headless_shell.h",
]
deps = [
@ -858,6 +848,15 @@ static_library("headless_shell_lib") {
]
defines = []
if (!is_component_build) {
sources += [
"lib/browser/headless_content_browser_client.cc",
"lib/browser/headless_content_browser_client.h",
"lib/utility/headless_content_utility_client.cc",
"lib/utility/headless_content_utility_client.h",
]
}
deps = [
":headless_renderer",
"//build:branding_buildflags",
@ -874,7 +873,7 @@ static_library("headless_shell_lib") {
public_deps = [ "//base" ]
if (headless_use_policy) {
if (!is_component_build) {
public_deps += [ ":headless_non_renderer" ]
}
@ -967,7 +966,6 @@ executable("headless_example") {
defines = []
deps = [
":headless_shared_sources",
":headless_shell_lib",
"//content",
"//sandbox",

@ -23,7 +23,7 @@
#include "headless/lib/browser/headless_browser_impl.h"
#include "headless/lib/browser/headless_browser_main_parts.h"
#include "headless/lib/browser/headless_permission_manager.h"
#include "headless/lib/browser/headless_web_contents_impl.h" // nogncheck http://crbug.com/1227378
#include "headless/lib/browser/headless_web_contents_impl.h"
#include "ui/base/resource/resource_bundle.h"
#if defined(HEADLESS_USE_POLICY)

@ -22,7 +22,7 @@
#include "headless/lib/browser/headless_browser_context_impl.h"
#include "headless/lib/browser/headless_browser_main_parts.h"
#include "headless/lib/browser/headless_devtools_agent_host_client.h"
#include "headless/lib/browser/headless_web_contents_impl.h" // nogncheck http://crbug.com/1227378
#include "headless/lib/browser/headless_web_contents_impl.h"
#include "net/http/http_util.h"
#include "services/network/public/cpp/network_switches.h"
#include "ui/events/devices/device_data_manager.h"

@ -10,7 +10,7 @@
#include "content/public/browser/web_contents.h"
#include "headless/lib/browser/headless_clipboard.h"
#include "headless/lib/browser/headless_screen.h"
#include "headless/lib/browser/headless_web_contents_impl.h" // nogncheck
#include "headless/lib/browser/headless_web_contents_impl.h"
#include "headless/lib/browser/headless_window_tree_host.h"
#include "ui/aura/env.h"
#include "ui/aura/window.h"

@ -8,7 +8,7 @@
#include "base/no_destructor.h"
#include "content/public/browser/render_widget_host_view.h"
#include "content/public/browser/web_contents.h"
#include "headless/lib/browser/headless_web_contents_impl.h" // nogncheck
#include "headless/lib/browser/headless_web_contents_impl.h"
#import "ui/base/cocoa/base_view.h"
#import "ui/gfx/mac/coordinate_conversion.h"

@ -11,7 +11,7 @@
#include "headless/grit/headless_lib_resources.h"
#include "headless/lib/browser/headless_browser_context_impl.h"
#include "headless/lib/browser/headless_browser_impl.h"
#include "headless/lib/browser/headless_web_contents_impl.h" // nogncheck http://crbug.com/1227378
#include "headless/lib/browser/headless_web_contents_impl.h"
#include "headless/lib/browser/protocol/headless_devtools_session.h"
#include "ui/base/resource/resource_bundle.h"

@ -9,7 +9,7 @@
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/web_contents.h"
#include "headless/lib/browser/headless_browser_impl.h"
#include "headless/lib/browser/headless_web_contents_impl.h" // nogncheck http://crbug.com/1227378
#include "headless/lib/browser/headless_web_contents_impl.h"
namespace headless {
namespace protocol {

@ -7,7 +7,7 @@
#include "build/build_config.h"
#include "headless/lib/browser/headless_browser_context_impl.h"
#include "headless/lib/browser/headless_browser_impl.h"
#include "headless/lib/browser/headless_web_contents_impl.h" // nogncheck http://crbug.com/1227378
#include "headless/lib/browser/headless_web_contents_impl.h"
#include "ui/gfx/geometry/size.h"
namespace headless {

@ -44,7 +44,7 @@
#include "ui/ozone/public/ozone_switches.h"
#if defined(HEADLESS_USE_EMBEDDED_RESOURCES)
#include "headless/embedded_resource_pak.h" // nogncheck
#include "headless/embedded_resource_pak.h"
#endif
#if defined(OS_MAC) || defined(OS_WIN)