Home | History | Annotate | Download | only in gin
      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