| OLD | NEW |
| 1 {% extends 'interface_base.cpp' %} | 1 {% extends 'interface_base.cpp' %} |
| 2 | 2 |
| 3 | 3 |
| 4 {##############################################################################} | 4 {##############################################################################} |
| 5 {% macro attribute_configuration(attribute) %} | 5 {% macro attribute_configuration(attribute) %} |
| 6 {% set getter_callback = | 6 {% set getter_callback = |
| 7 '%sV8Internal::%sAttributeGetterCallback' % | 7 '%sV8Internal::%sAttributeGetterCallback' % |
| 8 (cpp_class, attribute.name) | 8 (cpp_class, attribute.name) |
| 9 if not attribute.constructor_type else | 9 if not attribute.constructor_type else |
| 10 '{0}V8Internal::{0}ConstructorGetter'.format(interface_name) %} | 10 '{0}V8Internal::{0}ConstructorGetter'.format(interface_name) %} |
| (...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 253 V8DOMWrapper::associateObjectWithWrapper<{{v8_class}}>(event.release(), &{{v
8_class}}::wrapperTypeInfo, wrapper, info.GetIsolate(), WrapperConfiguration::De
pendent); | 253 V8DOMWrapper::associateObjectWithWrapper<{{v8_class}}>(event.release(), &{{v
8_class}}::wrapperTypeInfo, wrapper, info.GetIsolate(), WrapperConfiguration::De
pendent); |
| 254 v8SetReturnValue(info, wrapper); | 254 v8SetReturnValue(info, wrapper); |
| 255 } | 255 } |
| 256 | 256 |
| 257 {% endif %} | 257 {% endif %} |
| 258 {% endblock %} | 258 {% endblock %} |
| 259 | 259 |
| 260 | 260 |
| 261 {##############################################################################} | 261 {##############################################################################} |
| 262 {% block visit_dom_wrapper %} | 262 {% block visit_dom_wrapper %} |
| 263 {% if generate_visit_dom_wrapper_function %} | 263 {% if reachable_node_function or set_reference_list %} |
| 264 void {{v8_class}}::visitDOMWrapper(void* object, const v8::Persistent<v8::Object
>& wrapper, v8::Isolate* isolate) | 264 void {{v8_class}}::visitDOMWrapper(void* object, const v8::Persistent<v8::Object
>& wrapper, v8::Isolate* isolate) |
| 265 { | 265 { |
| 266 {{cpp_class}}* impl = fromInternalPointer(object); | 266 {{cpp_class}}* impl = fromInternalPointer(object); |
| 267 if (Node* owner = impl->{{generate_visit_dom_wrapper_function}}()) { | 267 {% if set_reference_list %} |
| 268 v8::Local<v8::Object> creationContext = v8::Local<v8::Object>::New(isolate,
wrapper); |
| 269 V8WrapperInstantiationScope scope(creationContext, isolate); |
| 270 {% for set_reference in set_reference_list %} |
| 271 {{set_reference.idl_type}}* {{set_reference.name}} = impl->{{set_reference.n
ame}}(); |
| 272 if ({{set_reference.name}}) { |
| 273 if (!DOMDataStore::containsWrapper<{{set_reference.v8_type}}>({{set_refe
rence.name}}, isolate)) |
| 274 wrap({{set_reference.name}}, creationContext, isolate); |
| 275 DOMDataStore::setWrapperReference<{{set_reference.v8_type}}>(wrapper, {{
set_reference.name}}, isolate); |
| 276 } |
| 277 {% endfor %} |
| 278 {% endif %} |
| 279 {% if reachable_node_function %} |
| 280 if (Node* owner = impl->{{reachable_node_function}}()) { |
| 268 setObjectGroup(V8GCController::opaqueRootForGC(owner, isolate), wrapper,
isolate); | 281 setObjectGroup(V8GCController::opaqueRootForGC(owner, isolate), wrapper,
isolate); |
| 269 return; | 282 return; |
| 270 } | 283 } |
| 284 {% endif %} |
| 271 setObjectGroup(object, wrapper, isolate); | 285 setObjectGroup(object, wrapper, isolate); |
| 272 } | 286 } |
| 273 | 287 |
| 274 {% endif %} | 288 {% endif %} |
| 275 {% endblock %} | 289 {% endblock %} |
| 276 | 290 |
| 277 | 291 |
| 278 {##############################################################################} | 292 {##############################################################################} |
| 279 {% block class_attributes %} | 293 {% block class_attributes %} |
| 280 {# FIXME: rename to install_attributes and put into configure_class_template #} | 294 {# FIXME: rename to install_attributes and put into configure_class_template #} |
| (...skipping 446 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 727 fromInternalPointer(object)->deref(); | 741 fromInternalPointer(object)->deref(); |
| 728 } | 742 } |
| 729 | 743 |
| 730 template<> | 744 template<> |
| 731 v8::Handle<v8::Value> toV8NoInline({{cpp_class}}* impl, v8::Handle<v8::Object> c
reationContext, v8::Isolate* isolate) | 745 v8::Handle<v8::Value> toV8NoInline({{cpp_class}}* impl, v8::Handle<v8::Object> c
reationContext, v8::Isolate* isolate) |
| 732 { | 746 { |
| 733 return toV8(impl, creationContext, isolate); | 747 return toV8(impl, creationContext, isolate); |
| 734 } | 748 } |
| 735 | 749 |
| 736 {% endblock %} | 750 {% endblock %} |
| OLD | NEW |