# # 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=* GarbageCollected Global=|* Immutable ImplementedAs=* ImplementedInPrivateScript InitializedByEventConstructor Iterable LegacyTreatAsPartialInterface LogActivity=|GetterOnly|SetterOnly LogAllWorlds MeasureAs=* NamedConstructor=* NoImplHeader NoInterfaceObject NotEnumerable NotScriptWrappable OnlyExposedToPrivateScript OverrideBuiltins PartialInterfaceImplementedAs=* # Valid values for [PerContextEnabled] are Context Features, in # ContextFeatures::FeatureType in Source/core/dom/ContextFeatures.h PerContextEnabled=* PerWorldBindings PrimaryGlobal=|* PutForwards=* RaisesException=|Getter|Setter|Constructor Reflect=|* ReflectEmpty=* ReflectInvalid=* ReflectMissing=* ReflectOnly=* Replaceable # Valid values for [RuntimeEnabled] are the Runtime Enabled Features, listed in # Source/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 WillBeGarbageCollected