| // Copyright 2013 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. |
| |
| #include "gin/dictionary.h" |
| |
| namespace gin { |
| |
| Dictionary::Dictionary(v8::Isolate* isolate) |
| : isolate_(isolate) { |
| } |
| |
| Dictionary::Dictionary(v8::Isolate* isolate, |
| v8::Local<v8::Object> object) |
| : isolate_(isolate), |
| object_(object) { |
| } |
| |
| Dictionary::Dictionary(const Dictionary& other) = default; |
| |
| Dictionary::~Dictionary() = default; |
| |
| Dictionary Dictionary::CreateEmpty(v8::Isolate* isolate) { |
| Dictionary dictionary(isolate); |
| dictionary.object_ = v8::Object::New(isolate); |
| return dictionary; |
| } |
| |
| v8::Local<v8::Value> Converter<Dictionary>::ToV8(v8::Isolate* isolate, |
| Dictionary val) { |
| return val.object_; |
| } |
| |
| bool Converter<Dictionary>::FromV8(v8::Isolate* isolate, |
| v8::Local<v8::Value> val, |
| Dictionary* out) { |
| if (!val->IsObject()) |
| return false; |
| *out = Dictionary(isolate, v8::Local<v8::Object>::Cast(val)); |
| return true; |
| } |
| |
| } // namespace gin |