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
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
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;
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
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].
37 ActivityLogging=ForAllWorlds|GetterForAllWorlds|SetterForAllWorlds|ForIsolatedWorlds|GetterForIsolatedWorlds|SetterForIsolatedWorlds
39 CallWith=ExecutionContext|ScriptState|ScriptArguments|ActiveWindow|FirstWindow|ThisValue
40 CheckSecurity=Frame|Node
44 # FIXME: remove [ConstructorCallWith=Document], as can instead use
45 # [ConstructorCallWith=ExecutionContext] + toDocument(executionContext)
46 ConstructorCallWith=ExecutionContext|Document
47 Custom=|Getter|Setter|LegacyCallAsFunction|ToV8|VisitDOMWrapper|Wrap|PropertyGetter|PropertyEnumerator|PropertyQuery
49 CustomElementCallbacks
50 Default=NullString|Undefined
54 DoNotCheckSecurity=|Setter
59 WillBeGarbageCollected
60 GlobalContext=Window|WorkerGlobalScope|SharedWorkerGlobalScope|DedicatedWorkerGlobalScope|ServiceWorkerGlobalScope
63 ImplementedInBaseClass
64 InitializedByEventConstructor
70 # Valid values for [PerContextEnabled] are Context Features, in
71 # ContextFeatures::FeatureType in Source/core/dom/ContextFeatures.h
75 RaisesException=|Getter|Setter|Constructor
83 # Valid values for [RuntimeEnabled] are the Runtime Enabled Features, listed in
84 # Source/core/page/RuntimeEnabledFeatures.in
86 SetWrapperReferenceFrom=*
87 SetWrapperReferenceTo=*
88 SetterCallWith=ExecutionContext|ScriptState|ScriptArguments|ActiveWindow|FirstWindow
91 TreatNullAs=NullString
92 TreatReturnedNullStringAs=Null|Undefined
93 TreatUndefinedAs=NullString