#ifndef THIRD_PARTY_BLINK_RENDERER_BINDINGS_CORE_V8_IDL_TYPES_H_
#define THIRD_PARTY_BLINK_RENDERER_BINDINGS_CORE_V8_IDL_TYPES_H_
#include <optional>
#include <type_traits>
#include "base/time/time.h"
#include "third_party/blink/renderer/bindings/core/v8/idl_types_base.h"
#include "third_party/blink/renderer/bindings/core/v8/native_value_traits.h"
#include "third_party/blink/renderer/platform/heap/heap_traits.h"
#include "third_party/blink/renderer/platform/wtf/forward.h"
#include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"
#include "third_party/blink/renderer/platform/wtf/vector.h"
namespace blink {
class BigInt;
class EventListener;
class ScriptPromiseUntyped;
class ScriptValue;
struct ToV8UndefinedGenerator;
struct IDLUndefined final : public IDLBaseHelper<ToV8UndefinedGenerator> { … };
struct IDLAny final : public IDLBaseHelper<ScriptValue> { … };
struct IDLBoolean final : public IDLBaseHelper<bool> { … };
struct IDLBigint final : public IDLBaseHelper<BigInt> { … };
namespace bindings {
enum class IDLIntegerConvMode { … };
}
template <typename T,
bindings::IDLIntegerConvMode mode =
bindings::IDLIntegerConvMode::kDefault>
struct IDLIntegerTypeBase final : public IDLBaseHelper<T> { … };
IDLByte;
IDLOctet;
IDLShort;
IDLUnsignedShort;
IDLLong;
IDLUnsignedLong;
IDLLongLong;
IDLUnsignedLongLong;
IDLByteClamp;
IDLOctetClamp;
IDLShortClamp;
IDLUnsignedShortClamp;
IDLLongClamp;
IDLUnsignedLongClamp;
IDLLongLongClamp;
IDLUnsignedLongLongClamp;
IDLByteEnforceRange;
IDLOctetEnforceRange;
IDLShortEnforceRange;
IDLUnsignedShortEnforceRange;
IDLLongEnforceRange;
IDLUnsignedLongEnforceRange;
IDLLongLongEnforceRange;
IDLUnsignedLongLongEnforceRange;
namespace bindings {
enum class IDLFloatingPointNumberConvMode { … };
}
template <typename T,
bindings::IDLFloatingPointNumberConvMode mode =
bindings::IDLFloatingPointNumberConvMode::kDefault>
struct IDLFloatingPointNumberTypeBase final : public IDLBaseHelper<T> { … };
IDLFloat;
IDLUnrestrictedFloat;
IDLDouble;
IDLUnrestrictedDouble;
IDLDOMHighResTimeStamp;
namespace bindings {
enum class IDLStringConvMode { … };
}
struct IDLStringTypeBase : public IDLBaseHelper<String> { … };
template <bindings::IDLStringConvMode mode>
struct IDLByteStringBase final : public IDLStringTypeBase { … };
IDLByteString;
template <bindings::IDLStringConvMode mode>
struct IDLStringBase final : public IDLStringTypeBase { … };
IDLString;
IDLStringLegacyNullToEmptyString;
template <bindings::IDLStringConvMode mode>
struct IDLUSVStringBase final : public IDLStringTypeBase { … };
IDLUSVString;
template <bindings::IDLStringConvMode mode>
struct IDLStringStringContextTrustedHTMLBase final : public IDLStringTypeBase { … };
IDLStringStringContextTrustedHTML;
IDLStringLegacyNullToEmptyStringStringContextTrustedHTML;
template <bindings::IDLStringConvMode mode>
struct IDLStringStringContextTrustedScriptBase final
: public IDLStringTypeBase { … };
IDLStringStringContextTrustedScript;
IDLStringLegacyNullToEmptyStringStringContextTrustedScript;
template <bindings::IDLStringConvMode mode>
struct IDLUSVStringStringContextTrustedScriptURLBase final
: public IDLStringTypeBase { … };
IDLUSVStringStringContextTrustedScriptURL;
struct IDLObject final : public IDLBaseHelper<ScriptValue> { … };
struct IDLPromise final : public IDLBaseHelper<ScriptPromiseUntyped> { … };
template <typename T>
struct IDLSequence final : public IDLBase { … };
template <typename T>
struct IDLArray final : public IDLBase { … };
template <typename Key, typename Value>
struct IDLRecord final : public IDLBase { … };
template <typename T>
struct IDLNullable final : public IDLBase { … };
struct IDLDate final : public IDLBaseHelper<base::Time> { … };
struct IDLEventHandler final : public IDLBaseHelper<EventListener*> { … };
struct IDLOnBeforeUnloadEventHandler final
: public IDLBaseHelper<EventListener*> { … };
struct IDLOnErrorEventHandler final : public IDLBaseHelper<EventListener*> { … };
template <typename T>
struct IDLBufferSourceTypeNoSizeLimit { … };
template <typename T>
struct IDLAllowResizable { … };
template <typename T>
struct IDLOptional final : public IDLBase { … };
}
#endif