IDL extended attributes used in WebKit

CanBeConstructed
 On an interface, indicates that the property on the global object
 representing the interface implements [[Construct]].
Conditional=SVG
Conditional=SVG&SVG_EXPERIMENTAL_FEATURES
Conditional=XPATH
 Used to surround interfaces with #ifdef..#endif for certain features.
ConvertFromString
 For ObjC, on an integer attribute, indicates that assigning a string
 should result in it being parsed as an int.
ConvertToString
 For ObJC, on a DOMString attribute, indicates that assigning an
 integer should result in it being converted to a string.
ConvertNullStringTo=False
ConvertNullStringTo=Null
ConvertNullStringTo=Undefined
 On attributes and operation return values, if the native string object
 is a null string, the JS value returned should be as specified.
ConvertNullToNullString
 If a JS null value is given, it is converted to a native null string
 object, rather than stringified to the string "null".
Custom
 ??
CustomMarkFunction
 On an interface, some implementation specific thing to indicate that
 the generated class will have an overridden void mark() method.
DoNotCache
 On an interface, some implementation specific thing to indicate that
 certain constructors and methods on the generated class will not have
 a KJS::ExecState* parameter.
GenerateConstructor
 On an interface, indicates that there should be a property on the
 global object that represents the interface, and that property's
 value is an object with each of the constants on it (DontDelete,
 ReadOnly).
GenerateNativeConverter
 On an interface, some implementation specific thing to indicate that
 the generated class will have generated functions to convert to/from
 this type.
HasCustomIndexSetter
 On an interface, indicates that it has special behaviour for [[Put]]
 with an integer.
HasIndexGetter
 On an interface, indicates that it has special behaviour for [[Get]]
 with an integer.
HasNameGetter
HasOverridingNameGetter
 On an interface, indicates that it has special behaviour for [[Get]].
IsIndex
 On an operation parameter, indicates that it is an "index" and thus
 should be mapped to a signed integer, and that argument values < 0
 will throw an INDEX_SIZE_ERR exception.
LegacyParent=JSHTMLInputElementBase
LegacyParent=KJS::DOMCSSRule
LegacyParent=KJS::DOMCSSStyleDeclaration
LegacyParent=KJS::DOMCSSValue
LegacyParent=KJS::DOMEvent
LegacyParent=KJS::DOMEventTargetNode
LegacyParent=KJS::DOMNode
LegacyParent=KJS::DOMNodeFilter
LegacyParent=KJS::JSHTMLCollection
LegacyParent=KJS::JSHTMLDocument
LegacyParent=KJS::JSHTMLElement
LegacyParent=KJS::Window
 On an interface, some implementation specific thing to indicate that
 the generated class should inherit from the specific class rather
 than the corresponding generated class specified by the interface
 definition.
ObjCCustomImplementation
ObjCCustomInternalImpl
ObjCIvar
ObjCProtocol
OldStyleObjC
 Various ObjC implementation specific things.
Optional
 On an operation parameter, indicates that the parameter is optional.
 (In WebKit, [Optional] seems to be used only for trailing arguments.)
PODType=AffineTransform
PODType=double
PODType=FloatPoint
PODType=FloatRect
PODType=SVGLength
PODType=SVGTransform
 On an interface, some implementation specific thing to indicate some
 sort of correspondence between the interface and the specified type
 in the implementation.
Return
 On an operation parameter, indicates that this parameter value is
 what is going to be returned.  (Seems like this isn't actually
 used by WebKit's implementation generation scripts though.)
UsesView
 Some ObjC implementation specific thing.


-- 
Cameron McCormack, http://mcc.id.au/
 xmpp:heycam@jabber.org  ▪  ICQ 26955922  ▪  MSN cam@mcc.id.au

Received on Tuesday, 22 May 2007 00:57:55 UTC