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

Side by Side Diff: third_party/WebKit/Source/bindings/tests/results/core/StringOrArrayBufferOrArrayBufferView.cpp

Issue 1961883002: Generate separate files for union type containers (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 7 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
OLDNEW
(Empty)
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.
4
5 // This file has been auto-generated by code_generator_v8.py. DO NOT MODIFY!
6
7 #include "StringOrArrayBufferOrArrayBufferView.h"
8
9 #include "bindings/core/v8/ToV8.h"
10 #include "bindings/core/v8/V8ArrayBuffer.h"
11 #include "bindings/core/v8/V8ArrayBufferView.h"
12 #include "core/dom/FlexibleArrayBufferView.h"
13
14 namespace blink {
15
16 StringOrArrayBufferOrArrayBufferView::StringOrArrayBufferOrArrayBufferView()
17 : m_type(SpecificTypeNone)
18 {
19 }
20
21 String StringOrArrayBufferOrArrayBufferView::getAsString() const
22 {
23 ASSERT(isString());
24 return m_string;
25 }
26
27 void StringOrArrayBufferOrArrayBufferView::setString(String value)
28 {
29 ASSERT(isNull());
30 m_string = value;
31 m_type = SpecificTypeString;
32 }
33
34 StringOrArrayBufferOrArrayBufferView StringOrArrayBufferOrArrayBufferView::fromS tring(String value)
35 {
36 StringOrArrayBufferOrArrayBufferView container;
37 container.setString(value);
38 return container;
39 }
40
41 TestArrayBuffer* StringOrArrayBufferOrArrayBufferView::getAsArrayBuffer() const
42 {
43 ASSERT(isArrayBuffer());
44 return m_arrayBuffer;
45 }
46
47 void StringOrArrayBufferOrArrayBufferView::setArrayBuffer(TestArrayBuffer* value )
48 {
49 ASSERT(isNull());
50 m_arrayBuffer = value;
51 m_type = SpecificTypeArrayBuffer;
52 }
53
54 StringOrArrayBufferOrArrayBufferView StringOrArrayBufferOrArrayBufferView::fromA rrayBuffer(TestArrayBuffer* value)
55 {
56 StringOrArrayBufferOrArrayBufferView container;
57 container.setArrayBuffer(value);
58 return container;
59 }
60
61 TestArrayBufferView* StringOrArrayBufferOrArrayBufferView::getAsArrayBufferView( ) const
62 {
63 ASSERT(isArrayBufferView());
64 return m_arrayBufferView;
65 }
66
67 void StringOrArrayBufferOrArrayBufferView::setArrayBufferView(TestArrayBufferVie w* value)
68 {
69 ASSERT(isNull());
70 m_arrayBufferView = value;
71 m_type = SpecificTypeArrayBufferView;
72 }
73
74 StringOrArrayBufferOrArrayBufferView StringOrArrayBufferOrArrayBufferView::fromA rrayBufferView(TestArrayBufferView* value)
75 {
76 StringOrArrayBufferOrArrayBufferView container;
77 container.setArrayBufferView(value);
78 return container;
79 }
80
81 StringOrArrayBufferOrArrayBufferView::StringOrArrayBufferOrArrayBufferView(const StringOrArrayBufferOrArrayBufferView&) = default;
82 StringOrArrayBufferOrArrayBufferView::~StringOrArrayBufferOrArrayBufferView() = default;
83 StringOrArrayBufferOrArrayBufferView& StringOrArrayBufferOrArrayBufferView::oper ator=(const StringOrArrayBufferOrArrayBufferView&) = default;
84
85 DEFINE_TRACE(StringOrArrayBufferOrArrayBufferView)
86 {
87 visitor->trace(m_arrayBuffer);
88 visitor->trace(m_arrayBufferView);
89 }
90
91 void V8StringOrArrayBufferOrArrayBufferView::toImpl(v8::Isolate* isolate, v8::Lo cal<v8::Value> v8Value, StringOrArrayBufferOrArrayBufferView& impl, UnionTypeCon versionMode conversionMode, ExceptionState& exceptionState)
92 {
93 if (v8Value.IsEmpty())
94 return;
95
96 if (conversionMode == UnionTypeConversionMode::Nullable && isUndefinedOrNull (v8Value))
97 return;
98
99 if (V8ArrayBuffer::hasInstance(v8Value, isolate)) {
100 TestArrayBuffer* cppValue = V8ArrayBuffer::toImpl(v8::Local<v8::Object>: :Cast(v8Value));
101 impl.setArrayBuffer(cppValue);
102 return;
103 }
104
105 if (V8ArrayBufferView::hasInstance(v8Value, isolate)) {
106 TestArrayBufferView* cppValue = V8ArrayBufferView::toImpl(v8::Local<v8:: Object>::Cast(v8Value));
107 impl.setArrayBufferView(cppValue);
108 return;
109 }
110
111 {
112 V8StringResource<> cppValue = v8Value;
113 if (!cppValue.prepare(exceptionState))
114 return;
115 impl.setString(cppValue);
116 return;
117 }
118
119 }
120
121 v8::Local<v8::Value> toV8(const StringOrArrayBufferOrArrayBufferView& impl, v8:: Local<v8::Object> creationContext, v8::Isolate* isolate)
122 {
123 switch (impl.m_type) {
124 case StringOrArrayBufferOrArrayBufferView::SpecificTypeNone:
125 return v8::Null(isolate);
126 case StringOrArrayBufferOrArrayBufferView::SpecificTypeString:
127 return v8String(isolate, impl.getAsString());
128 case StringOrArrayBufferOrArrayBufferView::SpecificTypeArrayBuffer:
129 return toV8(impl.getAsArrayBuffer(), creationContext, isolate);
130 case StringOrArrayBufferOrArrayBufferView::SpecificTypeArrayBufferView:
131 return toV8(impl.getAsArrayBufferView(), creationContext, isolate);
132 default:
133 ASSERT_NOT_REACHED();
134 }
135 return v8::Local<v8::Value>();
136 }
137
138 StringOrArrayBufferOrArrayBufferView NativeValueTraits<StringOrArrayBufferOrArra yBufferView>::nativeValue(v8::Isolate* isolate, v8::Local<v8::Value> value, Exce ptionState& exceptionState)
139 {
140 StringOrArrayBufferOrArrayBufferView impl;
141 V8StringOrArrayBufferOrArrayBufferView::toImpl(isolate, value, impl, UnionTy peConversionMode::NotNullable, exceptionState);
142 return impl;
143 }
144
145 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698