Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(267)

Unified Diff: Source/bindings/scripts/scripts.gni

Issue 680193003: IDL: Generate union type containers (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/bindings/scripts/scripts.gni
diff --git a/Source/bindings/scripts/scripts.gni b/Source/bindings/scripts/scripts.gni
index b3641b38cbf269ca65bd2b7cde596e272c30d9c5..4a573abf4a39cd37e86934f7056b391ff9874341 100644
--- a/Source/bindings/scripts/scripts.gni
+++ b/Source/bindings/scripts/scripts.gni
@@ -27,7 +27,8 @@ idl_compiler_files = get_path_info(_gypi.idl_compiler_files, "abspath")
# sources_static = list of IDL files to pass as inputs
# sources_generated = list of generated IDL files to pass as inputs
# component_dir = name if subdirectory (one word, no slashes) of component.
-# output_file = pickle file to write
+# interfaces_info_file = output pickle file for interfaces info.
+# component_wide_info_file = output pickle file for component wide info.
# deps = dependencies
#
# FIXME: Note the static/generated split is for consistency with GYP. This
@@ -51,7 +52,8 @@ template("compute_interfaces_info_individual") {
] + invoker.sources_static + invoker.sources_generated
outputs = [
- invoker.output_file
+ invoker.interfaces_info_file,
+ invoker.component_wide_info_file,
]
args = [
@@ -59,7 +61,9 @@ template("compute_interfaces_info_individual") {
rebase_path(bindings_scripts_output_dir, root_build_dir),
"--idl-files-list", rebase_path(file_list, root_build_dir),
"--interfaces-info-file",
- rebase_path(invoker.output_file, root_build_dir),
+ rebase_path(invoker.interfaces_info_file, root_build_dir),
+ "--component-info-file",
+ rebase_path(invoker.component_wide_info_file, root_build_dir),
"--write-file-only-if-changed=1",
"--",
] + rebase_path(invoker.sources_generated, root_build_dir)
@@ -179,13 +183,17 @@ template("idl_compiler") {
}
}
-# Runs the idl_compiler to generate IDL dictionary impl files.
+# Runs the idl_compiler to generate IDL dictionary and union impl files.
#
# Parameters:
# sources = a list of IDL files to process
# outputs = a list of files to write to
-template("idl_dictionary") {
- output_dir = "$root_gen_dir/blink/"
+# output_dir = the directory to put the output files
+# component_wide_info = a filename of pickle file which contains component
+# wide information
+# target_component = component to generate code for
+template("idl_impl") {
+ dictionary_impl_output_dir = "$root_gen_dir/blink/"
action(target_name) {
script = "//third_party/WebKit/Source/bindings/scripts/idl_compiler.py"
@@ -199,19 +207,27 @@ template("idl_dictionary") {
"--cache-dir",
rebase_path(bindings_scripts_output_dir, root_build_dir),
"--output-dir",
- rebase_path(output_dir, root_build_dir),
+ rebase_path(invoker.output_dir, root_build_dir),
+ "--impl-output-dir",
+ rebase_path(dictionary_impl_output_dir, root_build_dir),
"--interfaces-info",
rebase_path("$bindings_modules_output_dir/InterfacesInfoModules.pickle",
root_build_dir),
+ "--component-info",
+ rebase_path(invoker.component_wide_info, root_build_dir),
+ "--target-component",
+ invoker.target_component,
"--write-file-only-if-changed=1",
- "--generate-dictionary-impl",
+ "--generate-impl",
rebase_path(idl_files_list, root_build_dir),
]
deps = [
# FIXME: should be interfaces_info_core (w/o modules)
# http://crbug.com/358074
+ "//third_party/WebKit/Source/bindings/core:interfaces_info_individual_core",
"//third_party/WebKit/Source/bindings/modules:interfaces_info",
+ "//third_party/WebKit/Source/bindings/modules:interfaces_info_individual_modules",
"//third_party/WebKit/Source/bindings/scripts:cached_lex_yacc_tables",
"//third_party/WebKit/Source/bindings/scripts:cached_jinja_templates",
]

Powered by Google App Engine
This is Rietveld 408576698