| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
 100
 101
 102
 103
 
 | #
# 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|ScriptState|Document
Custom=|Getter|Setter|LegacyCallAsFunction|ToV8|VisitDOMWrapper|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
OnlyExposedToPrivateScript
OverrideBuiltins
PartialInterfaceImplementedAs=*
# Valid values for [PerContextEnabled] are Context Features, in
# ContextFeatures::FeatureType in Source/core/dom/ContextFeatures.h
PerContextEnabled=*
PermissiveDictionaryConversion
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
TreatNullAs=NullString|EmptyString
TreatReturnedNullStringAs=Null|Undefined
TreatUndefinedAs=NullString
TypeChecking=Interface|Unrestricted
URL
Unforgeable
WillBeGarbageCollected
 |