| Index: Source/bindings/v8/Dictionary.h
|
| diff --git a/Source/bindings/v8/Dictionary.h b/Source/bindings/v8/Dictionary.h
|
| index 172f631ce92f8a3ced81ac77d937fcc87580f3d2..fff0cfa28c754e2d4ab63f0c45090259d36c9a64 100644
|
| --- a/Source/bindings/v8/Dictionary.h
|
| +++ b/Source/bindings/v8/Dictionary.h
|
| @@ -199,90 +199,90 @@ struct IntegralTypeTraits {
|
|
|
| template <>
|
| struct IntegralTypeTraits<uint8_t> {
|
| - static inline uint8_t toIntegral(v8::Handle<v8::Value> value, IntegerConversionConfiguration configuration, bool& ok)
|
| + static inline uint8_t toIntegral(v8::Handle<v8::Value> value, IntegerConversionConfiguration configuration, ExceptionState& exceptionState)
|
| {
|
| - return toUInt8(value, configuration, ok);
|
| + return toUInt8(value, configuration, exceptionState);
|
| }
|
| static const String typeName() { return "UInt8"; }
|
| };
|
|
|
| template <>
|
| struct IntegralTypeTraits<int8_t> {
|
| - static inline int8_t toIntegral(v8::Handle<v8::Value> value, IntegerConversionConfiguration configuration, bool& ok)
|
| + static inline int8_t toIntegral(v8::Handle<v8::Value> value, IntegerConversionConfiguration configuration, ExceptionState& exceptionState)
|
| {
|
| - return toInt8(value, configuration, ok);
|
| + return toInt8(value, configuration, exceptionState);
|
| }
|
| static const String typeName() { return "Int8"; }
|
| };
|
|
|
| template <>
|
| struct IntegralTypeTraits<unsigned short> {
|
| - static inline uint16_t toIntegral(v8::Handle<v8::Value> value, IntegerConversionConfiguration configuration, bool& ok)
|
| + static inline uint16_t toIntegral(v8::Handle<v8::Value> value, IntegerConversionConfiguration configuration, ExceptionState& exceptionState)
|
| {
|
| - return toUInt16(value, configuration, ok);
|
| + return toUInt16(value, configuration, exceptionState);
|
| }
|
| static const String typeName() { return "UInt16"; }
|
| };
|
|
|
| template <>
|
| struct IntegralTypeTraits<short> {
|
| - static inline int16_t toIntegral(v8::Handle<v8::Value> value, IntegerConversionConfiguration configuration, bool& ok)
|
| + static inline int16_t toIntegral(v8::Handle<v8::Value> value, IntegerConversionConfiguration configuration, ExceptionState& exceptionState)
|
| {
|
| - return toInt16(value, configuration, ok);
|
| + return toInt16(value, configuration, exceptionState);
|
| }
|
| static const String typeName() { return "Int16"; }
|
| };
|
|
|
| template <>
|
| struct IntegralTypeTraits<unsigned> {
|
| - static inline uint32_t toIntegral(v8::Handle<v8::Value> value, IntegerConversionConfiguration configuration, bool& ok)
|
| + static inline uint32_t toIntegral(v8::Handle<v8::Value> value, IntegerConversionConfiguration configuration, ExceptionState& exceptionState)
|
| {
|
| - return toUInt32(value, configuration, ok);
|
| + return toUInt32(value, configuration, exceptionState);
|
| }
|
| static const String typeName() { return "UInt32"; }
|
| };
|
|
|
| template <>
|
| struct IntegralTypeTraits<unsigned long> {
|
| - static inline uint32_t toIntegral(v8::Handle<v8::Value> value, IntegerConversionConfiguration configuration, bool& ok)
|
| + static inline uint32_t toIntegral(v8::Handle<v8::Value> value, IntegerConversionConfiguration configuration, ExceptionState& exceptionState)
|
| {
|
| - return toUInt32(value, configuration, ok);
|
| + return toUInt32(value, configuration, exceptionState);
|
| }
|
| static const String typeName() { return "UInt32"; }
|
| };
|
|
|
| template <>
|
| struct IntegralTypeTraits<int> {
|
| - static inline int32_t toIntegral(v8::Handle<v8::Value> value, IntegerConversionConfiguration configuration, bool& ok)
|
| + static inline int32_t toIntegral(v8::Handle<v8::Value> value, IntegerConversionConfiguration configuration, ExceptionState& exceptionState)
|
| {
|
| - return toInt32(value, configuration, ok);
|
| + return toInt32(value, configuration, exceptionState);
|
| }
|
| static const String typeName() { return "Int32"; }
|
| };
|
|
|
| template <>
|
| struct IntegralTypeTraits<long> {
|
| - static inline int32_t toIntegral(v8::Handle<v8::Value> value, IntegerConversionConfiguration configuration, bool& ok)
|
| + static inline int32_t toIntegral(v8::Handle<v8::Value> value, IntegerConversionConfiguration configuration, ExceptionState& exceptionState)
|
| {
|
| - return toInt32(value, configuration, ok);
|
| + return toInt32(value, configuration, exceptionState);
|
| }
|
| static const String typeName() { return "Int32"; }
|
| };
|
|
|
| template <>
|
| struct IntegralTypeTraits<unsigned long long> {
|
| - static inline unsigned long long toIntegral(v8::Handle<v8::Value> value, IntegerConversionConfiguration configuration, bool& ok)
|
| + static inline unsigned long long toIntegral(v8::Handle<v8::Value> value, IntegerConversionConfiguration configuration, ExceptionState& exceptionState)
|
| {
|
| - return toUInt64(value, configuration, ok);
|
| + return toUInt64(value, configuration, exceptionState);
|
| }
|
| static const String typeName() { return "UInt64"; }
|
| };
|
|
|
| template <>
|
| struct IntegralTypeTraits<long long> {
|
| - static inline long long toIntegral(v8::Handle<v8::Value> value, IntegerConversionConfiguration configuration, bool& ok)
|
| + static inline long long toIntegral(v8::Handle<v8::Value> value, IntegerConversionConfiguration configuration, ExceptionState& exceptionState)
|
| {
|
| - return toInt64(value, configuration, ok);
|
| + return toInt64(value, configuration, exceptionState);
|
| }
|
| static const String typeName() { return "Int64"; }
|
| };
|
| @@ -295,15 +295,11 @@ template<typename T> bool Dictionary::convert(ConversionContext& context, const
|
| if (!getKey(key, v8Value))
|
| return true;
|
|
|
| - bool ok = false;
|
| - value = IntegralTypeTraits<T>::toIntegral(v8Value, NormalConversion, ok);
|
| - if (ok)
|
| - return true;
|
| + value = IntegralTypeTraits<T>::toIntegral(v8Value, NormalConversion, context.exceptionState());
|
| + if (context.exceptionState().throwIfNeeded())
|
| + return false;
|
|
|
| - V8TRYCATCH_RETURN(v8::Local<v8::Number>, v8Number, v8Value->ToNumber(), false);
|
| - ASSERT(v8Number.IsEmpty());
|
| - context.throwTypeError(ExceptionMessages::incorrectPropertyType(key, "does not have type " + IntegralTypeTraits<T>::typeName() + "."));
|
| - return false;
|
| + return true;
|
| }
|
|
|
| template<typename T> bool Dictionary::convert(ConversionContext& context, const String& key, RefPtr<T>& value) const
|
|
|