1 // Copyright 2013 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "gin/dictionary.h" 6 7 namespace gin { 8 9 Dictionary::Dictionary(v8::Isolate* isolate) 10 : isolate_(isolate) { 11 } 12 13 Dictionary::Dictionary(v8::Isolate* isolate, 14 v8::Handle<v8::Object> object) 15 : isolate_(isolate), 16 object_(object) { 17 } 18 19 Dictionary::~Dictionary() { 20 } 21 22 Dictionary Dictionary::CreateEmpty(v8::Isolate* isolate) { 23 Dictionary dictionary(isolate); 24 dictionary.object_ = v8::Object::New(isolate); 25 return dictionary; 26 } 27 28 v8::Handle<v8::Value> Converter<Dictionary>::ToV8(v8::Isolate* isolate, 29 Dictionary val) { 30 return val.object_; 31 } 32 33 bool Converter<Dictionary>::FromV8(v8::Isolate* isolate, 34 v8::Handle<v8::Value> val, 35 Dictionary* out) { 36 if (!val->IsObject()) 37 return false; 38 *out = Dictionary(isolate, v8::Handle<v8::Object>::Cast(val)); 39 return true; 40 } 41 42 } // namespace gin 43