#
# This file describes all IDL attributes.
# If any IDL file uses an IDL attribute not listed below, the WebKit build will fail.
# If you want to add a new IDL attribute, you need to
#     (1) add the IDL attribute to this file
#     (2) add the explanation to the WebKit IDL document (https://trac.webkit.org/wiki/WebKitIDL)
#     (3) add test cases to run-bindings-tests
#
# The syntax of this file is as follows:
#     - You can write one IDL attribute per one line.
#     - "ATTR" means that the IDL attribute ATTR does not take any argument; i.e. [ATTR].
#     - "ATTR=X" means that the IDL attribute ATTR always takes one argument X; i.e. [ATTR=X].
#     - "ATTR=X|Y|Z" means that the IDL attribute ATTR takes one or more arguments
#       and the arguments are X, Y or Z; e.g. [ATTR=X], [ATTR=Y], [ATTR=X|Z], [ATTR=X|Y|Z].
#     - "ATTR=|X|Y|Z" means that the IDL attribute ATTR can take arguments
#       and the arguments are X, Y or Z; e.g. [ATTR], [ATTR=X], [ATTR=Y], [ATTR=X|Z], [ATTR=X|Y|Z].
#     - "ATTR=*" means that the IDL attribute ATTR can take arbitrary arguments;
#       e.g. [ATTR=INDEXED_DATABASE], [ATTR=deleteFunction].
#

ActiveDOMObject
CPPPureInterface
CachedAttribute
CallWith=ScriptExecutionContext|ScriptState|ScriptArguments|CallStack
Callback
CheckSecurity
CheckSecurityForNode
Clamp
Conditional=*
Constructor
ConstructorConditional=*
ConstructorParameters=*
ConstructorRaisesException
ConstructorTemplate=Event|TypedArray
Custom
CustomCall
CustomConstructor
CustomDeleteProperty
CustomEnumerateProperty
CustomGetOwnPropertySlot
CustomGetter
CustomIndexedSetter
CustomIsReachable
CustomNamedGetter
CustomNamedSetter
CustomPutFunction
CustomReturn
CustomSetter
CustomToJSObject
Deletable
DoNotCheckConstants
DoNotCheckSecurity
DoNotCheckSecurityOnGetter
DoNotCheckSecurityOnSetter
EventTarget
ExtendsDOMGlobalObject
GenerateIsReachable=ImplDocument|ImplElementRoot|ImplOwnerNodeRoot
Immutable
ImplementationLacksVTable
ImplementationNamespace=*
ImplementedAs=*
IndexedGetter
InitializedByEventConstructor
InterfaceName=*
IsIndex
IsWorkerContext
JSCustom
JSCustomConstructor
JSCustomDefineOwnProperty
JSCustomDefineOwnPropertyOnPrototype
JSCustomFinalize
JSCustomGetOwnPropertySlotAndDescriptor
JSCustomGetter
JSCustomHeader
JSCustomIsReachable
JSCustomMarkFunction
JSCustomNamedGetterOnPrototype
JSCustomPushEventHandlerScope
JSCustomSetter
JSCustomToJSObject
JSCustomToNativeObject
JSGenerateIsReachable=|Impl|ImplContext|ImplDocument|ImplElementRoot|ImplFrame|ImplOwnerNodeRoot
JSGenerateToJSObject
JSGenerateToNativeObject
JSInlineGetOwnPropertySlot
JSLegacyParent=*
JSNoStaticTables
JSWindowEventListener
MasqueradesAsUndefined
NamedConstructor=*
NamedGetter
NotEnumerable
NumericIndexedGetter
ObjCCustomImplementation
ObjCLegacyUnnamedParameters
ObjCPolymorphic
ObjCProtocol
OmitConstructor
Optional=|DefaultIsNullString|DefaultIsUndefined
PassContext
PassThisToCallback=*
Reflect=*
Replaceable
ReplaceableConstructor
ReturnNewObject
StrictTypeChecking
Supplemental=*
SuppressToJSObject
TransferList=*
TreatNullAs=NullString
TreatReturnedNullStringAs=Null|Undefined
TreatUndefinedAs=NullString
TypedArray=*
URL
V8CacheAttributeForGC
V8Custom
V8CustomConstructor
V8CustomGetter
V8CustomIsReachable
V8CustomSetter
V8CustomToJSObject
V8DependentLifetime
V8DoNotCheckSignature
V8EnabledAtRuntime=*
V8EnabledPerContext=*
V8GenerateIsReachable=ImplDocument|ImplElementRoot|ImplOwnerRoot|ImplOwnerNodeRoot
V8NoWrapperCache
V8MeasureAs=*
V8ReadOnly
V8SkipVTableValidation
V8Unforgeable
