Commit c1f6f104 authored by Yuki Shiino's avatar Yuki Shiino Committed by Commit Bot

bind-gen: Build generated IDL enumeration in prod

Builds the bindings of IDL enumeration generated with the new
bindings generator in prod, despite that the bindings is not
yet used.  This patch makes it available for real use.

Bug: 839389
Change-Id: Id5cafd53ab043f75c5244f8fb6a0e134c5ce861d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2022124
Commit-Queue: Yuki Shiino <yukishiino@chromium.org>
Reviewed-by: default avatarHitoshi Yoshida <peria@chromium.org>
Reviewed-by: default avatarKentaro Hara <haraken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#736356}
parent 71e65d8c
...@@ -5,6 +5,8 @@ ...@@ -5,6 +5,8 @@
import("//build/config/python.gni") import("//build/config/python.gni")
import("//third_party/blink/renderer/bindings/bindings.gni") import("//third_party/blink/renderer/bindings/bindings.gni")
import("//third_party/blink/renderer/bindings/core/v8/generated.gni") import("//third_party/blink/renderer/bindings/core/v8/generated.gni")
import("//third_party/blink/renderer/bindings/generated_in_core.gni")
import("//third_party/blink/renderer/bindings/generated_in_modules.gni")
import("//third_party/blink/renderer/bindings/idl_in_core.gni") import("//third_party/blink/renderer/bindings/idl_in_core.gni")
import("//third_party/blink/renderer/bindings/idl_in_modules.gni") import("//third_party/blink/renderer/bindings/idl_in_modules.gni")
import("//third_party/blink/renderer/bindings/modules/v8/generated.gni") import("//third_party/blink/renderer/bindings/modules/v8/generated.gni")
...@@ -13,6 +15,8 @@ import("//third_party/blink/renderer/build/scripts/scripts.gni") ...@@ -13,6 +15,8 @@ import("//third_party/blink/renderer/build/scripts/scripts.gni")
import("//third_party/blink/renderer/core/core_idl_files.gni") import("//third_party/blink/renderer/core/core_idl_files.gni")
import("//third_party/blink/renderer/modules/modules_idl_files.gni") import("//third_party/blink/renderer/modules/modules_idl_files.gni")
visibility = [ "//third_party/blink/renderer/*" ]
action("interfaces_info") { action("interfaces_info") {
script = "$bindings_scripts_dir/compute_interfaces_info_overall.py" script = "$bindings_scripts_dir/compute_interfaces_info_overall.py"
...@@ -178,6 +182,40 @@ if (use_v8_bind_gen_for_dictionary) { ...@@ -178,6 +182,40 @@ if (use_v8_bind_gen_for_dictionary) {
} }
} }
template("generate_bindings") {
action_with_pydeps(target_name) {
script = "${bindings_scripts_dir}/generate_bindings.py"
web_idl_database_outputs = get_target_outputs(":web_idl_database")
web_idl_database = web_idl_database_outputs[0]
inputs = [ web_idl_database ]
outputs = invoker.outputs
args = [
invoker.target,
"--web_idl_database",
rebase_path(web_idl_database, root_build_dir),
"--root_src_dir",
rebase_path("//", root_build_dir),
"--root_gen_dir",
rebase_path(root_gen_dir, root_build_dir),
"--output_core_reldir",
rebase_path("${bindings_output_dir}/core/v8/", root_gen_dir),
"--output_modules_reldir",
rebase_path("${bindings_output_dir}/modules/v8/", root_gen_dir),
]
deps = [ ":web_idl_database" ]
}
}
generate_bindings("generate_bindings_enumeration") {
target = "enumeration"
outputs = generated_enumeration_sources_in_core +
generated_enumeration_sources_in_modules
}
action_with_pydeps("generate_high_entropy_list") { action_with_pydeps("generate_high_entropy_list") {
script = "${bindings_scripts_dir}/generate_high_entropy_list.py" script = "${bindings_scripts_dir}/generate_high_entropy_list.py"
......
...@@ -5,12 +5,19 @@ ...@@ -5,12 +5,19 @@
import("//testing/libfuzzer/fuzzer_test.gni") import("//testing/libfuzzer/fuzzer_test.gni")
import("//third_party/blink/renderer/bindings/bindings.gni") import("//third_party/blink/renderer/bindings/bindings.gni")
import("//third_party/blink/renderer/bindings/core/v8/generated.gni") import("//third_party/blink/renderer/bindings/core/v8/generated.gni")
import("//third_party/blink/renderer/bindings/generated_in_core.gni")
import("//third_party/blink/renderer/bindings/scripts/scripts.gni") import("//third_party/blink/renderer/bindings/scripts/scripts.gni")
import("//third_party/blink/renderer/core/core.gni") import("//third_party/blink/renderer/core/core.gni")
import("//third_party/blink/renderer/core/core_idl_files.gni") import("//third_party/blink/renderer/core/core_idl_files.gni")
visibility = [ "//third_party/blink/renderer/*" ] visibility = [ "//third_party/blink/renderer/*" ]
blink_core_sources("generated") {
sources = generated_enumeration_sources_in_core
deps =
[ "//third_party/blink/renderer/bindings:generate_bindings_enumeration" ]
}
generate_origin_trial_features("bindings_core_origin_trial_features") { generate_origin_trial_features("bindings_core_origin_trial_features") {
sources = sources =
core_idl_files + core_idl_with_modules_dependency_files + core_idl_files + core_idl_with_modules_dependency_files +
......
...@@ -2,8 +2,6 @@ ...@@ -2,8 +2,6 @@
# 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.
visibility = [ "//third_party/blink/renderer/bindings/*" ]
generated_enumeration_sources_in_core = [ generated_enumeration_sources_in_core = [
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_address_space.cc", "$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_address_space.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_address_space.h", "$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_address_space.h",
......
...@@ -2,8 +2,6 @@ ...@@ -2,8 +2,6 @@
# 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.
visibility = [ "//third_party/blink/renderer/bindings/*" ]
generated_enumeration_sources_in_modules = [ generated_enumeration_sources_in_modules = [
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_app_banner_prompt_outcome.cc", "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_app_banner_prompt_outcome.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_app_banner_prompt_outcome.h", "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_app_banner_prompt_outcome.h",
......
...@@ -2,8 +2,6 @@ ...@@ -2,8 +2,6 @@
# 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.
visibility = [ "//third_party/blink/renderer/bindings/*" ]
# CAUTION: static_idl_files_in_core is used only by a new V8 bindings generator, # CAUTION: static_idl_files_in_core is used only by a new V8 bindings generator,
# which is under development. You have to update core/core_idl_files.gni in # which is under development. You have to update core/core_idl_files.gni in
# addition to this list. # addition to this list.
......
...@@ -4,8 +4,6 @@ ...@@ -4,8 +4,6 @@
import("//third_party/blink/renderer/config.gni") import("//third_party/blink/renderer/config.gni")
visibility = [ "//third_party/blink/renderer/bindings/*" ]
# CAUTION: static_idl_files_in_modules is used only by a new V8 bindings # CAUTION: static_idl_files_in_modules is used only by a new V8 bindings
# generator, which is under development. You have to update # generator, which is under development. You have to update
# modules/modules_idl_files.gni in addition to this list. # modules/modules_idl_files.gni in addition to this list.
......
...@@ -3,12 +3,19 @@ ...@@ -3,12 +3,19 @@
# found in the LICENSE file. # found in the LICENSE file.
import("//third_party/blink/renderer/bindings/bindings.gni") import("//third_party/blink/renderer/bindings/bindings.gni")
import("//third_party/blink/renderer/bindings/generated_in_modules.gni")
import("//third_party/blink/renderer/bindings/modules/v8/generated.gni") import("//third_party/blink/renderer/bindings/modules/v8/generated.gni")
import("//third_party/blink/renderer/bindings/scripts/scripts.gni") import("//third_party/blink/renderer/bindings/scripts/scripts.gni")
import("//third_party/blink/renderer/modules/modules.gni") import("//third_party/blink/renderer/modules/modules.gni")
import("//third_party/blink/renderer/modules/modules_idl_files.gni") import("//third_party/blink/renderer/modules/modules_idl_files.gni")
visibility = [ "//third_party/blink/*" ] visibility = [ "//third_party/blink/renderer/*" ]
blink_modules_sources("generated") {
sources = generated_enumeration_sources_in_modules
deps =
[ "//third_party/blink/renderer/bindings:generate_bindings_enumeration" ]
}
group("bindings_modules_v8_generated") { group("bindings_modules_v8_generated") {
public_deps = [ public_deps = [
......
...@@ -73,6 +73,7 @@ source_set("generated") { ...@@ -73,6 +73,7 @@ source_set("generated") {
"//skia", "//skia",
"//third_party/blink/renderer/bindings/core/v8:bindings_core_origin_trial_features", "//third_party/blink/renderer/bindings/core/v8:bindings_core_origin_trial_features",
"//third_party/blink/renderer/bindings/core/v8:bindings_core_v8_generated", "//third_party/blink/renderer/bindings/core/v8:bindings_core_v8_generated",
"//third_party/blink/renderer/bindings/core/v8:generated",
"//third_party/blink/renderer/core/inspector:generated", "//third_party/blink/renderer/core/inspector:generated",
"//third_party/blink/renderer/core/probe:generated", "//third_party/blink/renderer/core/probe:generated",
"//third_party/iccjpeg", "//third_party/iccjpeg",
......
...@@ -168,6 +168,7 @@ jumbo_component("modules") { ...@@ -168,6 +168,7 @@ jumbo_component("modules") {
"//third_party/blink/renderer/bindings/modules:generated", "//third_party/blink/renderer/bindings/modules:generated",
"//third_party/blink/renderer/bindings/modules/v8:bindings_modules_impl", "//third_party/blink/renderer/bindings/modules/v8:bindings_modules_impl",
"//third_party/blink/renderer/bindings/modules/v8:bindings_modules_origin_trial_features", "//third_party/blink/renderer/bindings/modules/v8:bindings_modules_origin_trial_features",
"//third_party/blink/renderer/bindings/modules/v8:generated",
"//third_party/blink/renderer/core", "//third_party/blink/renderer/core",
"//third_party/icu", "//third_party/icu",
"//third_party/webrtc_overrides:webrtc_component", "//third_party/webrtc_overrides:webrtc_component",
......
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