|  | // 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<v8::Value> 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<v8::Value> toV8({{cpp_class}}* impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate) | 
|  | { | 
|  | v8::Handle<v8::Object> 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 |