Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(318)

Unified Diff: Source/bindings/core/v8/V8Binding.cpp

Issue 1013643002: [bindings] Make sure v8::Isolate is being passed to toXXX() conversion routines as argument. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/bindings/core/v8/V8Binding.h ('k') | Source/bindings/core/v8/V8BindingTest.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/bindings/core/v8/V8Binding.cpp
diff --git a/Source/bindings/core/v8/V8Binding.cpp b/Source/bindings/core/v8/V8Binding.cpp
index 985d2d2314e6e4a8ed28b381cf4c06388c86779e..7e3377ff2264246212bdf0a22159ce96b902edc2 100644
--- a/Source/bindings/core/v8/V8Binding.cpp
+++ b/Source/bindings/core/v8/V8Binding.cpp
@@ -173,7 +173,7 @@ struct IntTypeLimits<uint16_t> {
};
template <typename T>
-static inline T toSmallerInt(v8::Handle<v8::Value> value, IntegerConversionConfiguration configuration, const char* typeName, ExceptionState& exceptionState)
+static inline T toSmallerInt(v8::Isolate* isolate, v8::Handle<v8::Value> value, IntegerConversionConfiguration configuration, const char* typeName, ExceptionState& exceptionState)
{
typedef IntTypeLimits<T> LimitsTrait;
@@ -196,7 +196,6 @@ static inline T toSmallerInt(v8::Handle<v8::Value> value, IntegerConversionConfi
if (value->IsNumber()) {
numberObject = value.As<v8::Number>();
} else {
- v8::Isolate* isolate = v8::Isolate::GetCurrent();
// Can the value be converted to a number?
v8::TryCatch block(isolate);
numberObject = value->ToNumber(isolate);
@@ -227,7 +226,7 @@ static inline T toSmallerInt(v8::Handle<v8::Value> value, IntegerConversionConfi
}
template <typename T>
-static inline T toSmallerUInt(v8::Handle<v8::Value> value, IntegerConversionConfiguration configuration, const char* typeName, ExceptionState& exceptionState)
+static inline T toSmallerUInt(v8::Isolate* isolate, v8::Handle<v8::Value> value, IntegerConversionConfiguration configuration, const char* typeName, ExceptionState& exceptionState)
{
typedef IntTypeLimits<T> LimitsTrait;
@@ -249,7 +248,6 @@ static inline T toSmallerUInt(v8::Handle<v8::Value> value, IntegerConversionConf
if (value->IsNumber()) {
numberObject = value.As<v8::Number>();
} else {
- v8::Isolate* isolate = v8::Isolate::GetCurrent();
// Can the value be converted to a number?
v8::TryCatch block(isolate);
numberObject = value->ToNumber(isolate);
@@ -278,54 +276,53 @@ static inline T toSmallerUInt(v8::Handle<v8::Value> value, IntegerConversionConf
return static_cast<T>(fmod(numberValue, LimitsTrait::numberOfValues));
}
-int8_t toInt8(v8::Handle<v8::Value> value, IntegerConversionConfiguration configuration, ExceptionState& exceptionState)
+int8_t toInt8(v8::Isolate* isolate, v8::Handle<v8::Value> value, IntegerConversionConfiguration configuration, ExceptionState& exceptionState)
{
- return toSmallerInt<int8_t>(value, configuration, "byte", exceptionState);
+ return toSmallerInt<int8_t>(isolate, value, configuration, "byte", exceptionState);
}
-int8_t toInt8(v8::Handle<v8::Value> value)
+int8_t toInt8(v8::Isolate* isolate, v8::Handle<v8::Value> value)
{
NonThrowableExceptionState exceptionState;
- return toInt8(value, NormalConversion, exceptionState);
+ return toInt8(isolate, value, NormalConversion, exceptionState);
}
-uint8_t toUInt8(v8::Handle<v8::Value> value, IntegerConversionConfiguration configuration, ExceptionState& exceptionState)
+uint8_t toUInt8(v8::Isolate* isolate, v8::Handle<v8::Value> value, IntegerConversionConfiguration configuration, ExceptionState& exceptionState)
{
- return toSmallerUInt<uint8_t>(value, configuration, "octet", exceptionState);
+ return toSmallerUInt<uint8_t>(isolate, value, configuration, "octet", exceptionState);
}
-uint8_t toUInt8(v8::Handle<v8::Value> value)
+uint8_t toUInt8(v8::Isolate* isolate, v8::Handle<v8::Value> value)
{
NonThrowableExceptionState exceptionState;
- return toUInt8(value, NormalConversion, exceptionState);
+ return toUInt8(isolate, value, NormalConversion, exceptionState);
}
-int16_t toInt16(v8::Handle<v8::Value> value, IntegerConversionConfiguration configuration, ExceptionState& exceptionState)
+int16_t toInt16(v8::Isolate* isolate, v8::Handle<v8::Value> value, IntegerConversionConfiguration configuration, ExceptionState& exceptionState)
{
- return toSmallerInt<int16_t>(value, configuration, "short", exceptionState);
+ return toSmallerInt<int16_t>(isolate, value, configuration, "short", exceptionState);
}
-int16_t toInt16(v8::Handle<v8::Value> value)
+int16_t toInt16(v8::Isolate* isolate, v8::Handle<v8::Value> value)
{
NonThrowableExceptionState exceptionState;
- return toInt16(value, NormalConversion, exceptionState);
+ return toInt16(isolate, value, NormalConversion, exceptionState);
}
-uint16_t toUInt16(v8::Handle<v8::Value> value, IntegerConversionConfiguration configuration, ExceptionState& exceptionState)
+uint16_t toUInt16(v8::Isolate* isolate, v8::Handle<v8::Value> value, IntegerConversionConfiguration configuration, ExceptionState& exceptionState)
{
- return toSmallerUInt<uint16_t>(value, configuration, "unsigned short", exceptionState);
+ return toSmallerUInt<uint16_t>(isolate, value, configuration, "unsigned short", exceptionState);
}
-uint16_t toUInt16(v8::Handle<v8::Value> value)
+uint16_t toUInt16(v8::Isolate* isolate, v8::Handle<v8::Value> value)
{
NonThrowableExceptionState exceptionState;
- return toUInt16(value, NormalConversion, exceptionState);
+ return toUInt16(isolate, value, NormalConversion, exceptionState);
}
-int32_t toInt32Slow(v8::Handle<v8::Value> value, IntegerConversionConfiguration configuration, ExceptionState& exceptionState)
+int32_t toInt32Slow(v8::Isolate* isolate, v8::Handle<v8::Value> value, IntegerConversionConfiguration configuration, ExceptionState& exceptionState)
{
ASSERT(!value->IsInt32());
- v8::Isolate* isolate = v8::Isolate::GetCurrent();
// Can the value be converted to a number?
v8::TryCatch block(isolate);
v8::Local<v8::Number> numberObject = value->ToNumber(isolate);
@@ -352,13 +349,13 @@ int32_t toInt32Slow(v8::Handle<v8::Value> value, IntegerConversionConfiguration
return numberObject->Int32Value();
}
-int32_t toInt32(v8::Handle<v8::Value> value)
+int32_t toInt32(v8::Isolate* isolate, v8::Handle<v8::Value> value)
{
NonThrowableExceptionState exceptionState;
- return toInt32(value, NormalConversion, exceptionState);
+ return toInt32(isolate, value, NormalConversion, exceptionState);
}
-uint32_t toUInt32Slow(v8::Handle<v8::Value> value, IntegerConversionConfiguration configuration, ExceptionState& exceptionState)
+uint32_t toUInt32Slow(v8::Isolate* isolate, v8::Handle<v8::Value> value, IntegerConversionConfiguration configuration, ExceptionState& exceptionState)
{
ASSERT(!value->IsUint32());
if (value->IsInt32()) {
@@ -374,7 +371,6 @@ uint32_t toUInt32Slow(v8::Handle<v8::Value> value, IntegerConversionConfiguratio
return clampTo<uint32_t>(result);
}
- v8::Isolate* isolate = v8::Isolate::GetCurrent();
// Can the value be converted to a number?
v8::TryCatch block(isolate);
v8::Local<v8::Number> numberObject = value->ToNumber(isolate);
@@ -401,18 +397,17 @@ uint32_t toUInt32Slow(v8::Handle<v8::Value> value, IntegerConversionConfiguratio
return numberObject->Uint32Value();
}
-uint32_t toUInt32(v8::Handle<v8::Value> value)
+uint32_t toUInt32(v8::Isolate* isolate, v8::Handle<v8::Value> value)
{
NonThrowableExceptionState exceptionState;
- return toUInt32(value, NormalConversion, exceptionState);
+ return toUInt32(isolate, value, NormalConversion, exceptionState);
}
-int64_t toInt64Slow(v8::Handle<v8::Value> value, IntegerConversionConfiguration configuration, ExceptionState& exceptionState)
+int64_t toInt64Slow(v8::Isolate* isolate, v8::Handle<v8::Value> value, IntegerConversionConfiguration configuration, ExceptionState& exceptionState)
{
ASSERT(!value->IsInt32());
v8::Local<v8::Number> numberObject;
- v8::Isolate* isolate = v8::Isolate::GetCurrent();
// Can the value be converted to a number?
v8::TryCatch block(isolate);
numberObject = value->ToNumber(isolate);
@@ -436,13 +431,13 @@ int64_t toInt64Slow(v8::Handle<v8::Value> value, IntegerConversionConfiguration
return integer;
}
-int64_t toInt64(v8::Handle<v8::Value> value)
+int64_t toInt64(v8::Isolate* isolate, v8::Handle<v8::Value> value)
{
NonThrowableExceptionState exceptionState;
- return toInt64(value, NormalConversion, exceptionState);
+ return toInt64(isolate, value, NormalConversion, exceptionState);
}
-uint64_t toUInt64Slow(v8::Handle<v8::Value> value, IntegerConversionConfiguration configuration, ExceptionState& exceptionState)
+uint64_t toUInt64Slow(v8::Isolate* isolate, v8::Handle<v8::Value> value, IntegerConversionConfiguration configuration, ExceptionState& exceptionState)
{
ASSERT(!value->IsUint32());
if (value->IsInt32()) {
@@ -459,7 +454,6 @@ uint64_t toUInt64Slow(v8::Handle<v8::Value> value, IntegerConversionConfiguratio
}
v8::Local<v8::Number> numberObject;
- v8::Isolate* isolate = v8::Isolate::GetCurrent();
// Can the value be converted to a number?
v8::TryCatch block(isolate);
numberObject = value->ToNumber(isolate);
@@ -489,15 +483,15 @@ uint64_t toUInt64Slow(v8::Handle<v8::Value> value, IntegerConversionConfiguratio
return integer;
}
-uint64_t toUInt64(v8::Handle<v8::Value> value)
+uint64_t toUInt64(v8::Isolate* isolate, v8::Handle<v8::Value> value)
{
NonThrowableExceptionState exceptionState;
- return toUInt64(value, NormalConversion, exceptionState);
+ return toUInt64(isolate, value, NormalConversion, exceptionState);
}
-float toRestrictedFloat(v8::Handle<v8::Value> value, ExceptionState& exceptionState)
+float toRestrictedFloat(v8::Isolate* isolate, v8::Handle<v8::Value> value, ExceptionState& exceptionState)
{
- float numberValue = toFloat(value, exceptionState);
+ float numberValue = toFloat(isolate, value, exceptionState);
if (exceptionState.hadException())
return 0;
if (!std::isfinite(numberValue)) {
@@ -507,10 +501,9 @@ float toRestrictedFloat(v8::Handle<v8::Value> value, ExceptionState& exceptionSt
return numberValue;
}
-double toDoubleSlow(v8::Handle<v8::Value> value, ExceptionState& exceptionState)
+double toDoubleSlow(v8::Isolate* isolate, v8::Handle<v8::Value> value, ExceptionState& exceptionState)
{
ASSERT(!value->IsNumber());
- v8::Isolate* isolate = v8::Isolate::GetCurrent();
v8::TryCatch block(isolate);
double doubleValue = value->NumberValue();
if (block.HasCaught()) {
@@ -520,9 +513,9 @@ double toDoubleSlow(v8::Handle<v8::Value> value, ExceptionState& exceptionState)
return doubleValue;
}
-double toRestrictedDouble(v8::Handle<v8::Value> value, ExceptionState& exceptionState)
+double toRestrictedDouble(v8::Isolate* isolate, v8::Handle<v8::Value> value, ExceptionState& exceptionState)
{
- double numberValue = toDouble(value, exceptionState);
+ double numberValue = toDouble(isolate, value, exceptionState);
if (exceptionState.hadException())
return 0;
if (!std::isfinite(numberValue)) {
@@ -532,7 +525,7 @@ double toRestrictedDouble(v8::Handle<v8::Value> value, ExceptionState& exception
return numberValue;
}
-String toByteString(v8::Handle<v8::Value> value, ExceptionState& exceptionState)
+String toByteString(v8::Isolate* isolate, v8::Handle<v8::Value> value, ExceptionState& exceptionState)
{
// Handle null default value.
if (value.IsEmpty())
@@ -547,7 +540,6 @@ String toByteString(v8::Handle<v8::Value> value, ExceptionState& exceptionState)
if (value->IsString()) {
stringObject = value.As<v8::String>();
} else {
- v8::Isolate* isolate = v8::Isolate::GetCurrent();
v8::TryCatch block(isolate);
stringObject = value->ToString(isolate);
if (block.HasCaught()) {
@@ -673,7 +665,7 @@ static String replaceUnmatchedSurrogates(const String& string)
return u.toString();
}
-String toUSVString(v8::Handle<v8::Value> value, ExceptionState& exceptionState)
+String toUSVString(v8::Isolate* isolate, v8::Handle<v8::Value> value, ExceptionState& exceptionState)
{
// http://heycam.github.io/webidl/#es-USVString
if (value.IsEmpty())
@@ -683,7 +675,6 @@ String toUSVString(v8::Handle<v8::Value> value, ExceptionState& exceptionState)
if (value->IsString()) {
stringObject = value.As<v8::String>();
} else {
- v8::Isolate* isolate = v8::Isolate::GetCurrent();
v8::TryCatch block(isolate);
stringObject = value->ToString(isolate);
if (block.HasCaught()) {
« no previous file with comments | « Source/bindings/core/v8/V8Binding.h ('k') | Source/bindings/core/v8/V8BindingTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698