#
# 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
AtomicString
CachedAttribute
CallbackNeedsOperatorEqual
Callback=FunctionOnly
CallNamedSetterOnlyForSupportedProperties
CallWith=Document|ScriptExecutionContext|ScriptState|ScriptArguments|CallStack|ActiveWindow|FirstWindow|IncumbentWindow|IncumbentDocument|ResponsibleDocument|thisObject
CEReactions=*
CheckSecurity
CheckSecurityForNode
Clamp
Conditional=*
ConstantsScope=*
Constructor
ConstructorCallWith=Document|ScriptExecutionContext|ScriptState
ConstructorRaisesException
ConstructorTemplate=Event|TypedArray
Custom
CustomGetCallData
CustomConstructor
CustomDefineOwnProperty
CustomDefineOwnPropertyOnPrototype
CustomDeleteProperty
CustomGetOwnPropertyNames
CustomGetOwnPropertySlot
CustomGetOwnPropertySlotByIndex
CustomGetOwnPropertySlotAndDescriptor
CustomGetPrototype
CustomGetter
CustomIsReachable
CustomNamedGetterOnPrototype
CustomNamedSetter
CustomPreventExtensions
CustomProxyToJSObject
CustomPushEventHandlerScope
CustomPut
CustomSetter
CustomToJSObject
CustomToStringName
DefaultDefineOwnProperty
DoNotCheckConstants
DoNotCheckSecurity
DoNotCheckSecurityOnGetter
DoNotCheckSecurityOnSetter
DocumentEventHandler
EnabledAtRuntime=*
EnabledBySetting=*
EnabledForWorld=*
Exposed=*
ExportToWrappedFunction
ForwardDeclareInHeader
GenerateIsReachable=*
GetterMayThrowException
Global=*
Immutable
ImplementationLacksVTable
ImplementedAs=*
ImplicitThis
InitializedByEventConstructor
InterfaceName=*
IsImmutablePrototypeExoticObject
IsImmutablePrototypeExoticObjectOnPrototype
IsWeakCallback
JSBuiltin
JSBuiltinConstructor
JSCustom
JSCustomFinalize
JSCustomGetter
JSCustomHeader
JSCustomIsReachable
JSCustomMarkFunction
JSCustomSetter
JSCustomToNativeObject
JSGenerateIsReachable=|Impl|ImplWebGLRenderingContext|ImplDocument|ImplElementRoot|ImplFrame|ImplOwnerNodeRoot|ReachableFromDOMWindow
JSGenerateToJSObject
JSGenerateToNativeObject
JSLegacyParent=*
LegacyUnenumerableNamedProperties
LenientThis
MasqueradesAsUndefined
MayThrowException
NamedConstructor=*
NewImpurePropertyFiresWatchpoints
NewObject
NoInterfaceObject
NotEnumerable
ObjCCustomImplementation
ObjCLegacyUnnamedParameters
ObjCPolymorphic
ObjCProtocol
OverrideBuiltins
PrimaryGlobal
PrivateIdentifier
PromiseProxy
PublicIdentifier
PutForwards=*
RaisesException
Reflect=*
Replaceable
ReportExtraMemoryCost
RequiresExistingAtomicString
ReturnNewObject
ReturnsCacheableValue
SameObject
SecureContext
SetterCallWith=ScriptExecutionContext|ScriptState|ScriptArguments|CallStack|ActiveWindow|FirstWindow
SetterMayThrowException
SkipVTableValidation
StrictTypeChecking
SuppressToJSObject
TransferList=*
TreatNullAs=EmptyString
URL
Unforgeable
Unscopable
UsePointersEvenForNonNullableObjectArguments
WindowEventHandler
V8CacheAttributeForGC
V8Custom
V8CustomConstructor
V8CustomGetter
V8CustomIsReachable
V8CustomSetter
V8CustomToJSObject
V8DependentLifetime
V8DoNotCheckSignature
V8EnabledAtRuntime=*
V8EnabledPerContext=*
V8GenerateIsReachable=ImplElementRoot|ImplOwnerRoot|ImplOwnerNodeRoot|ImplOwnerNodeRoot
V8ReadOnly
V8Unforgeable
