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

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

Issue 384773004: IDL clean-up: Rename is_nullable_simple => is_implicit_nullable (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@idl-nullable-method-return-type
Patch Set: order, order Created 6 years, 5 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
« no previous file with comments | « Source/bindings/scripts/v8_types.py ('k') | Source/bindings/templates/methods.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 {
(...skipping 27 matching lines...) Expand all
38 {% if attribute.is_call_with_execution_context %} 38 {% if attribute.is_call_with_execution_context %}
39 ExecutionContext* executionContext = currentExecutionContext(info.GetIsolate ()); 39 ExecutionContext* executionContext = currentExecutionContext(info.GetIsolate ());
40 {% endif %} 40 {% endif %}
41 {% if attribute.is_call_with_script_state %} 41 {% if attribute.is_call_with_script_state %}
42 ScriptState* scriptState = ScriptState::current(info.GetIsolate()); 42 ScriptState* scriptState = ScriptState::current(info.GetIsolate());
43 {% endif %} 43 {% endif %}
44 {% if attribute.is_check_security_for_node or 44 {% if attribute.is_check_security_for_node or
45 attribute.is_getter_raises_exception %} 45 attribute.is_getter_raises_exception %}
46 ExceptionState exceptionState(ExceptionState::GetterContext, "{{attribute.na me}}", "{{interface_name}}", holder, info.GetIsolate()); 46 ExceptionState exceptionState(ExceptionState::GetterContext, "{{attribute.na me}}", "{{interface_name}}", holder, info.GetIsolate());
47 {% endif %} 47 {% endif %}
48 {% if attribute.is_nullable and not attribute.is_nullable_simple %} 48 {% if attribute.is_explicit_nullable %}
49 bool isNull = false; 49 bool isNull = false;
50 {% endif %} 50 {% endif %}
51 {% if attribute.is_implemented_in_private_script %} 51 {% if attribute.is_implemented_in_private_script %}
52 {{attribute.cpp_type}} result; 52 {{attribute.cpp_type}} result;
53 if (!{{attribute.cpp_value_original}}) 53 if (!{{attribute.cpp_value_original}})
54 return; 54 return;
55 {% elif attribute.cpp_value_original %} 55 {% elif attribute.cpp_value_original %}
56 {{attribute.cpp_type}} {{attribute.cpp_value}}({{attribute.cpp_value_origina l}}); 56 {{attribute.cpp_type}} {{attribute.cpp_value}}({{attribute.cpp_value_origina l}});
57 {% endif %} 57 {% endif %}
58 {# Checks #} 58 {# Checks #}
59 {% if attribute.is_getter_raises_exception %} 59 {% if attribute.is_getter_raises_exception %}
60 if (UNLIKELY(exceptionState.throwIfNeeded())) 60 if (UNLIKELY(exceptionState.throwIfNeeded()))
61 return; 61 return;
62 {% endif %} 62 {% endif %}
63 {% if attribute.is_check_security_for_node %} 63 {% if attribute.is_check_security_for_node %}
64 if (!BindingSecurity::shouldAllowAccessToNode(info.GetIsolate(), {{attribute .cpp_value}}, exceptionState)) { 64 if (!BindingSecurity::shouldAllowAccessToNode(info.GetIsolate(), {{attribute .cpp_value}}, exceptionState)) {
65 v8SetReturnValueNull(info); 65 v8SetReturnValueNull(info);
66 exceptionState.throwIfNeeded(); 66 exceptionState.throwIfNeeded();
67 return; 67 return;
68 } 68 }
69 {% endif %} 69 {% endif %}
70 {% if attribute.reflect_only %} 70 {% if attribute.reflect_only %}
71 {{release_only_check(attribute.reflect_only, attribute.reflect_missing, 71 {{release_only_check(attribute.reflect_only, attribute.reflect_missing,
72 attribute.reflect_invalid, attribute.reflect_empty, 72 attribute.reflect_invalid, attribute.reflect_empty,
73 attribute.cpp_value) 73 attribute.cpp_value)
74 | indent}} 74 | indent}}
75 {% endif %} 75 {% endif %}
76 {% if attribute.is_nullable and not attribute.is_nullable_simple %} 76 {% if attribute.is_explicit_nullable %}
77 if (isNull) { 77 if (isNull) {
78 v8SetReturnValueNull(info); 78 v8SetReturnValueNull(info);
79 return; 79 return;
80 } 80 }
81 {% endif %} 81 {% endif %}
82 {% if attribute.cached_attribute_validation_method %} 82 {% if attribute.cached_attribute_validation_method %}
83 V8HiddenValue::setHiddenValue(info.GetIsolate(), holder, propertyName, {{att ribute.cpp_value_to_v8_value}}); 83 V8HiddenValue::setHiddenValue(info.GetIsolate(), holder, propertyName, {{att ribute.cpp_value_to_v8_value}});
84 {% endif %} 84 {% endif %}
85 {# v8SetReturnValue #} 85 {# v8SetReturnValue #}
86 {% if attribute.is_keep_alive_for_gc %} 86 {% if attribute.is_keep_alive_for_gc %}
(...skipping 298 matching lines...) Expand 10 before | Expand all | Expand 10 after
385 v8::Handle<v8::Value> holder = toV8(holderImpl, scriptState->context()->Glob al(), scriptState->isolate()); 385 v8::Handle<v8::Value> holder = toV8(holderImpl, scriptState->context()->Glob al(), scriptState->isolate());
386 386
387 // FIXME: Support exceptions thrown from Blink-in-JS. 387 // FIXME: Support exceptions thrown from Blink-in-JS.
388 v8::TryCatch block; 388 v8::TryCatch block;
389 PrivateScriptRunner::runDOMAttributeSetter(scriptState, "{{cpp_class}}", "{{ attribute.name}}", holder, {{attribute.private_script_cpp_value_to_v8_value}}); 389 PrivateScriptRunner::runDOMAttributeSetter(scriptState, "{{cpp_class}}", "{{ attribute.name}}", holder, {{attribute.private_script_cpp_value_to_v8_value}});
390 if (block.HasCaught()) 390 if (block.HasCaught())
391 return false; 391 return false;
392 return true; 392 return true;
393 } 393 }
394 {% endmacro %} 394 {% endmacro %}
OLDNEW
« no previous file with comments | « Source/bindings/scripts/v8_types.py ('k') | Source/bindings/templates/methods.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698