|  | # | 
|  | # 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 | 
|  | CachedAttribute=* | 
|  | CallWith=ExecutionContext|ScriptState|ScriptArguments|ActiveWindow|FirstWindow|ThisValue | 
|  | CheckSecurity=Frame|Node|Window | 
|  | 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|PropertyGetter|PropertyEnumerator|PropertyQuery | 
|  | CustomConstructor | 
|  | CustomElementCallbacks | 
|  | Default=Undefined | 
|  | DependentLifetime | 
|  | DeprecateAs=* | 
|  | DoNotCheckConstants | 
|  | DoNotCheckSecurity=|Setter | 
|  | DoNotCheckSignature | 
|  | EnforceRange | 
|  | EventConstructor | 
|  | ExposeJSAccessors | 
|  | Exposed=* | 
|  | Global=|* | 
|  | Immutable | 
|  | ImplementedAs=* | 
|  | InitializedByEventConstructor | 
|  | Iterable | 
|  | LegacyTreatAsPartialInterface | 
|  | LogPreviousValue | 
|  | MeasureAs=* | 
|  | NamedConstructor=* | 
|  | NoImplHeader | 
|  | NoInterfaceObject | 
|  | NotEnumerable | 
|  | NotScriptWrappable | 
|  | OverrideBuiltins | 
|  | PartialInterfaceImplementedAs=* | 
|  | PerWorldBindings | 
|  | PrimaryGlobal=|* | 
|  | PutForwards=* | 
|  | RaisesException=|Getter|Setter|Constructor | 
|  | Reflect=|* | 
|  | ReflectEmpty=* | 
|  | ReflectInvalid=* | 
|  | ReflectMissing=* | 
|  | ReflectOnly=* | 
|  | Replaceable | 
|  | # Valid values for [RuntimeEnabled] are the Runtime Enabled Features, listed in | 
|  | # engine/core/page/RuntimeEnabledFeatures.in | 
|  | RuntimeEnabled=* | 
|  | SetWrapperReferenceFrom=* | 
|  | SetWrapperReferenceTo=* | 
|  | SetterCallWith=ExecutionContext|ScriptArguments|ActiveWindow|FirstWindow | 
|  | SpecialWrapFor=* | 
|  | TreatNullAs=NullString|EmptyString | 
|  | TreatReturnedNullStringAs=Null|Undefined | 
|  | TreatUndefinedAs=NullString | 
|  | TypeChecking=Interface|Unrestricted | 
|  | URL | 
|  | Unforgeable |