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