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

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

Issue 1257613003: bindings: Supports inheritance of [Unforgeable] attributes as accessor-type properties. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Minor fix Created 5 years, 5 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/compute_interfaces_info_overall.py
diff --git a/Source/bindings/scripts/compute_interfaces_info_overall.py b/Source/bindings/scripts/compute_interfaces_info_overall.py
index 928a911cd9c49fa7ec90f5ebb48ab0ed5d9ad3aa..d24161f0e6e4b29770bd684cc629d96bfc976b01 100755
--- a/Source/bindings/scripts/compute_interfaces_info_overall.py
+++ b/Source/bindings/scripts/compute_interfaces_info_overall.py
@@ -86,7 +86,7 @@ import cPickle as pickle
import optparse
import sys
-from utilities import idl_filename_to_component, read_pickle_files, write_pickle_file
+from utilities import idl_filename_to_component, read_pickle_files, write_pickle_file, merge_dict_recursively
INHERITED_EXTENDED_ATTRIBUTES = set([
'ActiveDOMObject',
@@ -207,9 +207,13 @@ def compute_interfaces_info_overall(info_individuals):
Information is stored in global interfaces_info.
"""
+ is_first_info = True
for info in info_individuals:
- # No overlap between interface names, so ok to use dict.update
- interfaces_info.update(info['interfaces_info'])
+ if is_first_info:
bashi 2015/07/28 00:38:47 Could you explain what you want to do by this chan
Yuki 2015/07/29 08:16:24 It turned out that it's totally unnecessary. Remo
+ is_first_info = False
+ interfaces_info.update(info['interfaces_info'])
+ else:
+ merge_dict_recursively(interfaces_info, info['interfaces_info'])
# Interfaces in one component may have partial interfaces in
# another component. This is ok (not a layering violation), since
# partial interfaces are used to *extend* interfaces.
@@ -315,7 +319,6 @@ def compute_interfaces_info_overall(info_individuals):
del interface_info['extended_attributes']
del interface_info['has_union_types']
del interface_info['is_legacy_treat_as_partial_interface']
- del interface_info['parent']
# Compute global_type_info to interfaces_info so that idl_compiler does
# not need to always calculate the info in __init__.

Powered by Google App Engine
This is Rietveld 408576698