1 # 2 # This file describes all Blink IDL extended attributes and allowed values. 3 # If any IDL file uses an extended attribute or values not listed below, the 4 # build will fail. 5 # If you would like to add a new extended attribute or value, please: 6 # (1) add the extended attribute or value to this file 7 # (2) add an explanation to the Blink IDL extended attributes document: 8 # http://www.chromium.org/blink/webidl/blink-idl-extended-attributes 9 # (3) add appropriate test cases to run-bindings-tests 10 # 11 # The syntax of this file is as follows: 12 # - One extended attribute per one line: Name and (optionally) Values. 13 # - "Attr" means that the Attr does not take a value, i.e. [Attr]. 14 # - "Attr=X" means that Attr takes a required value, which must be X; 15 # i.e. [Attr=X]. 16 # - "Attr=X|Y|Z" means that Attr takes a required value, and the valid 17 # values are X, Y, and Z, and combinations thereof; 18 # e.g. [Attr=X], [Attr=Y], [Attr=X|Z]. 19 # The separator must be | or &, so [Attr=X&Z] is also valid; the 20 # separator makes a difference for Conditional, but otherwise is simply 21 # a style convention. 22 # - "Attr=|X|Y|Z" means that Attr takes an optional value, whose valid 23 # values (if present) are X, Y, and Z, and combinations thereof; e.g. 24 # [Attr], [Attr=X], [Attr=Y], [Attr=X|Z], [Attr=X|Y|Z], [Attr=X&Z]. 25 # Note that including an empty value in the list, as in [Attr=X||Y], 26 # is NOT valid: the value is optional, but empty values are not allowed. 27 # - "Attr=*" means that Attr takes a required value, which can be 28 # arbitrary, and combinations thereof, e.g. [Attr=IndexedDB], 29 # [Attr=DeleteFunction], [Attr=X|Y]. 30 # - "Attr=|*" means that Attr takes an optional value, which can be 31 # arbitrary, e.g. [Attr], [Attr=X]. 32 # - "Attr=X|*" means that Attr takes an required value, which can be 33 # arbitrary, but that "X" is standard, e.g. [Attr=X], [Attr=Foo]. 34 # 35 36 ActiveDOMObject 37 CachedAttribute=* 38 CallWith=ExecutionContext|ScriptState|ScriptArguments|ActiveWindow|FirstWindow|ThisValue 39 CheckSecurity=Frame|Node|Window 40 Clamp 41 Conditional=* 42 Constructor 43 # FIXME: remove [ConstructorCallWith=Document], as can instead use 44 # [ConstructorCallWith=ExecutionContext] + toDocument(executionContext) 45 ConstructorCallWith=ExecutionContext|Document 46 Custom=|Getter|Setter|LegacyCallAsFunction|ToV8|VisitDOMWrapper|Wrap|PropertyGetter|PropertyEnumerator|PropertyQuery 47 CustomConstructor 48 CustomElementCallbacks 49 Default=Undefined 50 DependentLifetime 51 DeprecateAs=* 52 DoNotCheckConstants 53 DoNotCheckSecurity=|Setter 54 DoNotCheckSignature 55 EnforceRange 56 EventConstructor 57 ExposeJSAccessors 58 Exposed=* 59 GarbageCollected 60 Global=|* 61 Immutable 62 ImplementedAs=* 63 ImplementedInPrivateScript 64 InitializedByEventConstructor 65 Iterable 66 LegacyTreatAsPartialInterface 67 LogActivity=|GetterOnly|SetterOnly 68 LogAllWorlds 69 MeasureAs=* 70 NamedConstructor=* 71 NoImplHeader 72 NoInterfaceObject 73 NotEnumerable 74 NotScriptWrappable 75 OnlyExposedToPrivateScript 76 OverrideBuiltins 77 PartialInterfaceImplementedAs=* 78 # Valid values for [PerContextEnabled] are Context Features, in 79 # ContextFeatures::FeatureType in Source/core/dom/ContextFeatures.h 80 PerContextEnabled=* 81 PerWorldBindings 82 PrimaryGlobal=|* 83 PutForwards=* 84 RaisesException=|Getter|Setter|Constructor 85 Reflect=|* 86 ReflectEmpty=* 87 ReflectInvalid=* 88 ReflectMissing=* 89 ReflectOnly=* 90 Replaceable 91 # Valid values for [RuntimeEnabled] are the Runtime Enabled Features, listed in 92 # Source/core/page/RuntimeEnabledFeatures.in 93 RuntimeEnabled=* 94 SetWrapperReferenceFrom=* 95 SetWrapperReferenceTo=* 96 SetterCallWith=ExecutionContext|ScriptArguments|ActiveWindow|FirstWindow 97 SpecialWrapFor=* 98 TreatNullAs=NullString|EmptyString 99 TreatReturnedNullStringAs=Null|Undefined 100 TreatUndefinedAs=NullString 101 TypeChecking=Interface|Unrestricted 102 URL 103 Unforgeable 104 WillBeGarbageCollected 105