Commit 00f2a4c8 authored by nbarth@chromium.org's avatar nbarth@chromium.org

Make EventInterfaces.in build step not depend on bindings generation

Currently EventInterfaces.in generation is causing build problems
(fail to rebuild) because it does not specify dependencies correctly,
and it is not depended on correctly.
Fixing this is hard because of wonky circular dependency between core/
and bindings/.

This fixes it by moving EventInterfaces.in generation
to a separate file, core_bindings_generated.gyp,
and having a static list of event interfaces,
so EventInterfaces.in generation does not depend on any
other build steps, breaking the cycle.

The build action stays in bindings/,
because it depends on .idl files in modules/,
and we don't want build dependencies of core/ on modules/.

This also does some cleanup of generated_bindings.gyp
and bindings.gypi,
which incidentally moves
ServiceWorkerGlobalScopeConstructors.idl
into gen/blink (where it belongs), not gen/.

(For ease of reviewing it doesn't move the Python file,
but I can move it to build/scripts in a followup.)


== Details ==
The simple fix for EventInterfaces.in generation (adding dependencies)
creates a circular dependency between .gyp files, which causes Mac build bot
to fail. (This isn't a circular dependency between GYP *targets*, so builds
correctly on other platforms),
Breaking the circular dependency by omitting it breaks Android build.

The specific dependency problem is that
core/core_generated.gyp:make_core_generated
...needs to depend on generation of EventInterfaces.in,
...which is currently in
bindings/generated_bindings.gyp:generated_bindings
but this depends on
core/core_generated.gyp:generated_testing_idls
(for generated IDL files),
which creates a cycle of *files*:
core/core_generated.gyp ->
bindings/generated_bindings.gyp ->
core/core_generated.gyp

We break this by having
core/core_generated.gyp:make_core_generated
depend on
bindings/core_bindings_generated.gyp:core_bindings_generated
...which has no dependency targets.

The dependency on bindings/ is because current EventInterfaces.in
generation dynamically computes the list of event interfaces (based on
ancestry: inherits from Event), which depends on the global
'compute_interfaces_info' step in bindings/, which computes ancestry and
a whole lot more.

This can be solved by instead having a static list of event interface IDL
files, which breaks the dependency,
and also avoids unnecessary regenerations (only regen on event
.idl file changes, not any .idl file change) and simplifies the code.


Previous build failure/proposed fix:
Add RuntimeEnabled info to InterfaceInfo.pickle.
https://codereview.chromium.org/208953004/
Quick fix:
Fix dependencies for EventInterfaces.in
https://codereview.chromium.org/209723002/
...reverted in:
Revert of Fix dependencies for EventInterfaces.in
https://codereview.chromium.org/212713002/

R=abarth, haraken
BUG=341748
BUG=358074

Review URL: https://codereview.chromium.org/212983010

