| # |
| # This file describes all Blink IDL extended attributes and allowed values. |
| # If any IDL file uses an extended attribute or values not listed below, the |
| # build will fail. |
| # If you would like to add a new extended attribute or value, please: |
| # (1) add the extended attribute or value to this file |
| # (2) add an explanation to the Blink IDL extended attributes document: |
| # http://www.chromium.org/blink/webidl/blink-idl-extended-attributes |
| # (3) add appropriate test cases to run-bindings-tests |
| # |
| # The syntax of this file is as follows: |
| # - One extended attribute per one line: Name and (optionally) Values. |
| # - "Attr" means that the Attr does not take a value, i.e. [Attr]. |
| # - "Attr=X" means that Attr takes a required value, which must be X; |
| # i.e. [Attr=X]. |
| # - "Attr=X|Y|Z" means that Attr takes a required value, and the valid |
| # values are X, Y, and Z, and combinations thereof; |
| # e.g. [Attr=X], [Attr=Y], [Attr=X|Z]. |
| # The separator must be | or &, so [Attr=X&Z] is also valid; the |
| # separator makes a difference for Conditional, but otherwise is simply |
| # a style convention. |
| # - "Attr=|X|Y|Z" means that Attr takes an optional value, whose valid |
| # values (if present) are X, Y, and Z, and combinations thereof; e.g. |
| # [Attr], [Attr=X], [Attr=Y], [Attr=X|Z], [Attr=X|Y|Z], [Attr=X&Z]. |
| # Note that including an empty value in the list, as in [Attr=X||Y], |
| # is NOT valid: the value is optional, but empty values are not allowed. |
| # - "Attr=*" means that Attr takes a required value, which can be |
| # arbitrary and combinations thereof, e.g. [Attr=IndexedDB], |
| # [Attr=DeleteFunction], [Attr=X|Y]. |
| # - "Attr=|*" means that Attr takes an optional value, which can be |
| # arbitrary, e.g. [Attr], [Attr=X]. |
| # - "Attr=X|*" means that Attr takes an required value, which can be |
| # arbitrary, but that "X" is standard, e.g. [Attr=X], [Attr=Foo]. |
| # |
| |
| ActiveDOMObject |
| ActivityLogging=ForAllWorlds|GetterForAllWorlds|SetterForAllWorlds|ForIsolatedWorlds|GetterForIsolatedWorlds|SetterForIsolatedWorlds |
| CachedAttribute=* |
| CallWith=ExecutionContext|ScriptState|ScriptArguments|ActiveWindow|FirstWindow|ThisValue |
| CheckSecurity=Frame|Node |
| Clamp |
| Conditional=* |
| Constructor |
| # FIXME: remove [ConstructorCallWith=Document], as can instead use |
| # [ConstructorCallWith=ExecutionContext] + toDocument(executionContext) |
| ConstructorCallWith=ExecutionContext|Document |
| Custom=|Getter|Setter|LegacyCallAsFunction|ToV8|VisitDOMWrapper|Wrap |
| CustomConstructor |
| CustomElementCallbacks |
| CustomEnumerateProperty |
| Default=NullString|Undefined |
| DependentLifetime |
| DeprecateAs=* |
| DoNotCheckConstants |
| DoNotCheckSecurity=|Setter |
| DoNotCheckSignature |
| EnforceRange |
| EventConstructor |
| ExposeJSAccessors |
| GenerateVisitDOMWrapper=document|element|owner|ownerNode |
| GlobalContext=Window|WorkerGlobalScope|SharedWorkerGlobalScope|DedicatedWorkerGlobalScope|ServiceWorkerGlobalScope |
| Immutable |
| ImplementedAs=* |
| InitializedByEventConstructor |
| # FIXME: We should remove this extended attribute once the needed refactoring is complete. |
| LegacyImplementedInBaseClass |
| MeasureAs=* |
| NamedConstructor=* |
| NoInterfaceObject |
| NotEnumerable |
| OverrideBuiltins |
| # Valid values for [PerContextEnabled] are Context Features, in |
| # ContextFeatures::FeatureType in Source/core/dom/ContextFeatures.h |
| PerContextEnabled=* |
| PerWorldBindings |
| PutForwards=* |
| RaisesException=|Getter|Setter|Constructor |
| ReadOnly |
| Reflect=|* |
| Replaceable |
| # Valid values for [RuntimeEnabled] are the Runtime Enabled Features, listed in |
| # Source/core/page/RuntimeEnabledFeatures.in |
| RuntimeEnabled=* |
| SetReference=* |
| SetterCallWith=ExecutionContext|ScriptState|ScriptArguments|ActiveWindow|FirstWindow |
| SpecialWrapFor=* |
| StrictTypeChecking |
| TreatNullAs=NullString|* |
| TreatReturnedNullStringAs=Null|Undefined |
| TreatUndefinedAs=NullString|* |
| URL |
| Unforgeable |