| Index: Source/bindings/templates/interface.h
|
| diff --git a/Source/bindings/templates/interface.h b/Source/bindings/templates/interface.h
|
| index 8555652a59b8819a56ec8c248949c7f5007a2c55..edfdc4b1042604d9ec6698f35d87b2607353b485 100644
|
| --- a/Source/bindings/templates/interface.h
|
| +++ b/Source/bindings/templates/interface.h
|
| @@ -53,7 +53,16 @@ public:
|
| static const WrapperTypeInfo wrapperTypeInfo;
|
| static void refObject(ScriptWrappableBase* internalPointer);
|
| static void derefObject(ScriptWrappableBase* internalPointer);
|
| - static WrapperPersistentNode* createPersistentHandle(ScriptWrappableBase* internalPointer);
|
| + static void trace(Visitor* visitor, ScriptWrappableBase* internalPointer)
|
| + {
|
| + {% if gc_type == 'GarbageCollectedObject' %}
|
| + visitor->trace(internalPointer->toImpl<{{cpp_class}}>());
|
| + {% elif gc_type == 'WillBeGarbageCollectedObject' %}
|
| +#if ENABLE(OILPAN)
|
| + visitor->trace(internalPointer->toImpl<{{cpp_class}}>());
|
| +#endif
|
| + {% endif %}
|
| + }
|
| {% if has_visit_dom_wrapper %}
|
| static void visitDOMWrapper(ScriptWrappableBase* internalPointer, const v8::Persistent<v8::Object>&, v8::Isolate*);
|
| {% endif %}
|
| @@ -134,19 +143,7 @@ public:
|
| FIXME: Remove this internal field, and share one field for either:
|
| * a persistent handle (if the object is in oilpan) or
|
| * a C++ pointer to the DOM object (if the object is not in oilpan) #}
|
| - {% if gc_type == 'GarbageCollectedObject' %}
|
| - static const int persistentHandleIndex = v8DefaultWrapperInternalFieldCount + {{custom_internal_field_counter}};
|
| - static const int internalFieldCount = v8DefaultWrapperInternalFieldCount + {{custom_internal_field_counter}} + 1;
|
| - {% elif gc_type == 'WillBeGarbageCollectedObject' %}
|
| -#if ENABLE(OILPAN)
|
| - static const int persistentHandleIndex = v8DefaultWrapperInternalFieldCount + {{custom_internal_field_counter}};
|
| - static const int internalFieldCount = v8DefaultWrapperInternalFieldCount + {{custom_internal_field_counter}} + 1;
|
| -#else
|
| - static const int internalFieldCount = v8DefaultWrapperInternalFieldCount + {{custom_internal_field_counter}};
|
| -#endif
|
| - {% elif gc_type == 'RefCountedObject' %}
|
| static const int internalFieldCount = v8DefaultWrapperInternalFieldCount + {{custom_internal_field_counter}};
|
| - {% endif %}
|
| {# End custom internal fields #}
|
| static inline ScriptWrappableBase* toScriptWrappableBase({{cpp_class}}* impl)
|
| {
|
|
|