git-svn-id: svn://svn.chromium.org/blink/trunk@170628 bbb929c8-8fbe-4397-9dbb-9b2b20218538
parent 78c1fab2
{ {
'variables': { 'variables': {
'bindings_dir': ['.'], 'bindings_v8_dir': 'v8',
'blink_output_dir': '<(SHARED_INTERMEDIATE_DIR)/blink',
'bindings_output_dir': '<(SHARED_INTERMEDIATE_DIR)/blink/bindings',
'bindings_files': [ 'bindings_files': [
'v8/ActiveDOMCallback.cpp', 'v8/ActiveDOMCallback.cpp',
'v8/ActiveDOMCallback.h', 'v8/ActiveDOMCallback.h',
...@@ -248,33 +250,47 @@ ...@@ -248,33 +250,47 @@
], ],
'conditions': [ 'conditions': [
['OS=="win" and buildtype=="Official"', { ['OS=="win" and buildtype=="Official"', {
# On windows official release builds, we try to preserve symbol space. # On Windows Official release builds, we try to preserve symbol
# space.
'aggregate_generated_bindings_files': [ 'aggregate_generated_bindings_files': [
'<(SHARED_INTERMEDIATE_DIR)/blink/bindings/V8GeneratedBindings.cpp', '<(bindings_output_dir)/V8GeneratedBindings.cpp',
], ],
}, { }, {
'aggregate_generated_bindings_files': [ 'aggregate_generated_bindings_files': [
'<(SHARED_INTERMEDIATE_DIR)/blink/bindings/V8GeneratedBindings01.cpp', '<(bindings_output_dir)/V8GeneratedBindings01.cpp',
'<(SHARED_INTERMEDIATE_DIR)/blink/bindings/V8GeneratedBindings02.cpp', '<(bindings_output_dir)/V8GeneratedBindings02.cpp',
'<(SHARED_INTERMEDIATE_DIR)/blink/bindings/V8GeneratedBindings03.cpp', '<(bindings_output_dir)/V8GeneratedBindings03.cpp',
'<(SHARED_INTERMEDIATE_DIR)/blink/bindings/V8GeneratedBindings04.cpp', '<(bindings_output_dir)/V8GeneratedBindings04.cpp',
'<(SHARED_INTERMEDIATE_DIR)/blink/bindings/V8GeneratedBindings05.cpp', '<(bindings_output_dir)/V8GeneratedBindings05.cpp',
'<(SHARED_INTERMEDIATE_DIR)/blink/bindings/V8GeneratedBindings06.cpp', '<(bindings_output_dir)/V8GeneratedBindings06.cpp',
'<(SHARED_INTERMEDIATE_DIR)/blink/bindings/V8GeneratedBindings07.cpp', '<(bindings_output_dir)/V8GeneratedBindings07.cpp',
'<(SHARED_INTERMEDIATE_DIR)/blink/bindings/V8GeneratedBindings08.cpp', '<(bindings_output_dir)/V8GeneratedBindings08.cpp',
'<(SHARED_INTERMEDIATE_DIR)/blink/bindings/V8GeneratedBindings09.cpp', '<(bindings_output_dir)/V8GeneratedBindings09.cpp',
'<(SHARED_INTERMEDIATE_DIR)/blink/bindings/V8GeneratedBindings10.cpp', '<(bindings_output_dir)/V8GeneratedBindings10.cpp',
'<(SHARED_INTERMEDIATE_DIR)/blink/bindings/V8GeneratedBindings11.cpp', '<(bindings_output_dir)/V8GeneratedBindings11.cpp',
'<(SHARED_INTERMEDIATE_DIR)/blink/bindings/V8GeneratedBindings12.cpp', '<(bindings_output_dir)/V8GeneratedBindings12.cpp',
'<(SHARED_INTERMEDIATE_DIR)/blink/bindings/V8GeneratedBindings13.cpp', '<(bindings_output_dir)/V8GeneratedBindings13.cpp',
'<(SHARED_INTERMEDIATE_DIR)/blink/bindings/V8GeneratedBindings14.cpp', '<(bindings_output_dir)/V8GeneratedBindings14.cpp',
'<(SHARED_INTERMEDIATE_DIR)/blink/bindings/V8GeneratedBindings15.cpp', '<(bindings_output_dir)/V8GeneratedBindings15.cpp',
'<(SHARED_INTERMEDIATE_DIR)/blink/bindings/V8GeneratedBindings16.cpp', '<(bindings_output_dir)/V8GeneratedBindings16.cpp',
'<(SHARED_INTERMEDIATE_DIR)/blink/bindings/V8GeneratedBindings17.cpp', '<(bindings_output_dir)/V8GeneratedBindings17.cpp',
'<(SHARED_INTERMEDIATE_DIR)/blink/bindings/V8GeneratedBindings18.cpp', '<(bindings_output_dir)/V8GeneratedBindings18.cpp',
'<(SHARED_INTERMEDIATE_DIR)/blink/bindings/V8GeneratedBindings19.cpp', '<(bindings_output_dir)/V8GeneratedBindings19.cpp',
], ],
}], }],
# The bindings generator can skip writing generated files if they
# are identical to the already existing file, which avoids
# recompilation. However, a dependency (earlier build step) having
# a newer timestamp than an output (later build step) confuses some
# build systems, so only use this on ninja, which explicitly
# supports this use case (gyp turns all actions into ninja restat
# rules).
['"<(GENERATOR)"=="ninja"', {
'write_file_only_if_changed': '1',
}, {
'write_file_only_if_changed': '0',
}],
], ],
}, },
} }
# 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.
# Generate EventInterfaces.in, used by core/ but depends on modules/,
# hence placed in bindings/ to avoid direct core/ -> modules/ dependency.
{
'includes': [
'bindings.gypi',
'../core/core.gypi',
'../modules/modules.gypi',
],
'targets': [
{
'target_name': 'core_bindings_generated',
'type': 'none',
'actions': [
{
'action_name': 'event_interfaces',
'variables': {
'event_idl_files': [
'<@(core_event_idl_files)',
'<@(modules_event_idl_files)',
],
'event_idl_files_list':
'<|(event_idl_files_list.tmp <@(event_idl_files))',
},
'inputs': [
'../bindings/scripts/generate_event_interfaces.py',
'../bindings/scripts/utilities.py',
'<@(event_idl_files)',
],
'outputs': [
'<(blink_output_dir)/EventInterfaces.in',
],
'action': [
'python',
'../bindings/scripts/generate_event_interfaces.py',
'--event-idl-files-list',
'<(event_idl_files_list)',
'--event-interfaces-file',
'<(blink_output_dir)/EventInterfaces.in',
'--write-file-only-if-changed',
'<(write_file_only_if_changed)',
],
},
],
},
], # targets
}
...@@ -35,12 +35,9 @@ ...@@ -35,12 +35,9 @@
{ {
'includes': [ 'includes': [
'../build/scripts/scripts.gypi', 'bindings.gypi',
'../build/win/precompile.gypi',
'../build/scripts/scripts.gypi',
'../core/core.gypi', '../core/core.gypi',
'../modules/modules.gypi', '../modules/modules.gypi',
'bindings.gypi',
], ],
'variables': { 'variables': {
...@@ -105,19 +102,19 @@ ...@@ -105,19 +102,19 @@
], ],
'generated_global_constructors_idl_files': [ 'generated_global_constructors_idl_files': [
'<(SHARED_INTERMEDIATE_DIR)/blink/WindowConstructors.idl', '<(blink_output_dir)/WindowConstructors.idl',
'<(SHARED_INTERMEDIATE_DIR)/blink/WorkerGlobalScopeConstructors.idl', '<(blink_output_dir)/WorkerGlobalScopeConstructors.idl',
'<(SHARED_INTERMEDIATE_DIR)/blink/SharedWorkerGlobalScopeConstructors.idl', '<(blink_output_dir)/SharedWorkerGlobalScopeConstructors.idl',
'<(SHARED_INTERMEDIATE_DIR)/blink/DedicatedWorkerGlobalScopeConstructors.idl', '<(blink_output_dir)/DedicatedWorkerGlobalScopeConstructors.idl',
'<(SHARED_INTERMEDIATE_DIR)/ServiceWorkerGlobalScopeConstructors.idl', '<(blink_output_dir)/ServiceWorkerGlobalScopeConstructors.idl',
], ],
'generated_global_constructors_header_files': [ 'generated_global_constructors_header_files': [
'<(SHARED_INTERMEDIATE_DIR)/blink/WindowConstructors.h', '<(blink_output_dir)/WindowConstructors.h',
'<(SHARED_INTERMEDIATE_DIR)/blink/WorkerGlobalScopeConstructors.h', '<(blink_output_dir)/WorkerGlobalScopeConstructors.h',
'<(SHARED_INTERMEDIATE_DIR)/blink/SharedWorkerGlobalScopeConstructors.h', '<(blink_output_dir)/SharedWorkerGlobalScopeConstructors.h',
'<(SHARED_INTERMEDIATE_DIR)/blink/DedicatedWorkerGlobalScopeConstructors.h', '<(blink_output_dir)/DedicatedWorkerGlobalScopeConstructors.h',
'<(SHARED_INTERMEDIATE_DIR)/ServiceWorkerGlobalScopeConstructors.h', '<(blink_output_dir)/ServiceWorkerGlobalScopeConstructors.h',
], ],
...@@ -167,23 +164,6 @@ ...@@ -167,23 +164,6 @@
'templates/interface.h', 'templates/interface.h',
'templates/methods.cpp', 'templates/methods.cpp',
], ],
'bindings_output_dir': '<(SHARED_INTERMEDIATE_DIR)/blink/bindings',
'conditions': [
# The bindings generator can skip writing generated files if they are
# identical to the already existing file, which avoids recompilation.
# However, a dependency (earlier build step) having a newer timestamp than
# an output (later build step) confuses some build systems, so only use
# this on ninja, which explicitly supports this use case (gyp turns all
# actions into ninja restat rules).
['"<(GENERATOR)"=="ninja"', {
'write_file_only_if_changed': '--write-file-only-if-changed 1',
}, {
'write_file_only_if_changed': '--write-file-only-if-changed 0',
}],
],
}, },
'targets': [ 'targets': [
...@@ -210,18 +190,19 @@ ...@@ -210,18 +190,19 @@
'scripts/generate_global_constructors.py', 'scripts/generate_global_constructors.py',
'--idl-files-list', '--idl-files-list',
'<(main_interface_idl_files_list)', '<(main_interface_idl_files_list)',
'<@(write_file_only_if_changed)', '--write-file-only-if-changed',
'<(write_file_only_if_changed)',
'--', '--',
'Window', 'Window',
'<(SHARED_INTERMEDIATE_DIR)/blink/WindowConstructors.idl', '<(blink_output_dir)/WindowConstructors.idl',
'WorkerGlobalScope', 'WorkerGlobalScope',
'<(SHARED_INTERMEDIATE_DIR)/blink/WorkerGlobalScopeConstructors.idl', '<(blink_output_dir)/WorkerGlobalScopeConstructors.idl',
'SharedWorkerGlobalScope', 'SharedWorkerGlobalScope',
'<(SHARED_INTERMEDIATE_DIR)/blink/SharedWorkerGlobalScopeConstructors.idl', '<(blink_output_dir)/SharedWorkerGlobalScopeConstructors.idl',
'DedicatedWorkerGlobalScope', 'DedicatedWorkerGlobalScope',
'<(SHARED_INTERMEDIATE_DIR)/blink/DedicatedWorkerGlobalScopeConstructors.idl', '<(blink_output_dir)/DedicatedWorkerGlobalScopeConstructors.idl',
'ServiceWorkerGlobalScope', 'ServiceWorkerGlobalScope',
'<(SHARED_INTERMEDIATE_DIR)/ServiceWorkerGlobalScopeConstructors.idl', '<(blink_output_dir)/ServiceWorkerGlobalScopeConstructors.idl',
], ],
'message': 'Generating IDL files for constructors on global objects', 'message': 'Generating IDL files for constructors on global objects',
}] }]
...@@ -245,7 +226,7 @@ ...@@ -245,7 +226,7 @@
'<@(generated_idl_files)', '<@(generated_idl_files)',
], ],
'outputs': [ 'outputs': [
'<(SHARED_INTERMEDIATE_DIR)/blink/InterfacesInfo.pickle', '<(blink_output_dir)/InterfacesInfo.pickle',
], ],
'action': [ 'action': [
'python', 'python',
...@@ -253,8 +234,9 @@ ...@@ -253,8 +234,9 @@
'--idl-files-list', '--idl-files-list',
'<(static_idl_files_list)', '<(static_idl_files_list)',
'--interfaces-info-file', '--interfaces-info-file',
'<(SHARED_INTERMEDIATE_DIR)/blink/InterfacesInfo.pickle', '<(blink_output_dir)/InterfacesInfo.pickle',
'<@(write_file_only_if_changed)', '--write-file-only-if-changed',
'<(write_file_only_if_changed)',
'--', '--',
# Generated files must be passed at command line # Generated files must be passed at command line
'<@(generated_idl_files)', '<@(generated_idl_files)',
...@@ -262,35 +244,6 @@ ...@@ -262,35 +244,6 @@
'message': 'Computing global information about IDL files', 'message': 'Computing global information about IDL files',
}] }]
}, },
################################################################################
{
'target_name': 'event_interfaces',
'type': 'none',
'dependencies': [
'interfaces_info',
],
'actions': [{
'action_name': 'generate_event_interfaces',
'inputs': [
'scripts/generate_event_interfaces.py',
'scripts/utilities.py',
'<(SHARED_INTERMEDIATE_DIR)/blink/InterfacesInfo.pickle',
],
'outputs': [
'<(SHARED_INTERMEDIATE_DIR)/blink/EventInterfaces.in',
],
'action': [
'python',
'scripts/generate_event_interfaces.py',
'--interfaces-info-file',
'<(SHARED_INTERMEDIATE_DIR)/blink/InterfacesInfo.pickle',
'--event-interfaces-file',
'<(SHARED_INTERMEDIATE_DIR)/blink/EventInterfaces.in',
'<@(write_file_only_if_changed)',
],
'message': 'Generating list of Event interfaces',
}]
},
################################################################################ ################################################################################
{ {
# A separate pre-caching step is *not required* to use lex/parse table # A separate pre-caching step is *not required* to use lex/parse table
...@@ -374,7 +327,7 @@ ...@@ -374,7 +327,7 @@
# [ImplementedAs]) changes, we rebuild all files, since we're not # [ImplementedAs]) changes, we rebuild all files, since we're not
# computing dependencies file-by-file in the build. # computing dependencies file-by-file in the build.
# This data is generally stable. # This data is generally stable.
'<(SHARED_INTERMEDIATE_DIR)/blink/InterfacesInfo.pickle', '<(blink_output_dir)/InterfacesInfo.pickle',
# Further, if any dependency (partial interface or implemented # Further, if any dependency (partial interface or implemented
# interface) changes, rebuild everything, since every IDL potentially # interface) changes, rebuild everything, since every IDL potentially
# depends on them, because we're not computing dependencies # depends on them, because we're not computing dependencies
...@@ -397,8 +350,9 @@ ...@@ -397,8 +350,9 @@
'--output-dir', '--output-dir',
'<(bindings_output_dir)', '<(bindings_output_dir)',
'--interfaces-info', '--interfaces-info',
'<(SHARED_INTERMEDIATE_DIR)/blink/InterfacesInfo.pickle', '<(blink_output_dir)/InterfacesInfo.pickle',
'<@(write_file_only_if_changed)', '--write-file-only-if-changed',
'<(write_file_only_if_changed)',
'<(RULE_INPUT_PATH)', '<(RULE_INPUT_PATH)',
], ],
'message': 'Generating binding from <(RULE_INPUT_PATH)', 'message': 'Generating binding from <(RULE_INPUT_PATH)',
...@@ -435,7 +389,6 @@ ...@@ -435,7 +389,6 @@
'type': 'none', 'type': 'none',
'dependencies': [ 'dependencies': [
'aggregate_generated_bindings', 'aggregate_generated_bindings',
'event_interfaces',
'individual_generated_bindings', 'individual_generated_bindings',
], ],
}, },
......
...@@ -41,7 +41,6 @@ The .in format is documented in build/scripts/in_file.py. ...@@ -41,7 +41,6 @@ The .in format is documented in build/scripts/in_file.py.
""" """
from optparse import OptionParser from optparse import OptionParser
import cPickle as pickle
import os import os
import posixpath import posixpath
import sys import sys
...@@ -59,15 +58,15 @@ source_dir = os.path.normpath(os.path.join(module_path, os.pardir, os.pardir)) ...@@ -59,15 +58,15 @@ source_dir = os.path.normpath(os.path.join(module_path, os.pardir, os.pardir))
def parse_options(): def parse_options():
parser = OptionParser() parser = OptionParser()
parser.add_option('--event-idl-files-list', help='file listing event IDL files')
parser.add_option('--event-interfaces-file', help='output file') parser.add_option('--event-interfaces-file', help='output file')
parser.add_option('--interfaces-info-file', help='output pickle file')
parser.add_option('--write-file-only-if-changed', type='int', help='if true, do not write an output file if it would be identical to the existing one, which avoids unnecessary rebuilds in ninja') parser.add_option('--write-file-only-if-changed', type='int', help='if true, do not write an output file if it would be identical to the existing one, which avoids unnecessary rebuilds in ninja')
options, args = parser.parse_args() options, args = parser.parse_args()
if options.event_idl_files_list is None:
parser.error('Must specify a file listing event IDL files using --event-idl-files-list.')
if options.event_interfaces_file is None: if options.event_interfaces_file is None:
parser.error('Must specify an output file using --event-interfaces-file.') parser.error('Must specify an output file using --event-interfaces-file.')
if options.interfaces_info_file is None:
parser.error('Must specify an input file using --interfaces-info-file.')
if options.write_file_only_if_changed is None: if options.write_file_only_if_changed is None:
parser.error('Must specify whether file is only written if changed using --write-file-only-if-changed.') parser.error('Must specify whether file is only written if changed using --write-file-only-if-changed.')
options.write_file_only_if_changed = bool(options.write_file_only_if_changed) options.write_file_only_if_changed = bool(options.write_file_only_if_changed)
...@@ -76,23 +75,13 @@ def parse_options(): ...@@ -76,23 +75,13 @@ def parse_options():
return options return options
def write_event_interfaces_file(interfaces_info, destination_filename, only_if_changed): def write_event_interfaces_file(event_idl_files, destination_filename, only_if_changed):
# Event interfaces are interfaces that inherit from Event, and Event itself
event_interfaces = set(
interface_name
for interface_name, interface_info in interfaces_info.iteritems()
if (interface_name == 'Event' or
(interface_info['ancestors'] and
interface_info['ancestors'][-1] == 'Event')))
def extended_attribute_string(name, value): def extended_attribute_string(name, value):
if name == 'RuntimeEnabled': if name == 'RuntimeEnabled':
value += 'Enabled' value += 'Enabled'
return name + '=' + value return name + '=' + value
def interface_line(interface_name): def interface_line(full_path):
full_path = interfaces_info[interface_name]['full_path']
relative_path_local, _ = os.path.splitext(os.path.relpath(full_path, source_dir)) relative_path_local, _ = os.path.splitext(os.path.relpath(full_path, source_dir))
relative_path_posix = relative_path_local.replace(os.sep, posixpath.sep) relative_path_posix = relative_path_local.replace(os.sep, posixpath.sep)
...@@ -108,8 +97,8 @@ def write_event_interfaces_file(interfaces_info, destination_filename, only_if_c ...@@ -108,8 +97,8 @@ def write_event_interfaces_file(interfaces_info, destination_filename, only_if_c
lines = ['namespace="Event"\n', lines = ['namespace="Event"\n',
'\n'] '\n']
interface_lines = [interface_line(interface_name) interface_lines = [interface_line(event_idl_file)
for interface_name in event_interfaces] for event_idl_file in event_idl_files]
interface_lines.sort() interface_lines.sort()
lines.extend(interface_lines) lines.extend(interface_lines)
write_file(''.join(lines), destination_filename, only_if_changed) write_file(''.join(lines), destination_filename, only_if_changed)
...@@ -119,9 +108,9 @@ def write_event_interfaces_file(interfaces_info, destination_filename, only_if_c ...@@ -119,9 +108,9 @@ def write_event_interfaces_file(interfaces_info, destination_filename, only_if_c
def main(): def main():
options = parse_options() options = parse_options()
with open(options.interfaces_info_file) as interfaces_info_file: with open(options.event_idl_files_list) as event_idl_files_list:
interfaces_info = pickle.load(interfaces_info_file) event_idl_files = [line.rstrip('\n') for line in event_idl_files_list]
write_event_interfaces_file(interfaces_info, write_event_interfaces_file(event_idl_files,
options.event_interfaces_file, options.event_interfaces_file,
options.write_file_only_if_changed) options.write_file_only_if_changed)
......
...@@ -45,7 +45,7 @@ ...@@ -45,7 +45,7 @@
'../..', '../..',
'..', '..',
'<(SHARED_INTERMEDIATE_DIR)/blink', '<(SHARED_INTERMEDIATE_DIR)/blink',
'<(SHARED_INTERMEDIATE_DIR)/blink/bindings', '<(bindings_output_dir)',
], ],
'conditions': [ 'conditions': [
...@@ -197,7 +197,7 @@ ...@@ -197,7 +197,7 @@
'target_name': 'debugger_script_source', 'target_name': 'debugger_script_source',
'type': 'none', 'type': 'none',
'variables': { 'variables': {
'input_file_path': '<(bindings_dir)/v8/DebuggerScript.js', 'input_file_path': '<(bindings_v8_dir)/DebuggerScript.js',
'output_file_path': '<(SHARED_INTERMEDIATE_DIR)/blink/DebuggerScriptSource.h', 'output_file_path': '<(SHARED_INTERMEDIATE_DIR)/blink/DebuggerScriptSource.h',
'character_array_name': 'DebuggerScriptSource_js', 'character_array_name': 'DebuggerScriptSource_js',
}, },
...@@ -209,7 +209,6 @@ ...@@ -209,7 +209,6 @@
'hard_dependency': 1, 'hard_dependency': 1,
'dependencies': [ 'dependencies': [
'webcore_prerequisites', 'webcore_prerequisites',
'../bindings/generated_bindings.gyp:generated_bindings',
'core_generated.gyp:make_core_generated', 'core_generated.gyp:make_core_generated',
'inspector_overlay_page', 'inspector_overlay_page',
'inspector_protocol_sources', 'inspector_protocol_sources',
...@@ -217,6 +216,7 @@ ...@@ -217,6 +216,7 @@
'injected_canvas_script_source', 'injected_canvas_script_source',
'injected_script_source', 'injected_script_source',
'debugger_script_source', 'debugger_script_source',
'../bindings/generated_bindings.gyp:generated_bindings',
'../platform/platform_generated.gyp:make_platform_generated', '../platform/platform_generated.gyp:make_platform_generated',
'../wtf/wtf.gyp:wtf', '../wtf/wtf.gyp:wtf',
'<(DEPTH)/gin/gin.gyp:gin', '<(DEPTH)/gin/gin.gyp:gin',
...@@ -234,12 +234,12 @@ ...@@ -234,12 +234,12 @@
], ],
'include_dirs': [ 'include_dirs': [
'<(SHARED_INTERMEDIATE_DIR)/blink', '<(SHARED_INTERMEDIATE_DIR)/blink',
'<(SHARED_INTERMEDIATE_DIR)/blink/bindings', '<(bindings_output_dir)',
'<@(webcore_include_dirs)', '<@(webcore_include_dirs)',
# FIXME: Remove these once the bindings script generates qualified # FIXME: Remove these once the bindings script generates qualified
# includes for these correctly. (Sequences don't work yet.) # includes for these correctly. (Sequences don't work yet.)
'<(bindings_dir)/v8/custom', '<(bindings_v8_dir)/custom',
'html', 'html',
'html/shadow', 'html/shadow',
'inspector', 'inspector',
...@@ -808,32 +808,32 @@ ...@@ -808,32 +808,32 @@
'INSIDE_BLINK', 'INSIDE_BLINK',
], ],
'include_dirs': [ 'include_dirs': [
'<(bindings_dir)/v8', # FIXME: Remove once http://crbug.com/236119 is fixed. '<(bindings_v8_dir)', # FIXME: Remove once http://crbug.com/236119 is fixed.
'testing', 'testing',
'testing/v8', 'testing/v8',
], ],
'sources': [ 'sources': [
'<@(webcore_testing_files)', '<@(webcore_testing_files)',
'<(SHARED_INTERMEDIATE_DIR)/blink/bindings/V8GCObservation.cpp', '<(bindings_output_dir)/V8GCObservation.cpp',
'<(SHARED_INTERMEDIATE_DIR)/blink/bindings/V8GCObservation.h', '<(bindings_output_dir)/V8GCObservation.h',
'<(SHARED_INTERMEDIATE_DIR)/blink/bindings/V8MallocStatistics.cpp', '<(bindings_output_dir)/V8MallocStatistics.cpp',
'<(SHARED_INTERMEDIATE_DIR)/blink/bindings/V8MallocStatistics.h', '<(bindings_output_dir)/V8MallocStatistics.h',
'<(SHARED_INTERMEDIATE_DIR)/blink/bindings/V8TypeConversions.cpp', '<(bindings_output_dir)/V8TypeConversions.cpp',
'<(SHARED_INTERMEDIATE_DIR)/blink/bindings/V8TypeConversions.h', '<(bindings_output_dir)/V8TypeConversions.h',
'<(SHARED_INTERMEDIATE_DIR)/blink/bindings/V8Internals.cpp', '<(bindings_output_dir)/V8Internals.cpp',
'<(SHARED_INTERMEDIATE_DIR)/blink/bindings/V8Internals.h', '<(bindings_output_dir)/V8Internals.h',
'<(SHARED_INTERMEDIATE_DIR)/blink/bindings/V8InternalProfilers.cpp', '<(bindings_output_dir)/V8InternalProfilers.cpp',
'<(SHARED_INTERMEDIATE_DIR)/blink/bindings/V8InternalProfilers.h', '<(bindings_output_dir)/V8InternalProfilers.h',
'<(SHARED_INTERMEDIATE_DIR)/blink/bindings/V8InternalSettings.cpp', '<(bindings_output_dir)/V8InternalSettings.cpp',
'<(SHARED_INTERMEDIATE_DIR)/blink/bindings/V8InternalSettings.h', '<(bindings_output_dir)/V8InternalSettings.h',
'<(SHARED_INTERMEDIATE_DIR)/blink/bindings/V8InternalSettingsGenerated.cpp', '<(bindings_output_dir)/V8InternalSettingsGenerated.cpp',
'<(SHARED_INTERMEDIATE_DIR)/blink/bindings/V8InternalSettingsGenerated.h', '<(bindings_output_dir)/V8InternalSettingsGenerated.h',
'<(SHARED_INTERMEDIATE_DIR)/blink/bindings/V8InternalRuntimeFlags.cpp', '<(bindings_output_dir)/V8InternalRuntimeFlags.cpp',
'<(SHARED_INTERMEDIATE_DIR)/blink/bindings/V8InternalRuntimeFlags.h', '<(bindings_output_dir)/V8InternalRuntimeFlags.h',
'<(SHARED_INTERMEDIATE_DIR)/blink/bindings/V8LayerRect.cpp', '<(bindings_output_dir)/V8LayerRect.cpp',
'<(SHARED_INTERMEDIATE_DIR)/blink/bindings/V8LayerRect.h', '<(bindings_output_dir)/V8LayerRect.h',
'<(SHARED_INTERMEDIATE_DIR)/blink/bindings/V8LayerRectList.cpp', '<(bindings_output_dir)/V8LayerRectList.cpp',
'<(SHARED_INTERMEDIATE_DIR)/blink/bindings/V8LayerRectList.h', '<(bindings_output_dir)/V8LayerRectList.h',
], ],
'sources/': [ 'sources/': [
['exclude', 'testing/js'], ['exclude', 'testing/js'],
......
...@@ -475,6 +475,43 @@ ...@@ -475,6 +475,43 @@
'workers/AbstractWorker.idl', 'workers/AbstractWorker.idl',
'xml/DocumentXPathEvaluator.idl', 'xml/DocumentXPathEvaluator.idl',
], ],
# interfaces that inherit from Event, including Event itself
'core_event_idl_files': [
'css/CSSFontFaceLoadEvent.idl',
'events/AnimationPlayerEvent.idl',
'events/ApplicationCacheErrorEvent.idl',
'events/AutocompleteErrorEvent.idl',
'events/BeforeUnloadEvent.idl',
'events/CompositionEvent.idl',
'events/CustomEvent.idl',
'events/ErrorEvent.idl',
'events/Event.idl',
'events/FocusEvent.idl',
'events/HashChangeEvent.idl',
'events/KeyboardEvent.idl',
'events/MessageEvent.idl',
'events/MouseEvent.idl',
'events/MutationEvent.idl',
'events/OverflowEvent.idl',
'events/PageTransitionEvent.idl',
'events/PopStateEvent.idl',
'events/ProgressEvent.idl',
'events/ResourceProgressEvent.idl',
'events/SecurityPolicyViolationEvent.idl',
'events/TextEvent.idl',
'events/TouchEvent.idl',
'events/TransitionEvent.idl',
'events/UIEvent.idl',
'events/WebKitAnimationEvent.idl',
'events/WheelEvent.idl',
'html/MediaKeyEvent.idl',
'html/canvas/WebGLContextEvent.idl',
'html/track/TrackEvent.idl',
'speech/SpeechInputEvent.idl',
'storage/StorageEvent.idl',
'svg/SVGZoomEvent.idl',
'xml/XMLHttpRequestProgressEvent.idl',
],
'webcore_files': [ 'webcore_files': [
'Init.cpp', 'Init.cpp',
'Init.h', 'Init.h',
......
...@@ -95,6 +95,7 @@ ...@@ -95,6 +95,7 @@
'hard_dependency': 1, 'hard_dependency': 1,
'dependencies': [ 'dependencies': [
'generated_testing_idls', 'generated_testing_idls',
'../bindings/core_bindings_generated.gyp:core_bindings_generated',
'../config.gyp:config', '../config.gyp:config',
], ],
'sources': [ 'sources': [
......
...@@ -226,6 +226,31 @@ ...@@ -226,6 +226,31 @@
'webdatabase/WorkerGlobalScopeWebDatabase.idl', 'webdatabase/WorkerGlobalScopeWebDatabase.idl',
'webmidi/NavigatorWebMIDI.idl', 'webmidi/NavigatorWebMIDI.idl',
], ],
# interfaces that inherit from Event
'modules_event_idl_files': [
'device_orientation/DeviceMotionEvent.idl',
'device_orientation/DeviceOrientationEvent.idl',
'encryptedmedia/MediaKeyMessageEvent.idl',
'encryptedmedia/MediaKeyNeededEvent.idl',
'gamepad/GamepadEvent.idl',
'indexeddb/IDBVersionChangeEvent.idl',
'mediastream/MediaStreamEvent.idl',
'mediastream/MediaStreamTrackEvent.idl',
'mediastream/RTCDTMFToneChangeEvent.idl',
'mediastream/RTCDataChannelEvent.idl',
'mediastream/RTCIceCandidateEvent.idl',
'serviceworkers/FetchEvent.idl',
'serviceworkers/InstallEvent.idl',
'serviceworkers/InstallPhaseEvent.idl',
'speech/SpeechRecognitionError.idl',
'speech/SpeechRecognitionEvent.idl',
'speech/SpeechSynthesisEvent.idl',
'webaudio/AudioProcessingEvent.idl',
'webaudio/OfflineAudioCompletionEvent.idl',
'webmidi/MIDIConnectionEvent.idl',
'webmidi/MIDIMessageEvent.idl',
'websockets/CloseEvent.idl',
],
'modules_files': [ 'modules_files': [
'<@(extra_blink_module_files)', '<@(extra_blink_module_files)',
'battery/BatteryManager.cpp', 'battery/BatteryManager.cpp',
......
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