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

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

Issue 792903004: IDL: Support extended attributes on iterable<>, maplike<> and setlike<> (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 5 years, 11 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/v8_interface.py
diff --git a/Source/bindings/scripts/v8_interface.py b/Source/bindings/scripts/v8_interface.py
index d5a49707b12e2107cba326df22c406938821575b..d87213671e8375bc3323e45d605b1f6e9d4f9b77 100644
--- a/Source/bindings/scripts/v8_interface.py
+++ b/Source/bindings/scripts/v8_interface.py
@@ -342,11 +342,25 @@ def interface_context(interface):
and (interface.iterable or interface.maplike or interface.setlike
or 'Iterable' in extended_attributes)):
+ use_extended_attributes = {}
haraken 2015/01/14 11:38:47 used_extended_attributes ?
Jens Widell 2015/01/14 11:50:45 Works too. :-)
Jens Widell 2015/01/14 12:00:02 Done.
+
+ if interface.iterable:
+ use_extended_attributes.update(interface.iterable.extended_attributes)
+ elif interface.maplike:
haraken 2015/01/14 11:38:47 elif => if ?
Jens Widell 2015/01/14 11:50:45 Wouldn't change behavior, since there can only be
haraken 2015/01/14 12:53:33 Makes sense.
+ use_extended_attributes.update(interface.maplike.extended_attributes)
+ elif interface.setlike:
haraken 2015/01/14 11:38:47 elif => if ?
+ use_extended_attributes.update(interface.setlike.extended_attributes)
+
+ if 'RaisesException' not in use_extended_attributes:
+ use_extended_attributes['RaisesException'] = None
+ if 'CallWith' not in use_extended_attributes:
+ use_extended_attributes['CallWith'] = 'ScriptState'
haraken 2015/01/14 11:38:47 This rule looks a bit hacky. Do we need to support
Jens Widell 2015/01/14 11:50:45 We don't need it right now, for sure, since there'
+
def generated_iterator_method(name):
return generated_method(
return_type=IdlType('Iterator'),
name=name,
- extended_attributes={'RaisesException': None, 'CallWith': 'ScriptState'})
+ extended_attributes=use_extended_attributes)
iterator_method = generated_iterator_method('iterator')

Powered by Google App Engine
This is Rietveld 408576698