// Copyright 2014 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // This file has been auto-generated by {{code_generator}}. DO NOT MODIFY! #include "config.h" #include "{{v8_class}}.h" {% for filename in cpp_includes if filename != '%s.h' % v8_class %} #include "{{filename}}" {% endfor %} namespace blink { {{cpp_class}}* {{v8_class}}::toNative(v8::Isolate* isolate, v8::Handle v8Value) { {{cpp_class}}* impl = {{cpp_class}}::create(); // FIXME: Do not use Dictionary and DictionaryHelper // https://crbug.com/321462 Dictionary dictionary(v8Value, isolate); {% for member in members %} {{member.cpp_type}} {{member.name}}; if (DictionaryHelper::get(dictionary, "{{member.name}}", {{member.name}})) impl->{{member.setter_name}}({{member.name}}); {% endfor %} return impl; } v8::Handle toV8({{cpp_class}}* impl, v8::Handle creationContext, v8::Isolate* isolate) { v8::Handle v8Object = v8::Object::New(isolate); {% for member in members %} if (impl->{{member.has_method_name}}()) v8Object->Set(v8String(isolate, "{{member.name}}"), {{member.cpp_value_to_v8_value}}); {% if member.v8_default_value %} else v8Object->Set(v8String(isolate, "{{member.name}}"), {{member.v8_default_value}}); {% endif %} {% endfor %} return v8Object; } } // namespace blink