| # Copyright 2014 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//third_party/WebKit/Source/bindings/bindings.gni") |
| import("//third_party/WebKit/Source/build/scripts/scripts.gni") |
| import("//third_party/WebKit/Source/core/core.gni") |
| import("//third_party/WebKit/Source/modules/modules.gni") |
| |
| visibility = "//third_party/WebKit/*" |
| |
| # Main interface IDL files (excluding dependencies and testing) |
| # are included as properties on global objects, and in aggregate bindings. |
| main_interface_idl_files = core_idl_files + modules_idl_files |
| |
| main_interface_idl_files_list = "$target_gen_dir/main_interface_idl_files.tmp" |
| write_file(main_interface_idl_files_list, |
| rebase_path(main_interface_idl_files, root_build_dir)) |
| |
| generated_global_constructors_idl_files = [ |
| "$blink_output_dir/WindowConstructors.idl", |
| "$blink_output_dir/SharedWorkerGlobalScopeConstructors.idl", |
| "$blink_output_dir/DedicatedWorkerGlobalScopeConstructors.idl", |
| "$blink_output_dir/ServiceWorkerGlobalScopeConstructors.idl", |
| ] |
| generated_global_constructors_header_files = [ |
| "$blink_output_dir/WindowConstructors.h", |
| "$blink_output_dir/SharedWorkerGlobalScopeConstructors.h", |
| "$blink_output_dir/DedicatedWorkerGlobalScopeConstructors.h", |
| "$blink_output_dir/ServiceWorkerGlobalScopeConstructors.h", |
| ] |
| |
| # FIXME: Generate separate core_global_objects |
| # http://crbug.com/358074 |
| # GYP version: generated.gyp:global_objects |
| action("global_objects") { |
| script = "scripts/compute_global_objects.py" |
| |
| inputs = [ |
| "scripts/utilities.py", |
| # Only look in main IDL files (exclude dependencies and testing, |
| # which should not define global objects). |
| main_interface_idl_files_list, |
| ] + main_interface_idl_files |
| |
| outputs = [ |
| "$bindings_output_dir/GlobalObjects.pickle", |
| ] |
| |
| args = [ |
| "--idl-files-list", |
| rebase_path(main_interface_idl_files_list, root_build_dir), |
| "--write-file-only-if-changed=1", # Always true for Ninja. FIXME: remove |
| # when everything switched to GN. |
| "--", |
| rebase_path("$bindings_output_dir/GlobalObjects.pickle", root_build_dir), |
| ] |
| } |
| |
| # GYP version: generated.gyp:global_constructors_idls |
| action("global_constructors_idls") { |
| script = "scripts/generate_global_constructors.py" |
| |
| inputs = [ |
| "scripts/generate_global_constructors.py", |
| "scripts/utilities.py", |
| "$bindings_output_dir/GlobalObjects.pickle", |
| # Only includes main IDL files (exclude dependencies and testing, |
| # which should not appear on global objects). |
| main_interface_idl_files_list, |
| ] + main_interface_idl_files |
| |
| outputs = generated_global_constructors_idl_files + |
| generated_global_constructors_header_files |
| |
| args = [ |
| "--idl-files-list", |
| rebase_path(main_interface_idl_files_list, root_build_dir), |
| "--global-objects-file", |
| rebase_path("$bindings_output_dir/GlobalObjects.pickle", root_build_dir), |
| "--write-file-only-if-changed=1", # Always true for Ninja. |
| "--", |
| "Window", |
| rebase_path("$blink_output_dir/WindowConstructors.idl", root_build_dir), |
| "SharedWorkerGlobalScope", |
| rebase_path("$blink_output_dir/SharedWorkerGlobalScopeConstructors.idl", |
| root_build_dir), |
| "DedicatedWorkerGlobalScope", |
| rebase_path("$blink_output_dir/DedicatedWorkerGlobalScopeConstructors.idl", |
| root_build_dir), |
| "ServiceWorkerGlobalScope", |
| rebase_path("$blink_output_dir/ServiceWorkerGlobalScopeConstructors.idl", |
| root_build_dir), |
| ] |
| |
| deps = [ ":global_objects" ] |
| } |
| |
| # GYP version: generated.gyp:generated_idls |
| group("generated_idls") { |
| deps = [ |
| ":global_constructors_idls", |
| "//third_party/WebKit/Source/core:generated_testing_idls", |
| ] |
| } |