Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1217)

Side by Side Diff: sky/engine/bindings/templates/interface.cpp

Issue 683593002: Remove GarbageCollected support from the bindings (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 {% extends 'interface_base.cpp' %} 1 {% extends 'interface_base.cpp' %}
2 2
3 3
4 {##############################################################################} 4 {##############################################################################}
5 {% block constructor_getter %} 5 {% block constructor_getter %}
6 {% if has_constructor_attributes %} 6 {% if has_constructor_attributes %}
7 static void {{cpp_class}}ConstructorGetter(v8::Local<v8::String>, const v8::Prop ertyCallbackInfo<v8::Value>& info) 7 static void {{cpp_class}}ConstructorGetter(v8::Local<v8::String>, const v8::Prop ertyCallbackInfo<v8::Value>& info)
8 { 8 {
9 v8::Handle<v8::Value> data = info.Data(); 9 v8::Handle<v8::Value> data = info.Data();
10 ASSERT(data->IsExternal()); 10 ASSERT(data->IsExternal());
(...skipping 479 matching lines...) Expand 10 before | Expand all | Expand 10 after
490 490
491 491
492 {##############################################################################} 492 {##############################################################################}
493 {% from 'methods.cpp' import generate_constructor with context %} 493 {% from 'methods.cpp' import generate_constructor with context %}
494 {% block named_constructor %} 494 {% block named_constructor %}
495 {% if named_constructor %} 495 {% if named_constructor %}
496 {% set to_active_dom_object = '%s::toActiveDOMObject' % v8_class 496 {% set to_active_dom_object = '%s::toActiveDOMObject' % v8_class
497 if is_active_dom_object else '0' %} 497 if is_active_dom_object else '0' %}
498 {% set to_event_target = '%s::toEventTarget' % v8_class 498 {% set to_event_target = '%s::toEventTarget' % v8_class
499 if is_event_target else '0' %} 499 if is_event_target else '0' %}
500 const WrapperTypeInfo {{v8_class}}Constructor::wrapperTypeInfo = { gin::kEmbedde rBlink, {{v8_class}}Constructor::domTemplate, {{v8_class}}::refObject, {{v8_clas s}}::derefObject, {{v8_class}}::createPersistentHandle, {{to_active_dom_object}} , {{to_event_target}}, 0, {{v8_class}}::installConditionallyEnabledMethods, {{v8 _class}}::installConditionallyEnabledProperties, 0, WrapperTypeInfo::WrapperType ObjectPrototype, WrapperTypeInfo::{{wrapper_class_id}}, WrapperTypeInfo::{{lifet ime}}, WrapperTypeInfo::{{gc_type}} }; 500 const WrapperTypeInfo {{v8_class}}Constructor::wrapperTypeInfo = { gin::kEmbedde rBlink, {{v8_class}}Constructor::domTemplate, {{v8_class}}::refObject, {{v8_clas s}}::derefObject, {{to_active_dom_object}}, {{to_event_target}}, 0, {{v8_class}} ::installConditionallyEnabledMethods, {{v8_class}}::installConditionallyEnabledP roperties, 0, WrapperTypeInfo::WrapperTypeObjectPrototype, WrapperTypeInfo::{{wr apper_class_id}}, WrapperTypeInfo::{{lifetime}} };
501 501
502 {{generate_constructor(named_constructor)}} 502 {{generate_constructor(named_constructor)}}
503 v8::Handle<v8::FunctionTemplate> {{v8_class}}Constructor::domTemplate(v8::Isolat e* isolate) 503 v8::Handle<v8::FunctionTemplate> {{v8_class}}Constructor::domTemplate(v8::Isolat e* isolate)
504 { 504 {
505 static int domTemplateKey; // This address is used for a key to look up the dom template. 505 static int domTemplateKey; // This address is used for a key to look up the dom template.
506 V8PerIsolateData* data = V8PerIsolateData::from(isolate); 506 V8PerIsolateData* data = V8PerIsolateData::from(isolate);
507 v8::Local<v8::FunctionTemplate> result = data->existingDOMTemplate(&domTempl ateKey); 507 v8::Local<v8::FunctionTemplate> result = data->existingDOMTemplate(&domTempl ateKey);
508 if (!result.IsEmpty()) 508 if (!result.IsEmpty())
509 return result; 509 return result;
510 510
(...skipping 690 matching lines...) Expand 10 before | Expand all | Expand 10 after
1201 1201
1202 {% endif %} 1202 {% endif %}
1203 {% endblock %} 1203 {% endblock %}
1204 1204
1205 1205
1206 {##############################################################################} 1206 {##############################################################################}
1207 {% block deref_object_and_to_v8_no_inline %} 1207 {% block deref_object_and_to_v8_no_inline %}
1208 1208
1209 void {{v8_class}}::refObject(ScriptWrappableBase* internalPointer) 1209 void {{v8_class}}::refObject(ScriptWrappableBase* internalPointer)
1210 { 1210 {
1211 {% if gc_type == 'WillBeGarbageCollectedObject' %}
1212 #if !ENABLE(OILPAN)
1213 fromInternalPointer(internalPointer)->ref(); 1211 fromInternalPointer(internalPointer)->ref();
1214 #endif
1215 {% elif gc_type == 'RefCountedObject' %}
1216 fromInternalPointer(internalPointer)->ref();
1217 {% endif %}
1218 } 1212 }
1219 1213
1220 void {{v8_class}}::derefObject(ScriptWrappableBase* internalPointer) 1214 void {{v8_class}}::derefObject(ScriptWrappableBase* internalPointer)
1221 { 1215 {
1222 {% if gc_type == 'WillBeGarbageCollectedObject' %}
1223 #if !ENABLE(OILPAN)
1224 fromInternalPointer(internalPointer)->deref(); 1216 fromInternalPointer(internalPointer)->deref();
1225 #endif
1226 {% elif gc_type == 'RefCountedObject' %}
1227 fromInternalPointer(internalPointer)->deref();
1228 {% endif %}
1229 }
1230
1231 WrapperPersistentNode* {{v8_class}}::createPersistentHandle(ScriptWrappableBase* internalPointer)
1232 {
1233 {% if gc_type == 'GarbageCollectedObject' %}
1234 return new WrapperPersistent<{{cpp_class}}>(fromInternalPointer(internalPoin ter));
1235 {% elif gc_type == 'WillBeGarbageCollectedObject' %}
1236 #if ENABLE(OILPAN)
1237 return new WrapperPersistent<{{cpp_class}}>(fromInternalPointer(internalPoin ter));
1238 #else
1239 ASSERT_NOT_REACHED();
1240 return 0;
1241 #endif
1242 {% elif gc_type == 'RefCountedObject' %}
1243 ASSERT_NOT_REACHED();
1244 return 0;
1245 {% endif %}
1246 } 1217 }
1247 1218
1248 template<> 1219 template<>
1249 v8::Handle<v8::Value> toV8NoInline({{cpp_class}}* impl, v8::Handle<v8::Object> c reationContext, v8::Isolate* isolate) 1220 v8::Handle<v8::Value> toV8NoInline({{cpp_class}}* impl, v8::Handle<v8::Object> c reationContext, v8::Isolate* isolate)
1250 { 1221 {
1251 return toV8(impl, creationContext, isolate); 1222 return toV8(impl, creationContext, isolate);
1252 } 1223 }
1253 1224
1254 {% endblock %} 1225 {% endblock %}
OLDNEW
« no previous file with comments | « sky/engine/bindings/templates/interface.h ('k') | sky/engine/bindings/templates/interface_base.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698