12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- // Copyright (c) 2014 GitHub, Inc.
- // Use of this source code is governed by the MIT license that can be
- // found in the LICENSE file.
- #include "atom/common/native_mate_converters/value_converter.h"
- #include "atom/common/native_mate_converters/v8_value_converter.h"
- #include "base/values.h"
- namespace mate {
- bool Converter<base::DictionaryValue>::FromV8(v8::Isolate* isolate,
- v8::Local<v8::Value> val,
- base::DictionaryValue* out) {
- atom::V8ValueConverter converter;
- std::unique_ptr<base::Value> value(
- converter.FromV8Value(val, isolate->GetCurrentContext()));
- if (value && value->IsType(base::Value::Type::DICTIONARY)) {
- out->Swap(static_cast<base::DictionaryValue*>(value.get()));
- return true;
- } else {
- return false;
- }
- }
- v8::Local<v8::Value> Converter<base::DictionaryValue>::ToV8(
- v8::Isolate* isolate,
- const base::DictionaryValue& val) {
- atom::V8ValueConverter converter;
- return converter.ToV8Value(&val, isolate->GetCurrentContext());
- }
- bool Converter<base::ListValue>::FromV8(v8::Isolate* isolate,
- v8::Local<v8::Value> val,
- base::ListValue* out) {
- atom::V8ValueConverter converter;
- std::unique_ptr<base::Value> value(
- converter.FromV8Value(val, isolate->GetCurrentContext()));
- if (value->IsType(base::Value::Type::LIST)) {
- out->Swap(static_cast<base::ListValue*>(value.get()));
- return true;
- } else {
- return false;
- }
- }
- v8::Local<v8::Value> Converter<base::ListValue>::ToV8(
- v8::Isolate* isolate,
- const base::ListValue& val) {
- atom::V8ValueConverter converter;
- return converter.ToV8Value(&val, isolate->GetCurrentContext());
- }
- } // namespace mate
|