Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(265)

Unified Diff: Source/bindings/tests/results/V8TestDictionary.cpp

Issue 386963003: [WIP][NotForLand] IDL dictionary support (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: sequence and array support Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/bindings/tests/results/V8TestDictionary.h ('k') | Source/bindings/tests/results/V8TestObject.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/bindings/tests/results/V8TestDictionary.cpp
diff --git a/Source/bindings/tests/results/V8TestDictionary.cpp b/Source/bindings/tests/results/V8TestDictionary.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..55c4102f4514a72787a444460b2182a09f0739c4
--- /dev/null
+++ b/Source/bindings/tests/results/V8TestDictionary.cpp
@@ -0,0 +1,92 @@
+// Copyright 2014 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.
+
+// This file has been auto-generated by code_generator_v8.py. DO NOT MODIFY!
+
+#include "config.h"
+#include "V8TestDictionary.h"
+
+#include "bindings/core/v8/Dictionary.h"
+#include "bindings/tests/v8/V8Node.h"
+#include "bindings/tests/v8/V8TestInterface.h"
+
+namespace blink {
+
+TestDictionary* V8TestDictionary::toNative(v8::Isolate* isolate, v8::Handle<v8::Value> v8Value)
+{
+ TestDictionary* impl = TestDictionary::create();
+ // FIXME: Do not use Dictionary and DictionaryHelper
+ // https://crbug.com/321462
+ Dictionary dictionary(v8Value, isolate);
+ bool booleanMember;
+ if (DictionaryHelper::get(dictionary, "booleanMember", booleanMember))
+ impl->setBooleanMember(booleanMember);
+ bool booleanOrNullMember;
+ if (DictionaryHelper::get(dictionary, "booleanOrNullMember", booleanOrNullMember))
+ impl->setBooleanOrNullMember(booleanOrNullMember);
+ Vector<float> floatSequenceMember;
+ if (DictionaryHelper::get(dictionary, "floatSequenceMember", floatSequenceMember))
+ impl->setFloatSequenceMember(floatSequenceMember);
+ int longMember;
+ if (DictionaryHelper::get(dictionary, "longMember", longMember))
+ impl->setLongMember(longMember);
+ else
+ impl->setLongMember(1);
+ WillBeHeapVector<RefPtrWillBeMember<Node> > nodeArrayMember;
+ if (DictionaryHelper::get(dictionary, "nodeArrayMember", nodeArrayMember))
+ impl->setNodeArrayMember(nodeArrayMember);
+ RefPtrWillBeRawPtr<Node> nodeMember;
+ if (DictionaryHelper::get(dictionary, "nodeMember", nodeMember))
+ impl->setNodeMember(nodeMember);
+ String stringMember;
+ if (DictionaryHelper::get(dictionary, "stringMember", stringMember))
+ impl->setStringMember(stringMember);
+ String stringOrNullMember;
+ if (DictionaryHelper::get(dictionary, "stringOrNullMember", stringOrNullMember))
+ impl->setStringOrNullMember(stringOrNullMember);
+ RefPtr<TestInterfaceImplementation> testInterfaceMember;
+ if (DictionaryHelper::get(dictionary, "testInterfaceMember", testInterfaceMember))
+ impl->setTestInterfaceMember(testInterfaceMember);
+ RefPtr<TestInterfaceImplementation> testInterfaceOrNullMember;
+ if (DictionaryHelper::get(dictionary, "testInterfaceOrNullMember", testInterfaceOrNullMember))
+ impl->setTestInterfaceOrNullMember(testInterfaceOrNullMember);
+ Vector<RefPtr<TestInterfaceImplementation> > testInterfaceSequenceSequenceMember;
+ if (DictionaryHelper::get(dictionary, "testInterfaceSequenceSequenceMember", testInterfaceSequenceSequenceMember))
+ impl->setTestInterfaceSequenceSequenceMember(testInterfaceSequenceSequenceMember);
+ return impl;
+}
+
+v8::Handle<v8::Value> toV8(TestDictionary* impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
+{
+ v8::Handle<v8::Object> v8Object = v8::Object::New(isolate);
+ if (impl->hasBooleanMember())
+ v8Object->Set(v8String(isolate, "booleanMember"), v8Boolean(impl->booleanMember(), isolate));
+ if (impl->hasBooleanOrNullMember())
+ v8Object->Set(v8String(isolate, "booleanOrNullMember"), v8Boolean(impl->booleanOrNullMember(), isolate));
+ else
+ v8Object->Set(v8String(isolate, "booleanOrNullMember"), v8::Null(isolate));
+ if (impl->hasFloatSequenceMember())
+ v8Object->Set(v8String(isolate, "floatSequenceMember"), v8Array(impl->floatSequenceMember(), creationContext, isolate));
+ if (impl->hasLongMember())
+ v8Object->Set(v8String(isolate, "longMember"), v8::Integer::New(isolate, impl->longMember()));
+ else
+ v8Object->Set(v8String(isolate, "longMember"), v8::Integer::New(isolate, 1));
+ if (impl->hasNodeArrayMember())
+ v8Object->Set(v8String(isolate, "nodeArrayMember"), v8Array(impl->nodeArrayMember(), creationContext, isolate));
+ if (impl->hasNodeMember())
+ v8Object->Set(v8String(isolate, "nodeMember"), toV8(impl->nodeMember(), creationContext, isolate));
+ if (impl->hasStringMember())
+ v8Object->Set(v8String(isolate, "stringMember"), v8String(isolate, impl->stringMember()));
+ if (impl->hasStringOrNullMember())
+ v8Object->Set(v8String(isolate, "stringOrNullMember"), impl->stringOrNullMember().isNull() ? v8::Handle<v8::Value>(v8::Null(isolate)) : v8String(isolate, impl->stringOrNullMember()));
+ if (impl->hasTestInterfaceMember())
+ v8Object->Set(v8String(isolate, "testInterfaceMember"), toV8(impl->testInterfaceMember(), creationContext, isolate));
+ if (impl->hasTestInterfaceOrNullMember())
+ v8Object->Set(v8String(isolate, "testInterfaceOrNullMember"), toV8(impl->testInterfaceOrNullMember(), creationContext, isolate));
+ if (impl->hasTestInterfaceSequenceSequenceMember())
+ v8Object->Set(v8String(isolate, "testInterfaceSequenceSequenceMember"), v8Array(impl->testInterfaceSequenceSequenceMember(), creationContext, isolate));
+ return v8Object;
+}
+
+} // namespace blink
« no previous file with comments | « Source/bindings/tests/results/V8TestDictionary.h ('k') | Source/bindings/tests/results/V8TestObject.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698