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

Unified Diff: third_party/WebKit/Source/bindings/templates/union_container.cpp.tmpl

Issue 2707243006: [SharedArrayBuffer] Prevent SharedArrayBuffer being used in Web APIs (Closed)
Patch Set: update comment, add TODO Created 3 years, 8 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/union_container.cpp.tmpl
diff --git a/third_party/WebKit/Source/bindings/templates/union_container.cpp.tmpl b/third_party/WebKit/Source/bindings/templates/union_container.cpp.tmpl
index 02dca6c3f7a36d1120bf1cef5a09f73db0a84fe0..e361c1b8ac69763b698f5aea204362401a705175 100644
--- a/third_party/WebKit/Source/bindings/templates/union_container.cpp.tmpl
+++ b/third_party/WebKit/Source/bindings/templates/union_container.cpp.tmpl
@@ -7,7 +7,13 @@ if (v8Value->Is{{member.type_name}}()) {
{% else %}
if (V8{{member.type_name}}::hasInstance(v8Value, isolate)) {
{% endif %}
+{% if member.is_array_buffer_view_or_typed_array %}
+ {{member.cpp_local_type}} cppValue = ToNotShared<{{member.cpp_local_type}}>(isolate, v8Value, exceptionState);
+ if (exceptionState.HadException())
+ return;
+{% else %}
{{member.cpp_local_type}} cppValue = V8{{member.type_name}}::toImpl(v8::Local<v8::Object>::Cast(v8Value));
+{% endif %}
impl.set{{member.type_name}}(cppValue);
return;
}
@@ -41,7 +47,11 @@ void {{cpp_class}}::set{{member.type_name}}({{member.rvalue_cpp_type}} value) {
return;
}
{% endif %}
+ {% if member.is_array_buffer_view_or_typed_array %}
+ m_{{member.cpp_name}} = {{member.cpp_type}}(value.View());
+ {% else %}
m_{{member.cpp_name}} = value;
+ {% endif %}
m_type = {{member.specific_type_enum}};
}

Powered by Google App Engine
This is Rietveld 408576698