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

Side by Side Diff: Source/bindings/templates/attributes.cpp

Issue 202203009: Rename |imp| => |impl| in bindings generation (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: custom/v8 too Created 6 years, 9 months 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 | Annotate | Revision Log
« no previous file with comments | « Source/bindings/scripts/v8_utilities.py ('k') | Source/bindings/templates/interface.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 {##############################################################################} 1 {##############################################################################}
2 {% macro attribute_getter(attribute, world_suffix) %} 2 {% macro attribute_getter(attribute, world_suffix) %}
3 {% filter conditional(attribute.conditional_string) %} 3 {% filter conditional(attribute.conditional_string) %}
4 static void {{attribute.name}}AttributeGetter{{world_suffix}}( 4 static void {{attribute.name}}AttributeGetter{{world_suffix}}(
5 {%- if attribute.is_expose_js_accessors %} 5 {%- if attribute.is_expose_js_accessors %}
6 const v8::FunctionCallbackInfo<v8::Value>& info 6 const v8::FunctionCallbackInfo<v8::Value>& info
7 {%- else %} 7 {%- else %}
8 const v8::PropertyCallbackInfo<v8::Value>& info 8 const v8::PropertyCallbackInfo<v8::Value>& info
9 {%- endif %}) 9 {%- endif %})
10 { 10 {
11 {% if attribute.is_reflect and not attribute.is_url and 11 {% if attribute.is_reflect and not attribute.is_url and
12 attribute.idl_type == 'DOMString' and is_node %} 12 attribute.idl_type == 'DOMString' and is_node %}
13 {% set cpp_class, v8_class = 'Element', 'V8Element' %} 13 {% set cpp_class, v8_class = 'Element', 'V8Element' %}
14 {% endif %} 14 {% endif %}
15 {# imp #} 15 {# impl #}
16 {# FIXME: use a local variable for holder more often and simplify below #} 16 {# FIXME: use a local variable for holder more often and simplify below #}
17 {% if attribute.is_unforgeable or 17 {% if attribute.is_unforgeable or
18 interface_name == 'Window' and attribute.idl_type == 'EventHandler' %} 18 interface_name == 'Window' and attribute.idl_type == 'EventHandler' %}
19 {% if interface_name == 'Window' %} 19 {% if interface_name == 'Window' %}
20 v8::Handle<v8::Object> holder = info.Holder(); 20 v8::Handle<v8::Object> holder = info.Holder();
21 {% else %}{# perform lookup first #} 21 {% else %}{# perform lookup first #}
22 {# FIXME: can we remove this lookup? #} 22 {# FIXME: can we remove this lookup? #}
23 v8::Handle<v8::Object> holder = {{v8_class}}::findInstanceInPrototypeChain(i nfo.This(), info.GetIsolate()); 23 v8::Handle<v8::Object> holder = {{v8_class}}::findInstanceInPrototypeChain(i nfo.This(), info.GetIsolate());
24 if (holder.IsEmpty()) 24 if (holder.IsEmpty())
25 return; 25 return;
26 {% endif %}{# Window #} 26 {% endif %}{# Window #}
27 {{cpp_class}}* imp = {{v8_class}}::toNative(holder); 27 {{cpp_class}}* impl = {{v8_class}}::toNative(holder);
28 {% elif attribute.cached_attribute_validation_method %} 28 {% elif attribute.cached_attribute_validation_method %}
29 v8::Handle<v8::String> propertyName = v8AtomicString(info.GetIsolate(), "{{a ttribute.name}}"); 29 v8::Handle<v8::String> propertyName = v8AtomicString(info.GetIsolate(), "{{a ttribute.name}}");
30 {{cpp_class}}* imp = {{v8_class}}::toNative(info.Holder()); 30 {{cpp_class}}* impl = {{v8_class}}::toNative(info.Holder());
31 if (!imp->{{attribute.cached_attribute_validation_method}}()) { 31 if (!impl->{{attribute.cached_attribute_validation_method}}()) {
32 v8::Handle<v8::Value> jsValue = V8HiddenValue::getHiddenValue(info.GetIs olate(), info.Holder(), propertyName); 32 v8::Handle<v8::Value> jsValue = V8HiddenValue::getHiddenValue(info.GetIs olate(), info.Holder(), propertyName);
33 if (!jsValue.IsEmpty()) { 33 if (!jsValue.IsEmpty()) {
34 v8SetReturnValue(info, jsValue); 34 v8SetReturnValue(info, jsValue);
35 return; 35 return;
36 } 36 }
37 } 37 }
38 {% elif not (attribute.is_static or attribute.is_unforgeable) %} 38 {% elif not (attribute.is_static or attribute.is_unforgeable) %}
39 {{cpp_class}}* imp = {{v8_class}}::toNative(info.Holder()); 39 {{cpp_class}}* impl = {{v8_class}}::toNative(info.Holder());
40 {% endif %} 40 {% endif %}
41 {% if attribute.is_implemented_by and not attribute.is_static %} 41 {% if attribute.is_implemented_by and not attribute.is_static %}
42 ASSERT(imp); 42 ASSERT(impl);
43 {% endif %} 43 {% endif %}
44 {% if interface_name == 'Window' and attribute.idl_type == 'EventHandler' %} 44 {% if interface_name == 'Window' and attribute.idl_type == 'EventHandler' %}
45 if (!imp->document()) 45 if (!impl->document())
46 return; 46 return;
47 {% endif %} 47 {% endif %}
48 {# Local variables #} 48 {# Local variables #}
49 {% if attribute.is_call_with_execution_context %} 49 {% if attribute.is_call_with_execution_context %}
50 ExecutionContext* scriptContext = currentExecutionContext(info.GetIsolate()) ; 50 ExecutionContext* scriptContext = currentExecutionContext(info.GetIsolate()) ;
51 {% endif %} 51 {% endif %}
52 {% if attribute.is_check_security_for_node or 52 {% if attribute.is_check_security_for_node or
53 attribute.is_getter_raises_exception %} 53 attribute.is_getter_raises_exception %}
54 ExceptionState exceptionState(ExceptionState::GetterContext, "{{attribute.na me}}", "{{interface_name}}", info.Holder(), info.GetIsolate()); 54 ExceptionState exceptionState(ExceptionState::GetterContext, "{{attribute.na me}}", "{{interface_name}}", info.Holder(), info.GetIsolate());
55 {% endif %} 55 {% endif %}
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
217 {% endif %} 217 {% endif %}
218 {% if attribute.has_strict_type_checking %} 218 {% if attribute.has_strict_type_checking %}
219 {# Type checking for interface types (if interface not implemented, throw 219 {# Type checking for interface types (if interface not implemented, throw
220 TypeError), per http://www.w3.org/TR/WebIDL/#es-interface #} 220 TypeError), per http://www.w3.org/TR/WebIDL/#es-interface #}
221 if (!isUndefinedOrNull(jsValue) && !V8{{attribute.idl_type}}::hasInstance(js Value, info.GetIsolate())) { 221 if (!isUndefinedOrNull(jsValue) && !V8{{attribute.idl_type}}::hasInstance(js Value, info.GetIsolate())) {
222 exceptionState.throwTypeError("The provided value is not of type '{{attr ibute.idl_type}}'."); 222 exceptionState.throwTypeError("The provided value is not of type '{{attr ibute.idl_type}}'.");
223 exceptionState.throwIfNeeded(); 223 exceptionState.throwIfNeeded();
224 return; 224 return;
225 } 225 }
226 {% endif %} 226 {% endif %}
227 {# imp #} 227 {# impl #}
228 {% if attribute.put_forwards %} 228 {% if attribute.put_forwards %}
229 {{cpp_class}}* proxyImp = {{v8_class}}::toNative(info.Holder()); 229 {{cpp_class}}* proxyImpl = {{v8_class}}::toNative(info.Holder());
230 RefPtr<{{attribute.idl_type}}> imp = WTF::getPtr(proxyImp->{{attribute.name} }()); 230 RefPtr<{{attribute.idl_type}}> impl = WTF::getPtr(proxyImpl->{{attribute.nam e}}());
231 if (!imp) 231 if (!impl)
232 return; 232 return;
233 {% elif not attribute.is_static %} 233 {% elif not attribute.is_static %}
234 {{cpp_class}}* imp = {{v8_class}}::toNative(info.Holder()); 234 {{cpp_class}}* impl = {{v8_class}}::toNative(info.Holder());
235 {% endif %} 235 {% endif %}
236 {% if attribute.is_implemented_by and not attribute.is_static %} 236 {% if attribute.is_implemented_by and not attribute.is_static %}
237 ASSERT(imp); 237 ASSERT(impl);
238 {% endif %} 238 {% endif %}
239 {% if attribute.idl_type == 'EventHandler' and interface_name == 'Window' %} 239 {% if attribute.idl_type == 'EventHandler' and interface_name == 'Window' %}
240 if (!imp->document()) 240 if (!impl->document())
241 return; 241 return;
242 {% endif %} 242 {% endif %}
243 {# Convert JS value to C++ value #} 243 {# Convert JS value to C++ value #}
244 {% if attribute.idl_type != 'EventHandler' %} 244 {% if attribute.idl_type != 'EventHandler' %}
245 {{attribute.v8_value_to_local_cpp_value}}; 245 {{attribute.v8_value_to_local_cpp_value}};
246 {% elif not is_node %}{# EventHandler hack #} 246 {% elif not is_node %}{# EventHandler hack #}
247 moveEventListenerToNewWrapper(info.Holder(), {{attribute.event_handler_gette r_expression}}, jsValue, {{v8_class}}::eventListenerCacheIndex, info.GetIsolate( )); 247 moveEventListenerToNewWrapper(info.Holder(), {{attribute.event_handler_gette r_expression}}, jsValue, {{v8_class}}::eventListenerCacheIndex, info.GetIsolate( ));
248 {% endif %} 248 {% endif %}
249 {% if attribute.enum_validation_expression %} 249 {% if attribute.enum_validation_expression %}
250 {# Setter ignores invalid enum values: http://www.w3.org/TR/WebIDL/#idl-enum s #} 250 {# Setter ignores invalid enum values: http://www.w3.org/TR/WebIDL/#idl-enum s #}
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
309 {% endif %} 309 {% endif %}
310 {% if attribute.has_custom_setter %} 310 {% if attribute.has_custom_setter %}
311 {{v8_class}}::{{attribute.name}}AttributeSetterCustom(jsValue, info); 311 {{v8_class}}::{{attribute.name}}AttributeSetterCustom(jsValue, info);
312 {% else %} 312 {% else %}
313 {{cpp_class}}V8Internal::{{attribute.name}}AttributeSetter{{world_suffix}}(j sValue, info); 313 {{cpp_class}}V8Internal::{{attribute.name}}AttributeSetter{{world_suffix}}(j sValue, info);
314 {% endif %} 314 {% endif %}
315 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); 315 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
316 } 316 }
317 {% endfilter %} 317 {% endfilter %}
318 {% endmacro %} 318 {% endmacro %}
OLDNEW
« no previous file with comments | « Source/bindings/scripts/v8_utilities.py ('k') | Source/bindings/templates/interface.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698