Chromium Code Reviews| 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 ('%sV8Internal::%sConstructorGetterCallback' % | 10 ('%sV8Internal::%sConstructorGetterCallback' % |
| (...skipping 678 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 689 v8SetReturnValue(info, wrapper); | 689 v8SetReturnValue(info, wrapper); |
| 690 } | 690 } |
| 691 | 691 |
| 692 {% endif %} | 692 {% endif %} |
| 693 {% endblock %} | 693 {% endblock %} |
| 694 | 694 |
| 695 | 695 |
| 696 {##############################################################################} | 696 {##############################################################################} |
| 697 {% block visit_dom_wrapper %} | 697 {% block visit_dom_wrapper %} |
| 698 {% if reachable_node_function or set_wrapper_reference_to_list %} | 698 {% if reachable_node_function or set_wrapper_reference_to_list %} |
| 699 void {{v8_class}}::visitDOMWrapper(void* object, const v8::Persistent<v8::Object >& wrapper, v8::Isolate* isolate) | 699 void {{v8_class}}::visitDOMWrapper(ScriptWrappableBase* internalPointer, const v 8::Persistent<v8::Object>& wrapper, v8::Isolate* isolate) |
| 700 { | 700 { |
| 701 {{cpp_class}}* impl = fromInternalPointer(object); | 701 {{cpp_class}}* impl = fromInternalPointer(internalPointer); |
| 702 {% if set_wrapper_reference_to_list %} | 702 {% if set_wrapper_reference_to_list %} |
| 703 v8::Local<v8::Object> creationContext = v8::Local<v8::Object>::New(isolate, wrapper); | 703 v8::Local<v8::Object> creationContext = v8::Local<v8::Object>::New(isolate, wrapper); |
| 704 V8WrapperInstantiationScope scope(creationContext, isolate); | 704 V8WrapperInstantiationScope scope(creationContext, isolate); |
| 705 {% for set_wrapper_reference_to in set_wrapper_reference_to_list %} | 705 {% for set_wrapper_reference_to in set_wrapper_reference_to_list %} |
| 706 {{set_wrapper_reference_to.cpp_type}} {{set_wrapper_reference_to.name}} = im pl->{{set_wrapper_reference_to.name}}(); | 706 {{set_wrapper_reference_to.cpp_type}} {{set_wrapper_reference_to.name}} = im pl->{{set_wrapper_reference_to.name}}(); |
| 707 if ({{set_wrapper_reference_to.name}}) { | 707 if ({{set_wrapper_reference_to.name}}) { |
| 708 if (!DOMDataStore::containsWrapper<{{set_wrapper_reference_to.v8_type}}> ({{set_wrapper_reference_to.name}}, isolate)) | 708 if (!DOMDataStore::containsWrapper<{{set_wrapper_reference_to.v8_type}}> ({{set_wrapper_reference_to.name}}, isolate)) |
| 709 wrap({{set_wrapper_reference_to.name}}, creationContext, isolate); | 709 wrap({{set_wrapper_reference_to.name}}, creationContext, isolate); |
| 710 DOMDataStore::setWrapperReference<{{set_wrapper_reference_to.v8_type}}>( wrapper, {{set_wrapper_reference_to.name}}, isolate); | 710 DOMDataStore::setWrapperReference<{{set_wrapper_reference_to.v8_type}}>( wrapper, {{set_wrapper_reference_to.name}}, isolate); |
| 711 } | 711 } |
| 712 {% endfor %} | 712 {% endfor %} |
| 713 {% endif %} | 713 {% endif %} |
| 714 {% if reachable_node_function %} | 714 {% if reachable_node_function %} |
| 715 // The {{reachable_node_function}}() method may return a reference or a poin ter. | 715 // The {{reachable_node_function}}() method may return a reference or a poin ter. |
| 716 if (Node* owner = WTF::getPtr(impl->{{reachable_node_function}}())) { | 716 if (Node* owner = WTF::getPtr(impl->{{reachable_node_function}}())) { |
| 717 Node* root = V8GCController::opaqueRootForGC(owner, isolate); | 717 Node* root = V8GCController::opaqueRootForGC(owner, isolate); |
| 718 isolate->SetReferenceFromGroup(v8::UniqueId(reinterpret_cast<intptr_t>(r oot)), wrapper); | 718 isolate->SetReferenceFromGroup(v8::UniqueId(reinterpret_cast<intptr_t>(r oot)), wrapper); |
| 719 return; | 719 return; |
| 720 } | 720 } |
| 721 {% endif %} | 721 {% endif %} |
| 722 setObjectGroup(object, wrapper, isolate); | 722 setObjectGroup(internalPointer, wrapper, isolate); |
| 723 } | 723 } |
| 724 | 724 |
| 725 {% endif %} | 725 {% endif %} |
| 726 {% endblock %} | 726 {% endblock %} |
| 727 | 727 |
| 728 | 728 |
| 729 {##############################################################################} | 729 {##############################################################################} |
| 730 {% block shadow_attributes %} | 730 {% block shadow_attributes %} |
| 731 {% if interface_name == 'Window' %} | 731 {% if interface_name == 'Window' %} |
| 732 static const V8DOMConfiguration::AttributeConfiguration shadowAttributes[] = { | 732 static const V8DOMConfiguration::AttributeConfiguration shadowAttributes[] = { |
| (...skipping 408 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1141 return V8PerIsolateData::from(isolate)->findInstanceInPrototypeChain(&wrappe rTypeInfo, v8Value); | 1141 return V8PerIsolateData::from(isolate)->findInstanceInPrototypeChain(&wrappe rTypeInfo, v8Value); |
| 1142 } | 1142 } |
| 1143 | 1143 |
| 1144 {% endblock %} | 1144 {% endblock %} |
| 1145 | 1145 |
| 1146 | 1146 |
| 1147 {##############################################################################} | 1147 {##############################################################################} |
| 1148 {% block to_native_with_type_check %} | 1148 {% block to_native_with_type_check %} |
| 1149 {{cpp_class}}* {{v8_class}}::toNativeWithTypeCheck(v8::Isolate* isolate, v8::Han dle<v8::Value> value) | 1149 {{cpp_class}}* {{v8_class}}::toNativeWithTypeCheck(v8::Isolate* isolate, v8::Han dle<v8::Value> value) |
| 1150 { | 1150 { |
| 1151 return hasInstance(value, isolate) ? fromInternalPointer(v8::Handle<v8::Obje ct>::Cast(value)->GetAlignedPointerFromInternalField(v8DOMWrapperObjectIndex)) : 0; | 1151 return hasInstance(value, isolate) ? fromInternalPointer(blink::toInternalPo inter(v8::Handle<v8::Object>::Cast(value))) : 0; |
|
haraken
2014/08/08 15:50:31
fromInternalPointer(toInternalPointer(value)) is a
Yuki
2014/08/11 05:42:00
I see. Let's choose the best name with an offline
| |
| 1152 } | 1152 } |
| 1153 | 1153 |
| 1154 {% endblock %} | 1154 {% endblock %} |
| 1155 | 1155 |
| 1156 | 1156 |
| 1157 {##############################################################################} | 1157 {##############################################################################} |
| 1158 {% block install_per_context_attributes %} | 1158 {% block install_per_context_attributes %} |
| 1159 {% if has_per_context_enabled_attributes %} | 1159 {% if has_per_context_enabled_attributes %} |
| 1160 void {{v8_class}}::installPerContextEnabledProperties(v8::Handle<v8::Object> ins tanceObject, {{cpp_class}}* impl, v8::Isolate* isolate) | 1160 void {{v8_class}}::installPerContextEnabledProperties(v8::Handle<v8::Object> ins tanceObject, {{cpp_class}}* impl, v8::Isolate* isolate) |
| 1161 { | 1161 { |
| (...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1328 V8DOMWrapper::associateObjectWithWrapper<{{v8_class}}>(impl, &wrapperTypeInf o, wrapper, isolate, {{wrapper_configuration}}); | 1328 V8DOMWrapper::associateObjectWithWrapper<{{v8_class}}>(impl, &wrapperTypeInf o, wrapper, isolate, {{wrapper_configuration}}); |
| 1329 return wrapper; | 1329 return wrapper; |
| 1330 } | 1330 } |
| 1331 | 1331 |
| 1332 {% endif %} | 1332 {% endif %} |
| 1333 {% endblock %} | 1333 {% endblock %} |
| 1334 | 1334 |
| 1335 | 1335 |
| 1336 {##############################################################################} | 1336 {##############################################################################} |
| 1337 {% block deref_object_and_to_v8_no_inline %} | 1337 {% block deref_object_and_to_v8_no_inline %} |
| 1338 void {{v8_class}}::derefObject(void* object) | 1338 void {{v8_class}}::derefObject(ScriptWrappableBase* internalPointer) |
| 1339 { | 1339 { |
| 1340 {% if gc_type == 'RefCountedObject' %} | 1340 {% if gc_type == 'RefCountedObject' %} |
| 1341 fromInternalPointer(object)->deref(); | 1341 fromInternalPointer(internalPointer)->deref(); |
| 1342 {% elif gc_type == 'WillBeGarbageCollectedObject' %} | 1342 {% elif gc_type == 'WillBeGarbageCollectedObject' %} |
| 1343 {% filter conditional('!ENABLE(OILPAN)') %} | 1343 {% filter conditional('!ENABLE(OILPAN)') %} |
| 1344 fromInternalPointer(object)->deref(); | 1344 fromInternalPointer(internalPointer)->deref(); |
| 1345 {% endfilter %} | 1345 {% endfilter %} |
| 1346 {% endif %} | 1346 {% endif %} |
| 1347 } | 1347 } |
| 1348 | 1348 |
| 1349 template<> | 1349 template<> |
| 1350 v8::Handle<v8::Value> toV8NoInline({{cpp_class}}* impl, v8::Handle<v8::Object> c reationContext, v8::Isolate* isolate) | 1350 v8::Handle<v8::Value> toV8NoInline({{cpp_class}}* impl, v8::Handle<v8::Object> c reationContext, v8::Isolate* isolate) |
| 1351 { | 1351 { |
| 1352 return toV8(impl, creationContext, isolate); | 1352 return toV8(impl, creationContext, isolate); |
| 1353 } | 1353 } |
| 1354 | 1354 |
| 1355 {% endblock %} | 1355 {% endblock %} |
| OLD | NEW |