Index: Source/bindings/scripts/scripts.gni |
diff --git a/Source/bindings/scripts/scripts.gni b/Source/bindings/scripts/scripts.gni |
index 863e3c8ade20ec782c7056ca2c3fc009590a0e4d..c103c29d25e17234c46ef6731f5fa3b19bbb35f2 100644 |
--- a/Source/bindings/scripts/scripts.gni |
+++ b/Source/bindings/scripts/scripts.gni |
@@ -174,6 +174,45 @@ template("idl_compiler") { |
} |
} |
+# Runs the idl_compiler to generate IDL dictionary 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/" |
+ |
+ action(target_name) { |
+ script = "//third_party/WebKit/Source/bindings/scripts/idl_compiler.py" |
+ idl_files_list = "$target_gen_dir/${target_name}_file_list.tmp" |
+ write_file(idl_files_list, rebase_path(invoker.sources, root_build_dir)) |
+ |
+ inputs = [ idl_files_list ] + invoker.sources |
+ outputs = invoker.outputs |
+ |
+ args = [ |
+ "--cache-dir", |
+ rebase_path(bindings_scripts_output_dir, root_build_dir), |
+ "--output-dir", |
+ rebase_path(output_dir, root_build_dir), |
+ "--interfaces-info", |
+ rebase_path("$bindings_modules_output_dir/InterfacesInfoModules.pickle", |
+ root_build_dir), |
+ "--write-file-only-if-changed=1", |
+ "--generate-dictionary-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/modules:interfaces_info", |
+ "//third_party/WebKit/Source/bindings/scripts:cached_lex_yacc_tables", |
+ "//third_party/WebKit/Source/bindings/scripts:cached_jinja_templates", |
+ ] |
+ } |
+} |
+ |
# Calls the aggregate_generated_bindings script. |
# |
# Parameters: |