| Index: Source/bindings/tests/results/core/UnionTypesCore.h
|
| diff --git a/Source/bindings/tests/results/core/UnionTypesCore.h b/Source/bindings/tests/results/core/UnionTypesCore.h
|
| index 59d2429fc17a4c01e825a79b8b12ba0dda17c87c..ed9e25225d43119aac83db1addaaeb46383a6b60 100644
|
| --- a/Source/bindings/tests/results/core/UnionTypesCore.h
|
| +++ b/Source/bindings/tests/results/core/UnionTypesCore.h
|
| @@ -7,32 +7,299 @@
|
| #ifndef UnionTypeCore_h
|
| #define UnionTypeCore_h
|
|
|
| +#include "bindings/core/v8/ExceptionState.h"
|
| +#include "bindings/core/v8/V8Binding.h"
|
| +#include "platform/heap/Handle.h"
|
| +
|
| namespace blink {
|
|
|
| -class LongSequenceOrStringArrayOrUnrestrictedDouble final {
|
| - // FIXME: Implement
|
| +class Node;
|
| +class NodeList;
|
| +class TestDictionary;
|
| +class TestInterface;
|
| +class TestInterfaceEmpty;
|
| +class TestInterfaceGarbageCollected;
|
| +class TestInterfaceWillBeGarbageCollected;
|
| +
|
| +class BooleanOrStringOrUnrestrictedDouble final {
|
| + ALLOW_ONLY_INLINE_ALLOCATION();
|
| +public:
|
| + BooleanOrStringOrUnrestrictedDouble();
|
| + bool isNull() const { return m_type == SpecificTypeNone; }
|
| +
|
| + bool isBoolean() const { return m_type == SpecificTypeBoolean; }
|
| + bool getAsBoolean();
|
| + void setBoolean(bool);
|
| +
|
| + bool isString() const { return m_type == SpecificTypeString; }
|
| + String getAsString();
|
| + void setString(String);
|
| +
|
| + bool isUnrestrictedDouble() const { return m_type == SpecificTypeUnrestrictedDouble; }
|
| + double getAsUnrestrictedDouble();
|
| + void setUnrestrictedDouble(double);
|
| +
|
| +private:
|
| + enum SpecificTypes {
|
| + SpecificTypeNone,
|
| + SpecificTypeBoolean,
|
| + SpecificTypeString,
|
| + SpecificTypeUnrestrictedDouble,
|
| + };
|
| + SpecificTypes m_type;
|
| +
|
| + bool m_boolean;
|
| + String m_string;
|
| + double m_unrestrictedDouble;
|
| +};
|
| +
|
| +class V8BooleanOrStringOrUnrestrictedDouble final {
|
| +public:
|
| + static void toImpl(v8::Isolate*, v8::Handle<v8::Value>, BooleanOrStringOrUnrestrictedDouble&, ExceptionState&);
|
| };
|
|
|
| +v8::Handle<v8::Value> toV8(BooleanOrStringOrUnrestrictedDouble&, v8::Handle<v8::Object>, v8::Isolate*);
|
| +
|
| +template <class CallbackInfo>
|
| +inline void v8SetReturnValue(const CallbackInfo& callbackInfo, BooleanOrStringOrUnrestrictedDouble& impl)
|
| +{
|
| + v8SetReturnValue(callbackInfo, toV8(impl, callbackInfo.Holder(), callbackInfo.GetIsolate()));
|
| +}
|
| +
|
| class NodeOrNodeList final {
|
| - // FIXME: Implement
|
| + ALLOW_ONLY_INLINE_ALLOCATION();
|
| +public:
|
| + NodeOrNodeList();
|
| + bool isNull() const { return m_type == SpecificTypeNone; }
|
| +
|
| + bool isNode() const { return m_type == SpecificTypeNode; }
|
| + PassRefPtrWillBeRawPtr<Node> getAsNode();
|
| + void setNode(PassRefPtrWillBeRawPtr<Node>);
|
| +
|
| + bool isNodeList() const { return m_type == SpecificTypeNodeList; }
|
| + PassRefPtrWillBeRawPtr<NodeList> getAsNodeList();
|
| + void setNodeList(PassRefPtrWillBeRawPtr<NodeList>);
|
| +
|
| +private:
|
| + enum SpecificTypes {
|
| + SpecificTypeNone,
|
| + SpecificTypeNode,
|
| + SpecificTypeNodeList,
|
| + };
|
| + SpecificTypes m_type;
|
| +
|
| + RefPtrWillBeMember<Node> m_node;
|
| + RefPtrWillBeMember<NodeList> m_nodeList;
|
| };
|
|
|
| +class V8NodeOrNodeList final {
|
| +public:
|
| + static void toImpl(v8::Isolate*, v8::Handle<v8::Value>, NodeOrNodeList&, ExceptionState&);
|
| +};
|
| +
|
| +v8::Handle<v8::Value> toV8(NodeOrNodeList&, v8::Handle<v8::Object>, v8::Isolate*);
|
| +
|
| +template <class CallbackInfo>
|
| +inline void v8SetReturnValue(const CallbackInfo& callbackInfo, NodeOrNodeList& impl)
|
| +{
|
| + v8SetReturnValue(callbackInfo, toV8(impl, callbackInfo.Holder(), callbackInfo.GetIsolate()));
|
| +}
|
| +
|
| class StringOrDouble final {
|
| - // FIXME: Implement
|
| + ALLOW_ONLY_INLINE_ALLOCATION();
|
| +public:
|
| + StringOrDouble();
|
| + bool isNull() const { return m_type == SpecificTypeNone; }
|
| +
|
| + bool isString() const { return m_type == SpecificTypeString; }
|
| + String getAsString();
|
| + void setString(String);
|
| +
|
| + bool isDouble() const { return m_type == SpecificTypeDouble; }
|
| + double getAsDouble();
|
| + void setDouble(double);
|
| +
|
| +private:
|
| + enum SpecificTypes {
|
| + SpecificTypeNone,
|
| + SpecificTypeString,
|
| + SpecificTypeDouble,
|
| + };
|
| + SpecificTypes m_type;
|
| +
|
| + String m_string;
|
| + double m_double;
|
| };
|
|
|
| +class V8StringOrDouble final {
|
| +public:
|
| + static void toImpl(v8::Isolate*, v8::Handle<v8::Value>, StringOrDouble&, ExceptionState&);
|
| +};
|
| +
|
| +v8::Handle<v8::Value> toV8(StringOrDouble&, v8::Handle<v8::Object>, v8::Isolate*);
|
| +
|
| +template <class CallbackInfo>
|
| +inline void v8SetReturnValue(const CallbackInfo& callbackInfo, StringOrDouble& impl)
|
| +{
|
| + v8SetReturnValue(callbackInfo, toV8(impl, callbackInfo.Holder(), callbackInfo.GetIsolate()));
|
| +}
|
| +
|
| class TestInterfaceGarbageCollectedOrString final {
|
| - // FIXME: Implement
|
| + ALLOW_ONLY_INLINE_ALLOCATION();
|
| +public:
|
| + TestInterfaceGarbageCollectedOrString();
|
| + bool isNull() const { return m_type == SpecificTypeNone; }
|
| +
|
| + bool isTestInterfaceGarbageCollected() const { return m_type == SpecificTypeTestInterfaceGarbageCollected; }
|
| + RawPtr<TestInterfaceGarbageCollected> getAsTestInterfaceGarbageCollected();
|
| + void setTestInterfaceGarbageCollected(RawPtr<TestInterfaceGarbageCollected>);
|
| +
|
| + bool isString() const { return m_type == SpecificTypeString; }
|
| + String getAsString();
|
| + void setString(String);
|
| +
|
| +private:
|
| + enum SpecificTypes {
|
| + SpecificTypeNone,
|
| + SpecificTypeTestInterfaceGarbageCollected,
|
| + SpecificTypeString,
|
| + };
|
| + SpecificTypes m_type;
|
| +
|
| + Member<TestInterfaceGarbageCollected> m_testInterfaceGarbageCollected;
|
| + String m_string;
|
| };
|
|
|
| +class V8TestInterfaceGarbageCollectedOrString final {
|
| +public:
|
| + static void toImpl(v8::Isolate*, v8::Handle<v8::Value>, TestInterfaceGarbageCollectedOrString&, ExceptionState&);
|
| +};
|
| +
|
| +v8::Handle<v8::Value> toV8(TestInterfaceGarbageCollectedOrString&, v8::Handle<v8::Object>, v8::Isolate*);
|
| +
|
| +template <class CallbackInfo>
|
| +inline void v8SetReturnValue(const CallbackInfo& callbackInfo, TestInterfaceGarbageCollectedOrString& impl)
|
| +{
|
| + v8SetReturnValue(callbackInfo, toV8(impl, callbackInfo.Holder(), callbackInfo.GetIsolate()));
|
| +}
|
| +
|
| +class TestInterfaceOrLong final {
|
| + ALLOW_ONLY_INLINE_ALLOCATION();
|
| +public:
|
| + TestInterfaceOrLong();
|
| + bool isNull() const { return m_type == SpecificTypeNone; }
|
| +
|
| + bool isTestInterface() const { return m_type == SpecificTypeTestInterface; }
|
| + PassRefPtr<TestInterfaceImplementation> getAsTestInterface();
|
| + void setTestInterface(PassRefPtr<TestInterfaceImplementation>);
|
| +
|
| + bool isLong() const { return m_type == SpecificTypeLong; }
|
| + int getAsLong();
|
| + void setLong(int);
|
| +
|
| +private:
|
| + enum SpecificTypes {
|
| + SpecificTypeNone,
|
| + SpecificTypeTestInterface,
|
| + SpecificTypeLong,
|
| + };
|
| + SpecificTypes m_type;
|
| +
|
| + RefPtr<TestInterfaceImplementation> m_testInterface;
|
| + int m_long;
|
| +};
|
| +
|
| +class V8TestInterfaceOrLong final {
|
| +public:
|
| + static void toImpl(v8::Isolate*, v8::Handle<v8::Value>, TestInterfaceOrLong&, ExceptionState&);
|
| +};
|
| +
|
| +v8::Handle<v8::Value> toV8(TestInterfaceOrLong&, v8::Handle<v8::Object>, v8::Isolate*);
|
| +
|
| +template <class CallbackInfo>
|
| +inline void v8SetReturnValue(const CallbackInfo& callbackInfo, TestInterfaceOrLong& impl)
|
| +{
|
| + v8SetReturnValue(callbackInfo, toV8(impl, callbackInfo.Holder(), callbackInfo.GetIsolate()));
|
| +}
|
| +
|
| class TestInterfaceOrTestInterfaceEmpty final {
|
| - // FIXME: Implement
|
| + ALLOW_ONLY_INLINE_ALLOCATION();
|
| +public:
|
| + TestInterfaceOrTestInterfaceEmpty();
|
| + bool isNull() const { return m_type == SpecificTypeNone; }
|
| +
|
| + bool isTestInterface() const { return m_type == SpecificTypeTestInterface; }
|
| + PassRefPtr<TestInterfaceImplementation> getAsTestInterface();
|
| + void setTestInterface(PassRefPtr<TestInterfaceImplementation>);
|
| +
|
| + bool isTestInterfaceEmpty() const { return m_type == SpecificTypeTestInterfaceEmpty; }
|
| + PassRefPtr<TestInterfaceEmpty> getAsTestInterfaceEmpty();
|
| + void setTestInterfaceEmpty(PassRefPtr<TestInterfaceEmpty>);
|
| +
|
| +private:
|
| + enum SpecificTypes {
|
| + SpecificTypeNone,
|
| + SpecificTypeTestInterface,
|
| + SpecificTypeTestInterfaceEmpty,
|
| + };
|
| + SpecificTypes m_type;
|
| +
|
| + RefPtr<TestInterfaceImplementation> m_testInterface;
|
| + RefPtr<TestInterfaceEmpty> m_testInterfaceEmpty;
|
| +};
|
| +
|
| +class V8TestInterfaceOrTestInterfaceEmpty final {
|
| +public:
|
| + static void toImpl(v8::Isolate*, v8::Handle<v8::Value>, TestInterfaceOrTestInterfaceEmpty&, ExceptionState&);
|
| };
|
|
|
| +v8::Handle<v8::Value> toV8(TestInterfaceOrTestInterfaceEmpty&, v8::Handle<v8::Object>, v8::Isolate*);
|
| +
|
| +template <class CallbackInfo>
|
| +inline void v8SetReturnValue(const CallbackInfo& callbackInfo, TestInterfaceOrTestInterfaceEmpty& impl)
|
| +{
|
| + v8SetReturnValue(callbackInfo, toV8(impl, callbackInfo.Holder(), callbackInfo.GetIsolate()));
|
| +}
|
| +
|
| class TestInterfaceWillBeGarbageCollectedOrTestDictionary final {
|
| - // FIXME: Implement
|
| + ALLOW_ONLY_INLINE_ALLOCATION();
|
| +public:
|
| + TestInterfaceWillBeGarbageCollectedOrTestDictionary();
|
| + bool isNull() const { return m_type == SpecificTypeNone; }
|
| +
|
| + bool isTestInterfaceWillBeGarbageCollected() const { return m_type == SpecificTypeTestInterfaceWillBeGarbageCollected; }
|
| + PassRefPtrWillBeRawPtr<TestInterfaceWillBeGarbageCollected> getAsTestInterfaceWillBeGarbageCollected();
|
| + void setTestInterfaceWillBeGarbageCollected(PassRefPtrWillBeRawPtr<TestInterfaceWillBeGarbageCollected>);
|
| +
|
| + bool isTestDictionary() const { return m_type == SpecificTypeTestDictionary; }
|
| + TestDictionary getAsTestDictionary();
|
| + void setTestDictionary(TestDictionary);
|
| +
|
| +private:
|
| + enum SpecificTypes {
|
| + SpecificTypeNone,
|
| + SpecificTypeTestInterfaceWillBeGarbageCollected,
|
| + SpecificTypeTestDictionary,
|
| + };
|
| + SpecificTypes m_type;
|
| +
|
| + RefPtrWillBeMember<TestInterfaceWillBeGarbageCollected> m_testInterfaceWillBeGarbageCollected;
|
| + TestDictionary m_testDictionary;
|
| };
|
|
|
| +class V8TestInterfaceWillBeGarbageCollectedOrTestDictionary final {
|
| +public:
|
| + static void toImpl(v8::Isolate*, v8::Handle<v8::Value>, TestInterfaceWillBeGarbageCollectedOrTestDictionary&, ExceptionState&);
|
| +};
|
| +
|
| +v8::Handle<v8::Value> toV8(TestInterfaceWillBeGarbageCollectedOrTestDictionary&, v8::Handle<v8::Object>, v8::Isolate*);
|
| +
|
| +template <class CallbackInfo>
|
| +inline void v8SetReturnValue(const CallbackInfo& callbackInfo, TestInterfaceWillBeGarbageCollectedOrTestDictionary& impl)
|
| +{
|
| + v8SetReturnValue(callbackInfo, toV8(impl, callbackInfo.Holder(), callbackInfo.GetIsolate()));
|
| +}
|
| +
|
| } // namespace blink
|
|
|
| #endif // UnionTypeCore_h
|
|
|