1 // Copyright 2014 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.
5 // This file has been auto-generated by code_generator_v8.py. DO NOT MODIFY!
8 #include "V8TestDictionary.h"
10 #include "bindings/core/v8/Dictionary.h"
11 #include "bindings/tests/v8/V8TestInterface.h"
12 #include "bindings/tests/v8/V8TestInterfaceGarbageCollected.h"
13 #include "bindings/tests/v8/V8TestInterfaceWillBeGarbageCollected.h"
17 TestDictionary* V8TestDictionary::toNative(v8::Isolate* isolate, v8::Handle<v8::Value> v8Value)
19 TestDictionary* impl = TestDictionary::create();
20 // FIXME: Do not use Dictionary and DictionaryHelper
21 // https://crbug.com/321462
22 Dictionary dictionary(v8Value, isolate);
24 if (DictionaryHelper::get(dictionary, "booleanMember", booleanMember))
25 impl->setBooleanMember(booleanMember);
26 double doubleOrNullMember;
27 if (DictionaryHelper::get(dictionary, "doubleOrNullMember", doubleOrNullMember))
28 impl->setDoubleOrNullMember(doubleOrNullMember);
30 if (DictionaryHelper::get(dictionary, "longMember", longMember))
31 impl->setLongMember(longMember);
33 impl->setLongMember(1);
34 Vector<String> stringArrayMember;
35 if (DictionaryHelper::get(dictionary, "stringArrayMember", stringArrayMember))
36 impl->setStringArrayMember(stringArrayMember);
38 if (DictionaryHelper::get(dictionary, "stringMember", stringMember))
39 impl->setStringMember(stringMember);
40 String stringOrNullMember;
41 if (DictionaryHelper::get(dictionary, "stringOrNullMember", stringOrNullMember))
42 impl->setStringOrNullMember(stringOrNullMember);
44 impl->setStringOrNullMember(String("default string value"));
45 Vector<String> stringSequenceMember;
46 if (DictionaryHelper::get(dictionary, "stringSequenceMember", stringSequenceMember))
47 impl->setStringSequenceMember(stringSequenceMember);
48 RawPtr<TestInterfaceGarbageCollected> testInterfaceGarbageCollectedMember;
49 if (DictionaryHelper::get(dictionary, "testInterfaceGarbageCollectedMember", testInterfaceGarbageCollectedMember))
50 impl->setTestInterfaceGarbageCollectedMember(testInterfaceGarbageCollectedMember);
51 RawPtr<TestInterfaceGarbageCollected> testInterfaceGarbageCollectedOrNullMember;
52 if (DictionaryHelper::get(dictionary, "testInterfaceGarbageCollectedOrNullMember", testInterfaceGarbageCollectedOrNullMember))
53 impl->setTestInterfaceGarbageCollectedOrNullMember(testInterfaceGarbageCollectedOrNullMember);
54 RefPtr<TestInterfaceImplementation> testInterfaceMember;
55 if (DictionaryHelper::get(dictionary, "testInterfaceMember", testInterfaceMember))
56 impl->setTestInterfaceMember(testInterfaceMember);
57 RefPtr<TestInterfaceImplementation> testInterfaceOrNullMember;
58 if (DictionaryHelper::get(dictionary, "testInterfaceOrNullMember", testInterfaceOrNullMember))
59 impl->setTestInterfaceOrNullMember(testInterfaceOrNullMember);
60 RefPtrWillBeRawPtr<TestInterfaceWillBeGarbageCollected> testInterfaceWillBeGarbageCollectedMember;
61 if (DictionaryHelper::get(dictionary, "testInterfaceWillBeGarbageCollectedMember", testInterfaceWillBeGarbageCollectedMember))
62 impl->setTestInterfaceWillBeGarbageCollectedMember(testInterfaceWillBeGarbageCollectedMember);
63 RefPtrWillBeRawPtr<TestInterfaceWillBeGarbageCollected> testInterfaceWillBeGarbageCollectedOrNullMember;
64 if (DictionaryHelper::get(dictionary, "testInterfaceWillBeGarbageCollectedOrNullMember", testInterfaceWillBeGarbageCollectedOrNullMember))
65 impl->setTestInterfaceWillBeGarbageCollectedOrNullMember(testInterfaceWillBeGarbageCollectedOrNullMember);
69 v8::Handle<v8::Value> toV8(TestDictionary* impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
71 v8::Handle<v8::Object> v8Object = v8::Object::New(isolate);
72 if (impl->hasBooleanMember())
73 v8Object->Set(v8String(isolate, "booleanMember"), v8Boolean(impl->booleanMember(), isolate));
74 if (impl->hasDoubleOrNullMember())
75 v8Object->Set(v8String(isolate, "doubleOrNullMember"), v8::Number::New(isolate, impl->doubleOrNullMember()));
77 v8Object->Set(v8String(isolate, "doubleOrNullMember"), v8::Null(isolate));
78 if (impl->hasLongMember())
79 v8Object->Set(v8String(isolate, "longMember"), v8::Integer::New(isolate, impl->longMember()));
81 v8Object->Set(v8String(isolate, "longMember"), v8::Integer::New(isolate, 1));
82 if (impl->hasStringArrayMember())
83 v8Object->Set(v8String(isolate, "stringArrayMember"), v8Array(impl->stringArrayMember(), creationContext, isolate));
84 if (impl->hasStringMember())
85 v8Object->Set(v8String(isolate, "stringMember"), v8String(isolate, impl->stringMember()));
86 if (impl->hasStringOrNullMember())
87 v8Object->Set(v8String(isolate, "stringOrNullMember"), impl->stringOrNullMember().isNull() ? v8::Handle<v8::Value>(v8::Null(isolate)) : v8String(isolate, impl->stringOrNullMember()));
89 v8Object->Set(v8String(isolate, "stringOrNullMember"), v8String(isolate, String("default string value")));
90 if (impl->hasStringSequenceMember())
91 v8Object->Set(v8String(isolate, "stringSequenceMember"), v8Array(impl->stringSequenceMember(), creationContext, isolate));
92 if (impl->hasTestInterfaceGarbageCollectedMember())
93 v8Object->Set(v8String(isolate, "testInterfaceGarbageCollectedMember"), toV8(impl->testInterfaceGarbageCollectedMember(), creationContext, isolate));
94 if (impl->hasTestInterfaceGarbageCollectedOrNullMember())
95 v8Object->Set(v8String(isolate, "testInterfaceGarbageCollectedOrNullMember"), toV8(impl->testInterfaceGarbageCollectedOrNullMember(), creationContext, isolate));
96 if (impl->hasTestInterfaceMember())
97 v8Object->Set(v8String(isolate, "testInterfaceMember"), toV8(impl->testInterfaceMember(), creationContext, isolate));
98 if (impl->hasTestInterfaceOrNullMember())
99 v8Object->Set(v8String(isolate, "testInterfaceOrNullMember"), toV8(impl->testInterfaceOrNullMember(), creationContext, isolate));
100 if (impl->hasTestInterfaceWillBeGarbageCollectedMember())
101 v8Object->Set(v8String(isolate, "testInterfaceWillBeGarbageCollectedMember"), toV8(impl->testInterfaceWillBeGarbageCollectedMember(), creationContext, isolate));
102 if (impl->hasTestInterfaceWillBeGarbageCollectedOrNullMember())
103 v8Object->Set(v8String(isolate, "testInterfaceWillBeGarbageCollectedOrNullMember"), toV8(impl->testInterfaceWillBeGarbageCollectedOrNullMember(), creationContext, isolate));