| 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 644 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 655     {% if any_type_attributes and not interface_name == 'ErrorEvent' %} | 655     {% if any_type_attributes and not interface_name == 'ErrorEvent' %} | 
| 656     {# If we're in an isolated world, create a SerializedScriptValue and store | 656     {# If we're in an isolated world, create a SerializedScriptValue and store | 
| 657        it in the event for later cloning if the property is accessed from | 657        it in the event for later cloning if the property is accessed from | 
| 658        another world. The main world case is handled lazily (in custom code). | 658        another world. The main world case is handled lazily (in custom code). | 
| 659 | 659 | 
| 660        We do not clone Error objects (exceptions), for 2 reasons: | 660        We do not clone Error objects (exceptions), for 2 reasons: | 
| 661        1) Errors carry a reference to the isolated world's global object, and | 661        1) Errors carry a reference to the isolated world's global object, and | 
| 662           thus passing it around would cause leakage. | 662           thus passing it around would cause leakage. | 
| 663        2) Errors cannot be cloned (or serialized): | 663        2) Errors cannot be cloned (or serialized): | 
| 664        http://www.whatwg.org/specs/web-apps/current-work/multipage/common-dom-in
      terfaces.html#safe-passing-of-structured-data #} | 664        http://www.whatwg.org/specs/web-apps/current-work/multipage/common-dom-in
      terfaces.html#safe-passing-of-structured-data #} | 
| 665     if (DOMWrapperWorld::current(isolate)->isIsolatedWorld()) { | 665     if (DOMWrapperWorld::current(isolate).isIsolatedWorld()) { | 
| 666         {% for attribute in any_type_attributes %} | 666         {% for attribute in any_type_attributes %} | 
| 667         if (!{{attribute.name}}.IsEmpty()) | 667         if (!{{attribute.name}}.IsEmpty()) | 
| 668             event->setSerialized{{attribute.name | blink_capitalize}}(Serialized
      ScriptValue::createAndSwallowExceptions({{attribute.name}}, isolate)); | 668             event->setSerialized{{attribute.name | blink_capitalize}}(Serialized
      ScriptValue::createAndSwallowExceptions({{attribute.name}}, isolate)); | 
| 669         {% endfor %} | 669         {% endfor %} | 
| 670     } | 670     } | 
| 671 | 671 | 
| 672     {% endif %} | 672     {% endif %} | 
| 673     v8::Handle<v8::Object> wrapper = info.Holder(); | 673     v8::Handle<v8::Object> wrapper = info.Holder(); | 
| 674     V8DOMWrapper::associateObjectWithWrapper<{{v8_class}}>(event.release(), &{{v
      8_class}}::wrapperTypeInfo, wrapper, isolate, {{wrapper_configuration}}); | 674     V8DOMWrapper::associateObjectWithWrapper<{{v8_class}}>(event.release(), &{{v
      8_class}}::wrapperTypeInfo, wrapper, isolate, {{wrapper_configuration}}); | 
