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

Unified Diff: third_party/WebKit/Source/bindings/templates/dictionary_v8.cpp

Issue 2000483002: Clean up V8 bindings template code (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 7 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 side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/bindings/templates/dictionary_v8.cpp
diff --git a/third_party/WebKit/Source/bindings/templates/dictionary_v8.cpp b/third_party/WebKit/Source/bindings/templates/dictionary_v8.cpp
index b59835a4777709c4d278c96070f7e748fedf68ef..1d13190eb01f7d8120fb1546fa0c1c7b0a12b0ad 100644
--- a/third_party/WebKit/Source/bindings/templates/dictionary_v8.cpp
+++ b/third_party/WebKit/Source/bindings/templates/dictionary_v8.cpp
@@ -43,51 +43,47 @@ void {{v8_class}}::toImpl(v8::Isolate* isolate, v8::Local<v8::Value> v8Value, {{
}
{% endif %}
{% for member in members %}
- {% if member.runtime_enabled_function %}
- if ({{member.runtime_enabled_function}}()) {
- {% else %}
- {
+ {% filter runtime_enabled(member.runtime_enabled_function) %}
+ v8::Local<v8::Value> {{member.name}}Value;
+ if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "{{member.name}}")).ToLocal(&{{member.name}}Value)) {
+ exceptionState.rethrowV8Exception(block.Exception());
+ return;
+ }
+ if ({{member.name}}Value.IsEmpty() || {{member.name}}Value->IsUndefined()) {
+ {% if member.is_required %}
+ exceptionState.throwTypeError("required member {{member.name}} is undefined.");
+ return;
+ {% else %}
+ // Do nothing.
+ {% endif %}
+ {% if member.is_nullable %}
+ } else if ({{member.name}}Value->IsNull()) {
+ impl.{{member.null_setter_name}}();
{% endif %}
- v8::Local<v8::Value> {{member.name}}Value;
- if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "{{member.name}}")).ToLocal(&{{member.name}}Value)) {
- exceptionState.rethrowV8Exception(block.Exception());
+ } else {
+ {% if member.deprecate_as %}
+ Deprecation::countDeprecationIfNotPrivateScript(isolate, currentExecutionContext(isolate), UseCounter::{{member.deprecate_as}});
+ {% endif %}
+ {{v8_value_to_local_cpp_value(member) | indent(8)}}
+ {% if member.is_interface_type %}
+ if (!{{member.name}} && !{{member.name}}Value->IsNull()) {
+ exceptionState.throwTypeError("member {{member.name}} is not of type {{member.idl_type}}.");
return;
}
- if ({{member.name}}Value.IsEmpty() || {{member.name}}Value->IsUndefined()) {
- {% if member.is_required %}
- exceptionState.throwTypeError("required member {{member.name}} is undefined.");
- return;
- {% else %}
- // Do nothing.
- {% endif %}
- {% if member.is_nullable %}
- } else if ({{member.name}}Value->IsNull()) {
- impl.{{member.null_setter_name}}();
{% endif %}
- } else {
- {% if member.deprecate_as %}
- Deprecation::countDeprecationIfNotPrivateScript(isolate, currentExecutionContext(isolate), UseCounter::{{member.deprecate_as}});
- {% endif %}
- {{v8_value_to_local_cpp_value(member) | indent(12)}}
- {% if member.is_interface_type %}
- if (!{{member.name}} && !{{member.name}}Value->IsNull()) {
- exceptionState.throwTypeError("member {{member.name}} is not of type {{member.idl_type}}.");
- return;
- }
- {% endif %}
- {% if member.enum_values %}
- {{declare_enum_validation_variable(member.enum_values) | indent(12)}}
- if (!isValidEnum({{member.name}}, validValues, WTF_ARRAY_LENGTH(validValues), "{{member.enum_type}}", exceptionState))
- return;
- {% elif member.is_object %}
- if (!{{member.name}}.isObject()) {
- exceptionState.throwTypeError("member {{member.name}} is not an object.");
- return;
- }
- {% endif %}
- impl.{{member.setter_name}}({{member.name}});
+ {% if member.enum_values %}
+ {{declare_enum_validation_variable(member.enum_values) | indent(8)}}
+ if (!isValidEnum({{member.name}}, validValues, WTF_ARRAY_LENGTH(validValues), "{{member.enum_type}}", exceptionState))
+ return;
+ {% elif member.is_object %}
+ if (!{{member.name}}.isObject()) {
+ exceptionState.throwTypeError("member {{member.name}} is not an object.");
+ return;
}
+ {% endif %}
+ impl.{{member.setter_name}}({{member.name}});
}
+ {% endfilter %}
{% endfor %}
}

Powered by Google App Engine
This is Rietveld 408576698