Conditional=CONDITIONALNAME
- Wraps the generated binding code in "#if ENABLE( CONDITIONALNAME)". Typically used to allow turning off features on certain platforms (or to disable new features while they are under development).
-
CustomMarkFunction
- Adds a "virtual void mark()" declaration to the generated header file for the binding class. This allows a custom binding implementation to provide their own mark() function in WebCore/bindings/js/JS ClassNameCustom.cpp for doing custom handling of garbage collection.
-
CustomToJS
- 不为绑定类产生 toJS()函数. 这允许实现者用自己的toJS()函数为给定的实现类创建正确的封装类. 当你的类有自己的继承关系,这就会有用:当给出一个基类的实例,自定义的toJS()实现返回派生类的封装,注意不是基类的封装。
-
DelegatingGetOwnPropertySlot
- 用于给某个类的实例定义自己的属性的查找方法. 例子就是HTML的 History对象,他需要限制某个属性是跨域可见(visible cross-domain),或者WorkerContext的例子,它想在自己的原型(protype)开始查找属性之前,把查找方法 委托给全局对象.
-
ExtendsDOMGlobalObject
- Does not expose the object prototype externally. Also uses a self-reference internally whenever it needs to access the JSDOMGlobalObject.
-
GenerateConstructor
- 产生使得类可以被外部实例化的代码
-
GenerateNativeConverter
- Generates a helper function of the form ClassName* impl() { return static_cast< ClassName>(m_impl); }. Useful when working with a class hierarchy in the binding code, where the base m_impl member is defined to be the base type, not the appropriate derived type.
-
LegacyParent=
ParentClass
- Allows setting the base class for the generated binding. Otherwise, the base class would be set to DOMObject or the explicitly specified parent class in the interface definition.
-
NoStaticTables
- Sharing a single static prototype table only works when a class is guaranteed to be accessed from a single heap, because the lookup code expects the key (attribute name) to have the same address across all instances of the object. For interfaces that are exposed to Workers, a single static table won't work because a given string used to look up a property on the object will lie at a different address in each heap.
See WebKitIDL for detailed documentation.