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

Unified Diff: Source/bindings/scripts/interface_dependency_resolver.py

Issue 203193015: Bindings: inherit enums and callbacks from partial interface files. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 9 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/interface_dependency_resolver.py
diff --git a/Source/bindings/scripts/interface_dependency_resolver.py b/Source/bindings/scripts/interface_dependency_resolver.py
index 5fe6ddae85acf292de890543363c56f17a8d5418..fb858a14562c186f1f59bc70159712e1cd558a9f 100644
--- a/Source/bindings/scripts/interface_dependency_resolver.py
+++ b/Source/bindings/scripts/interface_dependency_resolver.py
@@ -106,6 +106,7 @@ class InterfaceDependencyResolver(object):
interface_info['inherited_extended_attributes'])
merge_interface_dependencies(target_interface,
+ definitions,
interface_info['dependencies_full_paths'],
self.reader)
@@ -115,17 +116,19 @@ class InterfaceDependencyResolver(object):
definitions.interfaces.update(referenced_definitions.interfaces)
-def merge_interface_dependencies(target_interface, dependency_idl_filenames, reader):
- """Merge dependencies ('partial interface' and 'implements') in dependency_idl_filenames into target_interface.
+def merge_interface_dependencies(target_interface, definitions, dependency_idl_filenames, reader):
+ """Merge dependencies ('partial interface' and 'implements') in dependency_idl_filenames into target_interface and definitions.
- No return: modifies target_interface in place.
+ No return: modifies target_interface and definitions in place.
"""
# Sort so order consistent, so can compare output from run to run.
for dependency_idl_filename in sorted(dependency_idl_filenames):
dependency_interface_basename, _ = os.path.splitext(os.path.basename(dependency_idl_filename))
- definitions = reader.read_idl_file(dependency_idl_filename)
+ dependency_definitions = reader.read_idl_file(dependency_idl_filename)
+
+ definitions.merge(dependency_definitions)
- for dependency_interface in definitions.interfaces.itervalues():
+ for dependency_interface in dependency_definitions.interfaces.itervalues():
# Dependency files contain either partial interfaces for
# the (single) target interface, in which case the interface names
# must agree, or interfaces that are implemented by the target

Powered by Google App Engine
This is Rietveld 408576698