OLD | NEW |
(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 |
OLD | NEW |