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/JSClassNameCustom.cpp for doing custom handling
of garbage collection.
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.