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

Side by Side Diff: Source/bindings/tests/results/core/ArrayBufferOrArrayBufferViewOrDictionary.cpp

Issue 953123003: IDL: Put generated union type containers in separate files (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 10 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright 2015 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 // This file has been auto-generated by code_generator_v8.py. DO NOT MODIFY!
6
7 #include "config.h"
8 #include "ArrayBufferOrArrayBufferViewOrDictionary.h"
9
10
11 namespace blink {
12
13 ArrayBufferOrArrayBufferViewOrDictionary::ArrayBufferOrArrayBufferViewOrDictiona ry()
14 : m_type(SpecificTypeNone)
15 {
16 }
17
18 PassRefPtr<TestArrayBuffer> ArrayBufferOrArrayBufferViewOrDictionary::getAsArray Buffer() const
19 {
20 ASSERT(isArrayBuffer());
21 return m_arrayBuffer;
22 }
23
24 void ArrayBufferOrArrayBufferViewOrDictionary::setArrayBuffer(PassRefPtr<TestArr ayBuffer> value)
25 {
26 ASSERT(isNull());
27 m_arrayBuffer = value;
28 m_type = SpecificTypeArrayBuffer;
29 }
30
31 ArrayBufferOrArrayBufferViewOrDictionary ArrayBufferOrArrayBufferViewOrDictionar y::fromArrayBuffer(PassRefPtr<TestArrayBuffer> value)
32 {
33 ArrayBufferOrArrayBufferViewOrDictionary container;
34 container.setArrayBuffer(value);
35 return container;
36 }
37
38 PassRefPtr<TestArrayBufferView> ArrayBufferOrArrayBufferViewOrDictionary::getAsA rrayBufferView() const
39 {
40 ASSERT(isArrayBufferView());
41 return m_arrayBufferView;
42 }
43
44 void ArrayBufferOrArrayBufferViewOrDictionary::setArrayBufferView(PassRefPtr<Tes tArrayBufferView> value)
45 {
46 ASSERT(isNull());
47 m_arrayBufferView = value;
48 m_type = SpecificTypeArrayBufferView;
49 }
50
51 ArrayBufferOrArrayBufferViewOrDictionary ArrayBufferOrArrayBufferViewOrDictionar y::fromArrayBufferView(PassRefPtr<TestArrayBufferView> value)
52 {
53 ArrayBufferOrArrayBufferViewOrDictionary container;
54 container.setArrayBufferView(value);
55 return container;
56 }
57
58 Dictionary ArrayBufferOrArrayBufferViewOrDictionary::getAsDictionary() const
59 {
60 ASSERT(isDictionary());
61 return m_dictionary;
62 }
63
64 void ArrayBufferOrArrayBufferViewOrDictionary::setDictionary(Dictionary value)
65 {
66 ASSERT(isNull());
67 m_dictionary = value;
68 m_type = SpecificTypeDictionary;
69 }
70
71 ArrayBufferOrArrayBufferViewOrDictionary ArrayBufferOrArrayBufferViewOrDictionar y::fromDictionary(Dictionary value)
72 {
73 ArrayBufferOrArrayBufferViewOrDictionary container;
74 container.setDictionary(value);
75 return container;
76 }
77
78 void V8ArrayBufferOrArrayBufferViewOrDictionary::toImpl(v8::Isolate* isolate, v8 ::Local<v8::Value> v8Value, ArrayBufferOrArrayBufferViewOrDictionary& impl, Exce ptionState& exceptionState)
79 {
80 if (v8Value.IsEmpty())
81 return;
82
83 if (V8ArrayBuffer::hasInstance(v8Value, isolate)) {
84 RefPtr<TestArrayBuffer> cppValue = V8ArrayBuffer::toImpl(v8::Local<v8::O bject>::Cast(v8Value));
85 impl.setArrayBuffer(cppValue);
86 return;
87 }
88
89 if (V8ArrayBufferView::hasInstance(v8Value, isolate)) {
90 RefPtr<TestArrayBufferView> cppValue = V8ArrayBufferView::toImpl(v8::Loc al<v8::Object>::Cast(v8Value));
91 impl.setArrayBufferView(cppValue);
92 return;
93 }
94
95 if (isUndefinedOrNull(v8Value) || v8Value->IsObject()) {
96 TONATIVE_VOID_EXCEPTIONSTATE(Dictionary, cppValue, Dictionary(v8Value, i solate, exceptionState), exceptionState);
97 impl.setDictionary(cppValue);
98 return;
99 }
100
101 exceptionState.throwTypeError("The provided value is not of type '(ArrayBuff er or ArrayBufferView or Dictionary)'");
102 }
103
104 v8::Local<v8::Value> toV8(const ArrayBufferOrArrayBufferViewOrDictionary& impl, v8::Local<v8::Object> creationContext, v8::Isolate* isolate)
105 {
106 switch (impl.m_type) {
107 case ArrayBufferOrArrayBufferViewOrDictionary::SpecificTypeNone:
108 return v8::Null(isolate);
109 case ArrayBufferOrArrayBufferViewOrDictionary::SpecificTypeArrayBuffer:
110 return toV8(impl.getAsArrayBuffer(), creationContext, isolate);
111 case ArrayBufferOrArrayBufferViewOrDictionary::SpecificTypeArrayBufferView:
112 return toV8(impl.getAsArrayBufferView(), creationContext, isolate);
113 case ArrayBufferOrArrayBufferViewOrDictionary::SpecificTypeDictionary:
114 return impl.getAsDictionary().v8Value();
115 default:
116 ASSERT_NOT_REACHED();
117 }
118 return v8::Local<v8::Value>();
119 }
120
121 ArrayBufferOrArrayBufferViewOrDictionary NativeValueTraits<ArrayBufferOrArrayBuf ferViewOrDictionary>::nativeValue(const v8::Local<v8::Value>& value, v8::Isolate * isolate, ExceptionState& exceptionState)
122 {
123 ArrayBufferOrArrayBufferViewOrDictionary impl;
124 V8ArrayBufferOrArrayBufferViewOrDictionary::toImpl(isolate, value, impl, exc eptionState);
125 return impl;
126 }
127
128 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698