Commit a78fdeda authored by brettw's avatar brettw Committed by Commit bot

Make ui gn check pass. Misc GN build improvements.

Content/public/app was messed up and didn't link everything properly, so this separates it out into browser and child like content/app is.

R=jamesr@chromium.org
Reland of https://codereview.chromium.org/545313002/ but with public/utility dependency added

TBR=jamesr@chromium.org

Review URL: https://codereview.chromium.org/549863004

Cr-Commit-Position: refs/heads/master@{#293646}
parent 2ee4e3d7
...@@ -511,11 +511,13 @@ template("component") { ...@@ -511,11 +511,13 @@ template("component") {
set_sources_assignment_filter([]) set_sources_assignment_filter([])
if (defined(invoker.all_dependent_configs)) { all_dependent_configs = invoker.all_dependent_configs } if (defined(invoker.all_dependent_configs)) { all_dependent_configs = invoker.all_dependent_configs }
if (defined(invoker.allow_circular_includes_from)) { allow_circular_includes_from = invoker.allow_circular_includes_from }
if (defined(invoker.cflags)) { cflags = invoker.cflags } if (defined(invoker.cflags)) { cflags = invoker.cflags }
if (defined(invoker.cflags_c)) { cflags_c = invoker.cflags_c } if (defined(invoker.cflags_c)) { cflags_c = invoker.cflags_c }
if (defined(invoker.cflags_cc)) { cflags_cc = invoker.cflags_cc } if (defined(invoker.cflags_cc)) { cflags_cc = invoker.cflags_cc }
if (defined(invoker.cflags_objc)) { cflags_objc = invoker.cflags_objc } if (defined(invoker.cflags_objc)) { cflags_objc = invoker.cflags_objc }
if (defined(invoker.cflags_objcc)) { cflags_objcc = invoker.cflags_objcc } if (defined(invoker.cflags_objcc)) { cflags_objcc = invoker.cflags_objcc }
if (defined(invoker.check_includes)) { check_includes = invoker.check_includes }
if (defined(invoker.data)) { data = invoker.data } if (defined(invoker.data)) { data = invoker.data }
if (defined(invoker.datadeps)) { datadeps = invoker.datadeps } if (defined(invoker.datadeps)) { datadeps = invoker.datadeps }
if (defined(invoker.defines)) { defines = invoker.defines } if (defined(invoker.defines)) { defines = invoker.defines }
...@@ -530,6 +532,7 @@ template("component") { ...@@ -530,6 +532,7 @@ template("component") {
if (defined(invoker.output_name)) { output_name = invoker.output_name } if (defined(invoker.output_name)) { output_name = invoker.output_name }
if (defined(invoker.public)) { public = invoker.public } if (defined(invoker.public)) { public = invoker.public }
if (defined(invoker.sources)) { sources = invoker.sources } if (defined(invoker.sources)) { sources = invoker.sources }
if (defined(invoker.testonly)) { testonly = invoker.testonly }
if (defined(invoker.visibility)) { visibility = invoker.visibility } if (defined(invoker.visibility)) { visibility = invoker.visibility }
} }
} else { } else {
...@@ -542,11 +545,13 @@ template("component") { ...@@ -542,11 +545,13 @@ template("component") {
set_sources_assignment_filter([]) set_sources_assignment_filter([])
if (defined(invoker.all_dependent_configs)) { all_dependent_configs = invoker.all_dependent_configs } if (defined(invoker.all_dependent_configs)) { all_dependent_configs = invoker.all_dependent_configs }
if (defined(invoker.allow_circular_includes_from)) { allow_circular_includes_from = invoker.allow_circular_includes_from }
if (defined(invoker.cflags)) { cflags = invoker.cflags } if (defined(invoker.cflags)) { cflags = invoker.cflags }
if (defined(invoker.cflags_c)) { cflags_c = invoker.cflags_c } if (defined(invoker.cflags_c)) { cflags_c = invoker.cflags_c }
if (defined(invoker.cflags_cc)) { cflags_cc = invoker.cflags_cc } if (defined(invoker.cflags_cc)) { cflags_cc = invoker.cflags_cc }
if (defined(invoker.cflags_objc)) { cflags_objc = invoker.cflags_objc } if (defined(invoker.cflags_objc)) { cflags_objc = invoker.cflags_objc }
if (defined(invoker.cflags_objcc)) { cflags_objcc = invoker.cflags_objcc } if (defined(invoker.cflags_objcc)) { cflags_objcc = invoker.cflags_objcc }
if (defined(invoker.check_includes)) { check_includes = invoker.check_includes }
if (defined(invoker.data)) { data = invoker.data } if (defined(invoker.data)) { data = invoker.data }
if (defined(invoker.datadeps)) { datadeps = invoker.datadeps } if (defined(invoker.datadeps)) { datadeps = invoker.datadeps }
if (defined(invoker.defines)) { defines = invoker.defines } if (defined(invoker.defines)) { defines = invoker.defines }
...@@ -561,6 +566,7 @@ template("component") { ...@@ -561,6 +566,7 @@ template("component") {
if (defined(invoker.output_name)) { output_name = invoker.output_name } if (defined(invoker.output_name)) { output_name = invoker.output_name }
if (defined(invoker.public)) { public = invoker.public } if (defined(invoker.public)) { public = invoker.public }
if (defined(invoker.sources)) { sources = invoker.sources } if (defined(invoker.sources)) { sources = invoker.sources }
if (defined(invoker.testonly)) { testonly = invoker.testonly }
if (defined(invoker.visibility)) { visibility = invoker.visibility } if (defined(invoker.visibility)) { visibility = invoker.visibility }
} }
} }
...@@ -586,11 +592,13 @@ template("test") { ...@@ -586,11 +592,13 @@ template("test") {
set_sources_assignment_filter([]) set_sources_assignment_filter([])
if (defined(invoker.all_dependent_configs)) { all_dependent_configs = invoker.all_dependent_configs } if (defined(invoker.all_dependent_configs)) { all_dependent_configs = invoker.all_dependent_configs }
if (defined(invoker.allow_circular_includes_from)) { allow_circular_includes_from = invoker.allow_circular_includes_from }
if (defined(invoker.cflags)) { cflags = invoker.cflags } if (defined(invoker.cflags)) { cflags = invoker.cflags }
if (defined(invoker.cflags_c)) { cflags_c = invoker.cflags_c } if (defined(invoker.cflags_c)) { cflags_c = invoker.cflags_c }
if (defined(invoker.cflags_cc)) { cflags_cc = invoker.cflags_cc } if (defined(invoker.cflags_cc)) { cflags_cc = invoker.cflags_cc }
if (defined(invoker.cflags_objc)) { cflags_objc = invoker.cflags_objc } if (defined(invoker.cflags_objc)) { cflags_objc = invoker.cflags_objc }
if (defined(invoker.cflags_objcc)) { cflags_objcc = invoker.cflags_objcc } if (defined(invoker.cflags_objcc)) { cflags_objcc = invoker.cflags_objcc }
if (defined(invoker.check_includes)) { check_includes = invoker.check_includes }
if (defined(invoker.data)) { data = invoker.data } if (defined(invoker.data)) { data = invoker.data }
if (defined(invoker.datadeps)) { datadeps = invoker.datadeps } if (defined(invoker.datadeps)) { datadeps = invoker.datadeps }
if (defined(invoker.defines)) { defines = invoker.defines } if (defined(invoker.defines)) { defines = invoker.defines }
......
...@@ -58,7 +58,7 @@ executable("chrome") { ...@@ -58,7 +58,7 @@ executable("chrome") {
"//base/allocator", "//base/allocator",
# Needed to use the master_preferences functions # Needed to use the master_preferences functions
"//chrome/installer/util", "//chrome/installer/util",
"//content/app:both", "//content/public/app:both",
] ]
# Needed for chrome_main.cc initialization of libraries. # Needed for chrome_main.cc initialization of libraries.
......
...@@ -13,20 +13,20 @@ content_shared_components = [ ...@@ -13,20 +13,20 @@ content_shared_components = [
"//content/gpu", "//content/gpu",
"//content/plugin", "//content/plugin",
"//content/ppapi_plugin", "//content/ppapi_plugin",
"//content/public/app",
"//content/public/browser:sources", "//content/public/browser:sources",
"//content/public/child", "//content/public/child",
"//content/public/common", "//content/public/common",
"//content/public/plugin", "//content/public/plugin",
"//content/public/renderer", "//content/public/renderer",
"//content/public/utility",
"//content/renderer", "//content/renderer",
"//content/utility",
] ]
if (is_component_build) { if (is_component_build) {
shared_library("content") { shared_library("content") {
deps = content_shared_components + [ deps = content_shared_components + [
"//content/app", "//content/app",
"//content/public/app",
] ]
forward_dependent_configs_from = deps forward_dependent_configs_from = deps
} }
......
...@@ -2,7 +2,8 @@ ...@@ -2,7 +2,8 @@
# Use of this source code is governed by a BSD-style license that can be # Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file. # found in the LICENSE file.
source_set("app") { # Used internally to hold the sources shared between the various targets below.
source_set("app_sources") {
sources = [ sources = [
"android_library_loader_hooks.h", "android_library_loader_hooks.h",
"content_main.h", "content_main.h",
...@@ -23,3 +24,45 @@ source_set("app") { ...@@ -23,3 +24,45 @@ source_set("app") {
"//content/public/utility", "//content/public/utility",
] ]
} }
# The structure of this is like the private content/app implementation.
if (is_component_build) {
group("app") {
deps = [
":app_sources",
"//content/app",
]
}
group("browser") {
deps = [ "//content" ]
}
group("child") {
deps = [ "//content" ]
}
group("both") {
deps = [ "//content" ]
}
} else {
group("browser") {
deps = [
":app_sources",
"//content/app:browser"
]
}
group("child") {
deps = [
":app_sources",
"//content/app:child"
]
}
group("both") {
deps = [
":app_sources",
"//content/app:both"
]
}
}
...@@ -15,7 +15,7 @@ content_tests_gypi_values = exec_script( ...@@ -15,7 +15,7 @@ content_tests_gypi_values = exec_script(
# GYP version //content/content_tests.gypi:test_support_content # GYP version //content/content_tests.gypi:test_support_content
static_library("test_support") { static_library("test_support") {
deps = [ deps = [
"//content/public/app", "//content/public/app:both",
"//content/public/browser", "//content/public/browser",
"//content/public/common", "//content/public/common",
"//net:test_support", "//net:test_support",
......
...@@ -58,10 +58,14 @@ source_set("test_support") { ...@@ -58,10 +58,14 @@ source_set("test_support") {
sources = [ sources = [
"browser/api/dns/mock_host_resolver_creator.cc", "browser/api/dns/mock_host_resolver_creator.cc",
"browser/api/dns/mock_host_resolver_creator.h", "browser/api/dns/mock_host_resolver_creator.h",
"browser/api/storage/settings_test_util.cc",
"browser/api/storage/settings_test_util.h",
"browser/api_test_utils.cc", "browser/api_test_utils.cc",
"browser/api_test_utils.h", "browser/api_test_utils.h",
"browser/extensions_test.cc", "browser/extensions_test.cc",
"browser/extensions_test.h", "browser/extensions_test.h",
"browser/mock_extension_system.cc",
"browser/mock_extension_system.h",
"browser/test_extensions_browser_client.cc", "browser/test_extensions_browser_client.cc",
"browser/test_extensions_browser_client.h", "browser/test_extensions_browser_client.h",
"browser/test_management_policy.cc", "browser/test_management_policy.cc",
...@@ -145,6 +149,10 @@ repack("shell_and_test_pak") { ...@@ -145,6 +149,10 @@ repack("shell_and_test_pak") {
} }
# TODO(GYP): Enable this link errors are fixed. # TODO(GYP): Enable this link errors are fixed.
# This gives a link error in web_modal that is very mysterious. The GYP build
# doesn't seem to pull in web_content_modal_dialog_manager.o since the build
# does not have a reference to CreateNativeWebModalManager but it still links.
# The GN build fails with this symbol being undefined.
if (false) { if (false) {
# TODO(tfarina): Many extension unit tests run as part of Chrome"s # TODO(tfarina): Many extension unit tests run as part of Chrome"s
# unit_tests target. They should be moved here, which may require some # unit_tests target. They should be moved here, which may require some
...@@ -154,8 +162,41 @@ test("unittests") { ...@@ -154,8 +162,41 @@ test("unittests") {
output_name = "extensions_unittests" output_name = "extensions_unittests"
sources = [ sources = [
"browser/admin_policy_unittest.cc",
"browser/api/api_resource_manager_unittest.cc",
"browser/api/declarative/deduping_factory_unittest.cc",
"browser/api/sockets_tcp/sockets_tcp_api_unittest.cc",
"browser/api/storage/settings_quota_unittest.cc",
"browser/api/storage/storage_api_unittest.cc",
"browser/api/storage/storage_frontend_unittest.cc",
"browser/computed_hashes_unittest.cc",
"browser/content_hash_tree_unittest.cc",
"browser/event_listener_map_unittest.cc",
"browser/event_router_unittest.cc",
"browser/api_unittest.cc",
"browser/api_unittest.h",
"browser/extension_pref_value_map_unittest.cc",
"browser/extension_registry_unittest.cc",
"browser/file_highlighter_unittest.cc",
"browser/file_reader_unittest.cc",
"browser/guest_view/guest_view_manager_unittest.cc",
"browser/image_loader_unittest.cc",
"browser/image_util_unittest.cc",
"browser/info_map_unittest.cc", "browser/info_map_unittest.cc",
"browser/lazy_background_task_queue_unittest.cc",
"browser/management_policy_unittest.cc",
"browser/process_manager_unittest.cc", "browser/process_manager_unittest.cc",
"browser/process_map_unittest.cc",
"browser/quota_service_unittest.cc",
"browser/runtime_data_unittest.cc",
"browser/value_store/leveldb_value_store_unittest.cc",
"browser/value_store/testing_value_store_unittest.cc",
"browser/value_store/value_store_change_unittest.cc",
"browser/value_store/value_store_frontend_unittest.cc",
"browser/value_store/value_store_unittest.cc",
"browser/value_store/value_store_unittest.h",
"browser/verified_contents_unittest.cc",
"browser/warning_service_unittest.cc",
"common/api/sockets/sockets_manifest_permission_unittest.cc", "common/api/sockets/sockets_manifest_permission_unittest.cc",
"common/csp_validator_unittest.cc", "common/csp_validator_unittest.cc",
"common/event_filter_unittest.cc", "common/event_filter_unittest.cc",
...@@ -185,14 +226,16 @@ test("unittests") { ...@@ -185,14 +226,16 @@ test("unittests") {
"renderer/script_context_set_unittest.cc", "renderer/script_context_set_unittest.cc",
"renderer/utils_unittest.cc", "renderer/utils_unittest.cc",
"test/extensions_unittests_main.cc", "test/extensions_unittests_main.cc",
] ]
deps = [ deps = [
":extensions_resources", ":extensions_resources",
":shell_and_test_pak", ":shell_and_test_pak",
":test_support", ":test_support",
"//base", "//base",
"//base:prefs_test_support",
"//base/test:test_support", "//base/test:test_support",
"//components/keyed_service/content",
"//content/test:test_support", "//content/test:test_support",
"//device/serial", "//device/serial",
"//device/serial:test_util", "//device/serial:test_util",
...@@ -205,6 +248,7 @@ test("unittests") { ...@@ -205,6 +248,7 @@ test("unittests") {
"//mojo/system", "//mojo/system",
"//testing/gmock", "//testing/gmock",
"//testing/gtest", "//testing/gtest",
"//third_party/leveldatabase",
] ]
if (is_win) { if (is_win) {
......
...@@ -381,6 +381,7 @@ source_set("browser") { ...@@ -381,6 +381,7 @@ source_set("browser") {
"//components/storage_monitor", "//components/storage_monitor",
"//crypto:platform", "//crypto:platform",
"//device/bluetooth", "//device/bluetooth",
"//device/core",
"//device/hid", "//device/hid",
"//device/serial", "//device/serial",
"//device/usb", "//device/usb",
......
...@@ -875,6 +875,7 @@ ...@@ -875,6 +875,7 @@
'<(SHARED_INTERMEDIATE_DIR)', '<(SHARED_INTERMEDIATE_DIR)',
], ],
'sources': [ 'sources': [
# Note: sources list duplicated in GN build.
'browser/api/dns/mock_host_resolver_creator.cc', 'browser/api/dns/mock_host_resolver_creator.cc',
'browser/api/dns/mock_host_resolver_creator.h', 'browser/api/dns/mock_host_resolver_creator.h',
'browser/api/storage/settings_test_util.cc', 'browser/api/storage/settings_test_util.cc',
......
...@@ -109,7 +109,11 @@ template("generated_extensions_api") { ...@@ -109,7 +109,11 @@ template("generated_extensions_api") {
"--namespace=$root_namespace", "--namespace=$root_namespace",
"--generator=cpp", "--generator=cpp",
"--include-rules=$schema_include_rules" ] "--include-rules=$schema_include_rules" ]
visibility = target_visibility
if (defined(invoker.visibility)) {
# If visibility is restricted, add our own target to it.
visibility = [ invoker.visibility, target_visibility ]
}
} }
} }
......
...@@ -12,8 +12,10 @@ ...@@ -12,8 +12,10 @@
# List of source .mojom files to compile. # List of source .mojom files to compile.
# #
# deps (optional) # deps (optional)
#
# visibility (optional) # visibility (optional)
# Normal meaning. # Normal meaning. However, this must be a list (normal visibility
# allows a single string).
template("mojom") { template("mojom") {
assert(defined(invoker.sources), assert(defined(invoker.sources),
"\"sources\" must be defined for the $target_name template.") "\"sources\" must be defined for the $target_name template.")
......
...@@ -215,11 +215,20 @@ const ParseNode* InputFileManager::SyncLoadFile( ...@@ -215,11 +215,20 @@ const ParseNode* InputFileManager::SyncLoadFile(
} }
} }
// The other load could have failed. In this case that error will be printed // The other load could have failed. In this case that error was probably
// to the console, but we need to return something here, so make up a // printed to the console, but we need to return something here, so make up a
// dummy error. // dummy error.
if (!data->parsed_root) //
*err = Err(origin, "File parse failed"); // There is a race condition. The other load could have failed, but if the
// other thread is delayed for some reason, this thread could end up
// reporting the error to the scheduler first (since first error report
// wins). The user will see this one and the "real" one will be discarded.
if (!data->parsed_root) {
*err = Err(origin, "File parse failed.",
"If you see this, I'm really sorry, but a race condition has caused\n"
"me to eat your error message. It was crunchy. If the parse error\n"
"in your imported file isn't obvious, try re-running GN.");
}
return data->parsed_root.get(); return data->parsed_root.get();
} }
......
...@@ -58,6 +58,7 @@ component("app_list") { ...@@ -58,6 +58,7 @@ component("app_list") {
"//base:i18n", "//base:i18n",
"//base/third_party/dynamic_annotations", "//base/third_party/dynamic_annotations",
"//skia", "//skia",
"//sync",
"//third_party/icu", "//third_party/icu",
"//ui/accessibility", "//ui/accessibility",
"//ui/base", "//ui/base",
......
...@@ -183,6 +183,7 @@ source_set("test_support") { ...@@ -183,6 +183,7 @@ source_set("test_support") {
"//ui/events:test_support", "//ui/events:test_support",
"//ui/gfx", "//ui/gfx",
"//ui/gfx/geometry", "//ui/gfx/geometry",
"//ui/wm",
] ]
if (is_win) { if (is_win) {
......
...@@ -308,6 +308,10 @@ component("base") { ...@@ -308,6 +308,10 @@ component("base") {
] ]
} else { } else {
deps += [ "//ui/base/ime" ] deps += [ "//ui/base/ime" ]
# http://crbug.com/408648 Circular includes from the ime sub-target to this
# one.
allow_circular_includes_from = [ "//ui/base/ime" ]
} }
if (toolkit_views) { if (toolkit_views) {
......
...@@ -41,6 +41,10 @@ component("keyboard") { ...@@ -41,6 +41,10 @@ component("keyboard") {
"//ui/keyboard/webui", "//ui/keyboard/webui",
"//ui/wm", "//ui/wm",
] ]
# http://crbug.com/408651 Include cycle between this target and the "webui"
# sub-target.
allow_circular_includes_from = [ "//ui/keyboard/webui" ]
} }
grit("resources_grit") { grit("resources_grit") {
......
...@@ -66,9 +66,6 @@ component("shell_dialogs") { ...@@ -66,9 +66,6 @@ component("shell_dialogs") {
} }
} }
# TODO(GYP) enable shell_dialogs_unittests when media is converted.
if (false) {
test("shell_dialogs_unittests") { test("shell_dialogs_unittests") {
sources = [ sources = [
"select_file_dialog_win_unittest.cc", "select_file_dialog_win_unittest.cc",
...@@ -82,5 +79,3 @@ test("shell_dialogs_unittests") { ...@@ -82,5 +79,3 @@ test("shell_dialogs_unittests") {
"//testing/gtest", "//testing/gtest",
] ]
} }
} # if false
...@@ -87,6 +87,9 @@ component("wm") { ...@@ -87,6 +87,9 @@ component("wm") {
"//ui/gfx/geometry", "//ui/gfx/geometry",
"//ui/resources", "//ui/resources",
] ]
# http://crbug.com/408650 Circular dependency between this target and Aura.
allow_circular_includes_from = [ "//ui/aura" ]
} }
static_library("test_support") { static_library("test_support") {
......
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