| 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 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 77 {% endif %} | 77 {% endif %} |
| 78 {% endblock %} | 78 {% endblock %} |
| 79 | 79 |
| 80 | 80 |
| 81 {##############################################################################} | 81 {##############################################################################} |
| 82 {% block replaceable_attribute_setter_and_callback %} | 82 {% block replaceable_attribute_setter_and_callback %} |
| 83 {% if has_replaceable_attributes or has_constructor_attributes %} | 83 {% if has_replaceable_attributes or has_constructor_attributes %} |
| 84 {# FIXME: rename to ForceSetAttributeOnThis, since also used for Constructors #} | 84 {# FIXME: rename to ForceSetAttributeOnThis, since also used for Constructors #} |
| 85 static void {{cpp_class}}ReplaceableAttributeSetter(v8::Local<v8::String> name,
v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info) | 85 static void {{cpp_class}}ReplaceableAttributeSetter(v8::Local<v8::String> name,
v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info) |
| 86 { | 86 { |
| 87 {% if is_check_security %} | 87 {% if is_check_security_for_frame %} |
| 88 {{cpp_class}}* impl = {{v8_class}}::toNative(info.Holder()); | 88 {{cpp_class}}* impl = {{v8_class}}::toNative(info.Holder()); |
| 89 v8::Isolate* isolate = info.GetIsolate(); | 89 v8::Isolate* isolate = info.GetIsolate(); |
| 90 v8::String::Utf8Value attributeName(name); | 90 v8::String::Utf8Value attributeName(name); |
| 91 ExceptionState exceptionState(ExceptionState::SetterContext, *attributeName,
"{{interface_name}}", info.Holder(), isolate); | 91 ExceptionState exceptionState(ExceptionState::SetterContext, *attributeName,
"{{interface_name}}", info.Holder(), isolate); |
| 92 if (!BindingSecurity::shouldAllowAccessToFrame(isolate, impl->frame(), excep
tionState)) { | 92 if (!BindingSecurity::shouldAllowAccessToFrame(isolate, impl->frame(), excep
tionState)) { |
| 93 exceptionState.throwIfNeeded(); | 93 exceptionState.throwIfNeeded(); |
| 94 return; | 94 return; |
| 95 } | 95 } |
| 96 {% endif %} | 96 {% endif %} |
| 97 if (info.This()->IsObject()) | 97 if (info.This()->IsObject()) |
| 98 v8::Handle<v8::Object>::Cast(info.This())->ForceSet(name, v8Value); | 98 v8::Handle<v8::Object>::Cast(info.This())->ForceSet(name, v8Value); |
| 99 } | 99 } |
| 100 | 100 |
| 101 {# FIXME: rename to ForceSetAttributeOnThisCallback, since also used for Constru
ctors #} | 101 {# FIXME: rename to ForceSetAttributeOnThisCallback, since also used for Constru
ctors #} |
| 102 static void {{cpp_class}}ReplaceableAttributeSetterCallback(v8::Local<v8::String
> name, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info
) | 102 static void {{cpp_class}}ReplaceableAttributeSetterCallback(v8::Local<v8::String
> name, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info
) |
| 103 { | 103 { |
| 104 {{cpp_class}}V8Internal::{{cpp_class}}ReplaceableAttributeSetter(name, v8Val
ue, info); | 104 {{cpp_class}}V8Internal::{{cpp_class}}ReplaceableAttributeSetter(name, v8Val
ue, info); |
| 105 } | 105 } |
| 106 | 106 |
| 107 {% endif %} | 107 {% endif %} |
| 108 {% endblock %} | 108 {% endblock %} |
| 109 | 109 |
| 110 | 110 |
| 111 {##############################################################################} | 111 {##############################################################################} |
| 112 {% block security_check_functions %} | 112 {% block security_check_functions %} |
| 113 {% if is_check_security and interface_name != 'Window' %} | 113 {% if is_check_security_for_frame and interface_name != 'Window' %} |
| 114 bool indexedSecurityCheck(v8::Local<v8::Object> host, uint32_t index, v8::Access
Type type, v8::Local<v8::Value>) | 114 bool indexedSecurityCheck(v8::Local<v8::Object> host, uint32_t index, v8::Access
Type type, v8::Local<v8::Value>) |
| 115 { | 115 { |
| 116 {{cpp_class}}* impl = {{v8_class}}::toNative(host); | 116 {{cpp_class}}* impl = {{v8_class}}::toNative(host); |
| 117 return BindingSecurity::shouldAllowAccessToFrame(v8::Isolate::GetCurrent(),
impl->frame(), DoNotReportSecurityError); | 117 return BindingSecurity::shouldAllowAccessToFrame(v8::Isolate::GetCurrent(),
impl->frame(), DoNotReportSecurityError); |
| 118 } | 118 } |
| 119 | 119 |
| 120 bool namedSecurityCheck(v8::Local<v8::Object> host, v8::Local<v8::Value> key, v8
::AccessType type, v8::Local<v8::Value>) | 120 bool namedSecurityCheck(v8::Local<v8::Object> host, v8::Local<v8::Value> key, v8
::AccessType type, v8::Local<v8::Value>) |
| 121 { | 121 { |
| 122 {{cpp_class}}* impl = {{v8_class}}::toNative(host); | 122 {{cpp_class}}* impl = {{v8_class}}::toNative(host); |
| 123 return BindingSecurity::shouldAllowAccessToFrame(v8::Isolate::GetCurrent(),
impl->frame(), DoNotReportSecurityError); | 123 return BindingSecurity::shouldAllowAccessToFrame(v8::Isolate::GetCurrent(),
impl->frame(), DoNotReportSecurityError); |
| (...skipping 787 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 911 {{methods_name}}, {{methods_length}}, | 911 {{methods_name}}, {{methods_length}}, |
| 912 isolate); | 912 isolate); |
| 913 {% endfilter %} | 913 {% endfilter %} |
| 914 | 914 |
| 915 {% if constructors or has_custom_constructor or has_event_constructor %} | 915 {% if constructors or has_custom_constructor or has_event_constructor %} |
| 916 functionTemplate->SetCallHandler({{v8_class}}::constructorCallback); | 916 functionTemplate->SetCallHandler({{v8_class}}::constructorCallback); |
| 917 functionTemplate->SetLength({{interface_length}}); | 917 functionTemplate->SetLength({{interface_length}}); |
| 918 {% endif %} | 918 {% endif %} |
| 919 v8::Local<v8::ObjectTemplate> instanceTemplate ALLOW_UNUSED = functionTempla
te->InstanceTemplate(); | 919 v8::Local<v8::ObjectTemplate> instanceTemplate ALLOW_UNUSED = functionTempla
te->InstanceTemplate(); |
| 920 v8::Local<v8::ObjectTemplate> prototypeTemplate ALLOW_UNUSED = functionTempl
ate->PrototypeTemplate(); | 920 v8::Local<v8::ObjectTemplate> prototypeTemplate ALLOW_UNUSED = functionTempl
ate->PrototypeTemplate(); |
| 921 {% if is_check_security and interface_name != 'Window' %} | 921 {% if is_check_security_for_frame and interface_name != 'Window' %} |
| 922 instanceTemplate->SetAccessCheckCallbacks({{cpp_class}}V8Internal::namedSecu
rityCheck, {{cpp_class}}V8Internal::indexedSecurityCheck, v8::External::New(isol
ate, const_cast<WrapperTypeInfo*>(&{{v8_class}}::wrapperTypeInfo))); | 922 instanceTemplate->SetAccessCheckCallbacks({{cpp_class}}V8Internal::namedSecu
rityCheck, {{cpp_class}}V8Internal::indexedSecurityCheck, v8::External::New(isol
ate, const_cast<WrapperTypeInfo*>(&{{v8_class}}::wrapperTypeInfo))); |
| 923 {% endif %} | 923 {% endif %} |
| 924 {% for attribute in attributes | 924 {% for attribute in attributes |
| 925 if attribute.runtime_enabled_function and | 925 if attribute.runtime_enabled_function and |
| 926 not attribute.per_context_enabled_function and | 926 not attribute.per_context_enabled_function and |
| 927 not attribute.is_static %} | 927 not attribute.is_static %} |
| 928 {% filter conditional(attribute.conditional_string) %} | 928 {% filter conditional(attribute.conditional_string) %} |
| 929 if ({{attribute.runtime_enabled_function}}()) { | 929 if ({{attribute.runtime_enabled_function}}()) { |
| 930 static const V8DOMConfiguration::AttributeConfiguration attributeConfigu
ration =\ | 930 static const V8DOMConfiguration::AttributeConfiguration attributeConfigu
ration =\ |
| 931 {{attribute_configuration(attribute)}}; | 931 {{attribute_configuration(attribute)}}; |
| (...skipping 403 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1335 {% endif %} | 1335 {% endif %} |
| 1336 } | 1336 } |
| 1337 | 1337 |
| 1338 template<> | 1338 template<> |
| 1339 v8::Handle<v8::Value> toV8NoInline({{cpp_class}}* impl, v8::Handle<v8::Object> c
reationContext, v8::Isolate* isolate) | 1339 v8::Handle<v8::Value> toV8NoInline({{cpp_class}}* impl, v8::Handle<v8::Object> c
reationContext, v8::Isolate* isolate) |
| 1340 { | 1340 { |
| 1341 return toV8(impl, creationContext, isolate); | 1341 return toV8(impl, creationContext, isolate); |
| 1342 } | 1342 } |
| 1343 | 1343 |
| 1344 {% endblock %} | 1344 {% endblock %} |
| OLD | NEW |