Home | History | Annotate | Download | only in bindings
      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
     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 InitializedByEventConstructor
     64 LegacyTreatAsPartialInterface
     65 LogActivity=|GetterOnly|SetterOnly
     66 LogAllWorlds
     67 LogPreviousValue
     68 MeasureAs=*
     69 NamedConstructor=*
     70 NoInterfaceObject
     71 NotEnumerable
     72 OverrideBuiltins
     73 PartialInterfaceImplementedAs=*
     74 # Valid values for [PerContextEnabled] are Context Features, in
     75 # ContextFeatures::FeatureType in Source/core/dom/ContextFeatures.h
     76 PerContextEnabled=*
     77 PerWorldBindings
     78 PrimaryGlobal=|*
     79 PutForwards=*
     80 RaisesException=|Getter|Setter|Constructor
     81 ReadOnly
     82 Reflect=|*
     83 ReflectEmpty=*
     84 ReflectInvalid=*
     85 ReflectMissing=*
     86 ReflectOnly=*
     87 Replaceable
     88 # Valid values for [RuntimeEnabled] are the Runtime Enabled Features, listed in
     89 # Source/core/page/RuntimeEnabledFeatures.in
     90 RuntimeEnabled=*
     91 SetWrapperReferenceFrom=*
     92 SetWrapperReferenceTo=*
     93 SetterCallWith=ExecutionContext|ScriptArguments|ActiveWindow|FirstWindow
     94 SpecialWrapFor=*
     95 TreatNullAs=NullString
     96 TreatReturnedNullStringAs=Null|Undefined
     97 TreatUndefinedAs=NullString
     98 TypeChecking=Interface|Nullable|Unrestricted
     99 URL
    100 Unforgeable
    101 WillBeGarbageCollected
    102