Index: Source/bindings/derived_sources.gyp |
diff --git a/Source/bindings/derived_sources.gyp b/Source/bindings/derived_sources.gyp |
index 5b99c451b30a58599eeaa9551cd610fcfaa68bfc..71e449e215db0f0a17170f9fdf7b0728ec3bee3e 100644 |
--- a/Source/bindings/derived_sources.gyp |
+++ b/Source/bindings/derived_sources.gyp |
@@ -133,6 +133,7 @@ |
'<@(idl_files)', |
'<@(webcore_test_support_idl_files)', |
], |
+ 'sources/': [['exclude', 'DOMWindow\\.idl$']], |
'actions': [{ |
'action_name': 'derived_sources_all_in_one', |
'inputs': [ |
@@ -224,5 +225,94 @@ |
'message': 'Generating binding from <(RULE_INPUT_PATH)', |
}], |
}, |
+ # Make sure DOMWindow.idl is processed if any other IDL file has changed |
+ # as interfaces without NoInterfaceObject extended attribute will cause |
+ # a property to be added to the DOMWindow. |
+ { |
+ 'target_name': 'bindings_derived_sources_domwindow', |
+ 'type': 'none', |
+ 'hard_dependency': 1, |
+ 'dependencies': [ |
+ 'supplemental_dependencies', |
+ '../core/core.gyp/core_derived_sources.gyp:generate_settings', |
+ ], |
+ 'sources': [ |
+ '../core/page/DOMWindow.idl', |
+ ], |
+ 'actions': [], |
+ 'rules': [{ |
+ 'rule_name': 'binding_domwindow', |
+ 'extension': 'idl', |
+ 'msvs_external_rule': 1, |
+ 'inputs': [ |
+ 'scripts/generate-bindings.pl', |
+ 'scripts/CodeGenerator.pm', |
+ 'scripts/CodeGeneratorV8.pm', |
+ 'scripts/IDLParser.pm', |
+ 'scripts/IDLAttributes.txt', |
+ '../core/scripts/preprocessor.pm', |
+ '<@(idl_files)', |
+ ], |
+ 'outputs': [ |
+ # FIXME: The .cpp file should be in webkit/bindings once |
+ # we coax GYP into supporting it (see 'action' below). |
+ '<(SHARED_INTERMEDIATE_DIR)/webcore/bindings/V8<(RULE_INPUT_ROOT).cpp', |
+ '<(SHARED_INTERMEDIATE_DIR)/webkit/bindings/V8<(RULE_INPUT_ROOT).h', |
+ ], |
+ 'variables': { |
+ 'generator_include_dirs': [ |
+ '--include', '../modules/filesystem', |
+ '--include', '../modules/indexeddb', |
+ '--include', '../modules/mediasource', |
+ '--include', '../modules/mediastream', |
+ '--include', '../modules/navigatorcontentutils', |
+ '--include', '../modules/notifications', |
+ '--include', '../modules/webaudio', |
+ '--include', '../modules/webdatabase', |
+ '--include', '../core/css', |
+ '--include', '../core/dom', |
+ '--include', '../core/fileapi', |
+ '--include', '../core/html', |
+ '--include', '../core/page', |
+ '--include', '../core/plugins', |
+ '--include', '../core/storage', |
+ '--include', '../core/svg', |
+ '--include', '../core/testing', |
+ '--include', '../core/workers', |
+ '--include', '../core/xml', |
+ '--include', '<(SHARED_INTERMEDIATE_DIR)/webkit', |
abarth-chromium
2013/04/23 16:56:39
This is really super ugly. You've just copy-and-p
|
+ ], |
+ }, |
+ 'msvs_cygwin_shell': 0, |
+ # FIXME: Note that we put the .cpp files in webcore/bindings |
+ # but the .h files in webkit/bindings. This is to work around |
+ # the unfortunate fact that GYP strips duplicate arguments |
+ # from lists. When we have a better GYP way to suppress that |
+ # behavior, change the output location. |
+ 'action': [ |
+ '<(perl_exe)', |
+ '-w', |
+ '-Iscripts', |
+ '-I../core/scripts', |
+ 'scripts/generate-bindings.pl', |
+ '--outputHeadersDir', |
+ '<(SHARED_INTERMEDIATE_DIR)/webkit/bindings', |
+ '--outputDir', |
+ '<(SHARED_INTERMEDIATE_DIR)/webcore/bindings', |
+ '--idlAttributesFile', |
+ 'scripts/IDLAttributes.txt', |
+ '--defines', |
+ '<(feature_defines)', |
+ '<@(generator_include_dirs)', |
+ '--supplementalDependencyFile', |
+ '<(SHARED_INTERMEDIATE_DIR)/supplemental_dependency.tmp', |
+ '--additionalIdlFiles', |
+ '<(webcore_test_support_idl_files)', |
+ '<(RULE_INPUT_PATH)', |
+ '<@(preprocessor)', |
+ ], |
+ 'message': 'Generating binding from <(RULE_INPUT_PATH)', |
+ }], |
+ }, |
], |
} |