| 675     v8SetReturnValue(info, wrapper); | 675     v8SetReturnValue(info, wrapper); | 
| (...skipping 292 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 968     {# Needed for legacy support of document.all #} | 968     {# Needed for legacy support of document.all #} | 
| 969     functionTemplate->InstanceTemplate()->MarkAsUndetectable(); | 969     functionTemplate->InstanceTemplate()->MarkAsUndetectable(); | 
| 970     {% endif %} | 970     {% endif %} | 
| 971     {% for method in methods if not method.do_not_check_signature %} | 971     {% for method in methods if not method.do_not_check_signature %} | 
| 972     {# install_custom_signature #} | 972     {# install_custom_signature #} | 
| 973     {% if not method.overload_index or method.overload_index == 1 %} | 973     {% if not method.overload_index or method.overload_index == 1 %} | 
| 974     {# For overloaded methods, only generate one accessor #} | 974     {# For overloaded methods, only generate one accessor #} | 
| 975     {% filter conditional(method.conditional_string) %} | 975     {% filter conditional(method.conditional_string) %} | 
| 976     {% if method.is_do_not_check_security %} | 976     {% if method.is_do_not_check_security %} | 
| 977     {% if method.is_per_world_bindings %} | 977     {% if method.is_per_world_bindings %} | 
| 978     if (DOMWrapperWorld::current(isolate)->isMainWorld()) { | 978     if (DOMWrapperWorld::current(isolate).isMainWorld()) { | 
| 979         {{install_do_not_check_security_signature(method, 'ForMainWorld')}} | 979         {{install_do_not_check_security_signature(method, 'ForMainWorld')}} | 
| 980     } else { | 980     } else { | 
| 981         {{install_do_not_check_security_signature(method)}} | 981         {{install_do_not_check_security_signature(method)}} | 
| 982     } | 982     } | 
| 983     {% else %} | 983     {% else %} | 
| 984     {{install_do_not_check_security_signature(method)}} | 984     {{install_do_not_check_security_signature(method)}} | 
| 985     {% endif %} | 985     {% endif %} | 
| 986     {% else %}{# is_do_not_check_security #} | 986     {% else %}{# is_do_not_check_security #} | 
| 987     {% if method.is_per_world_bindings %} | 987     {% if method.is_per_world_bindings %} | 
| 988     if (DOMWrapperWorld::current(isolate)->isMainWorld()) { | 988     if (DOMWrapperWorld::current(isolate).isMainWorld()) { | 
| 989         {% filter runtime_enabled(method.runtime_enabled_function) %} | 989         {% filter runtime_enabled(method.runtime_enabled_function) %} | 
| 990         {{install_custom_signature(method, 'ForMainWorld')}} | 990         {{install_custom_signature(method, 'ForMainWorld')}} | 
| 991         {% endfilter %} | 991         {% endfilter %} | 
| 992     } else { | 992     } else { | 
| 993         {% filter runtime_enabled(method.runtime_enabled_function) %} | 993         {% filter runtime_enabled(method.runtime_enabled_function) %} | 
| 994         {{install_custom_signature(method)}} | 994         {{install_custom_signature(method)}} | 
| 995         {% endfilter %} | 995         {% endfilter %} | 
| 996     } | 996     } | 
| 997     {% else %} | 997     {% else %} | 
| 998     {% filter runtime_enabled(method.runtime_enabled_function) %} | 998     {% filter runtime_enabled(method.runtime_enabled_function) %} | 
| (...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1196 | 1196 | 
| 1197 {% endif %} | 1197 {% endif %} | 
| 1198 {% endblock %} | 1198 {% endblock %} | 
| 1199 | 1199 | 
| 1200 | 1200 | 
| 1201 {##############################################################################} | 1201 {##############################################################################} | 
| 1202 {% block get_shadow_object_template %} | 1202 {% block get_shadow_object_template %} | 
| 1203 {% if interface_name == 'Window' %} | 1203 {% if interface_name == 'Window' %} | 
| 1204 v8::Handle<v8::ObjectTemplate> V8Window::getShadowObjectTemplate(v8::Isolate* is
      olate) | 1204 v8::Handle<v8::ObjectTemplate> V8Window::getShadowObjectTemplate(v8::Isolate* is
      olate) | 
| 1205 { | 1205 { | 
| 1206     if (DOMWrapperWorld::current(isolate)->isMainWorld()) { | 1206     if (DOMWrapperWorld::current(isolate).isMainWorld()) { | 
| 1207         DEFINE_STATIC_LOCAL(v8::Persistent<v8::ObjectTemplate>, V8WindowShadowOb
      jectCacheForMainWorld, ()); | 1207         DEFINE_STATIC_LOCAL(v8::Persistent<v8::ObjectTemplate>, V8WindowShadowOb
      jectCacheForMainWorld, ()); | 
| 1208         if (V8WindowShadowObjectCacheForMainWorld.IsEmpty()) { | 1208         if (V8WindowShadowObjectCacheForMainWorld.IsEmpty()) { | 
| 1209             TRACE_EVENT_SCOPED_SAMPLING_STATE("Blink", "BuildDOMTemplate"); | 1209             TRACE_EVENT_SCOPED_SAMPLING_STATE("Blink", "BuildDOMTemplate"); | 
| 1210             v8::Handle<v8::ObjectTemplate> templ = v8::ObjectTemplate::New(isola
      te); | 1210             v8::Handle<v8::ObjectTemplate> templ = v8::ObjectTemplate::New(isola
      te); | 
| 1211             configureShadowObjectTemplate(templ, isolate); | 1211             configureShadowObjectTemplate(templ, isolate); | 
| 1212             V8WindowShadowObjectCacheForMainWorld.Reset(isolate, templ); | 1212             V8WindowShadowObjectCacheForMainWorld.Reset(isolate, templ); | 
| 1213             return templ; | 1213             return templ; | 
| 1214         } | 1214         } | 
| 1215         return v8::Local<v8::ObjectTemplate>::New(isolate, V8WindowShadowObjectC
      acheForMainWorld); | 1215         return v8::Local<v8::ObjectTemplate>::New(isolate, V8WindowShadowObjectC
      acheForMainWorld); | 
| 1216     } else { | 1216     } else { | 
| (...skipping 20 matching lines...) Expand all  Loading... | 
| 1237 { | 1237 { | 
| 1238     ASSERT(impl); | 1238     ASSERT(impl); | 
| 1239     {% for special_wrap_interface in special_wrap_for %} | 1239     {% for special_wrap_interface in special_wrap_for %} | 
| 1240     if (impl->is{{special_wrap_interface}}()) | 1240     if (impl->is{{special_wrap_interface}}()) | 
| 1241         return wrap(to{{special_wrap_interface}}(impl), creationContext, isolate
      ); | 1241         return wrap(to{{special_wrap_interface}}(impl), creationContext, isolate
      ); | 
| 1242     {% endfor %} | 1242     {% endfor %} | 
| 1243     v8::Handle<v8::Object> wrapper = {{v8_class}}::createWrapper(impl, creationC
      ontext, isolate); | 1243     v8::Handle<v8::Object> wrapper = {{v8_class}}::createWrapper(impl, creationC
      ontext, isolate); | 
| 1244     {% if is_document %} | 1244     {% if is_document %} | 
| 1245     if (wrapper.IsEmpty()) | 1245     if (wrapper.IsEmpty()) | 
| 1246         return wrapper; | 1246         return wrapper; | 
| 1247     DOMWrapperWorld* world = DOMWrapperWorld::current(isolate); | 1247     DOMWrapperWorld& world = DOMWrapperWorld::current(isolate); | 
| 1248     if (world->isMainWorld()) { | 1248     if (world.isMainWorld()) { | 
| 1249         if (LocalFrame* frame = impl->frame()) | 1249         if (LocalFrame* frame = impl->frame()) | 
| 1250             frame->script().windowShell(world)->updateDocumentWrapper(wrapper); | 1250             frame->script().windowShell(world)->updateDocumentWrapper(wrapper); | 
| 1251     } | 1251     } | 
| 1252     {% endif %} | 1252     {% endif %} | 
| 1253     return wrapper; | 1253     return wrapper; | 
| 1254 } | 1254 } | 
| 1255 | 1255 | 
| 1256 {% endif %} | 1256 {% endif %} | 
| 1257 {% endblock %} | 1257 {% endblock %} | 
| 1258 | 1258 | 
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1315 {% endfilter %} | 1315 {% endfilter %} | 
| 1316 } | 1316 } | 
| 1317 | 1317 | 
| 1318 template<> | 1318 template<> | 
| 1319 v8::Handle<v8::Value> toV8NoInline({{cpp_class}}* impl, v8::Handle<v8::Object> c
      reationContext, v8::Isolate* isolate) | 1319 v8::Handle<v8::Value> toV8NoInline({{cpp_class}}* impl, v8::Handle<v8::Object> c
      reationContext, v8::Isolate* isolate) | 
| 1320 { | 1320 { | 
| 1321     return toV8(impl, creationContext, isolate); | 1321     return toV8(impl, creationContext, isolate); | 
| 1322 } | 1322 } | 
| 1323 | 1323 | 
| 1324 {% endblock %} | 1324 {% endblock %} | 
| OLD | NEW | 
|---|