| Index: Source/bindings/modules/v8/custom/V8DeviceMotionEventCustom.cpp
 | 
| diff --git a/Source/bindings/modules/v8/custom/V8DeviceMotionEventCustom.cpp b/Source/bindings/modules/v8/custom/V8DeviceMotionEventCustom.cpp
 | 
| index 4db2171ac6c351aa3a1320a055c430f56a2b1eba..5f944ed71868e3cc94b8fb701baf42334b0671e3 100644
 | 
| --- a/Source/bindings/modules/v8/custom/V8DeviceMotionEventCustom.cpp
 | 
| +++ b/Source/bindings/modules/v8/custom/V8DeviceMotionEventCustom.cpp
 | 
| @@ -48,19 +48,22 @@ DeviceMotionData::Acceleration* readAccelerationArgument(v8::Local<v8::Value> va
 | 
|      if (!object->Get(context, v8AtomicString(isolate, "x")).ToLocal(&xValue))
 | 
|          return nullptr;
 | 
|      bool canProvideX = !isUndefinedOrNull(xValue);
 | 
| -    double x = xValue->NumberValue();
 | 
| +    double x;
 | 
| +    V8_CALL(x, xValue, NumberValue(context), return nullptr);
 | 
|  
 | 
|      v8::Local<v8::Value> yValue;
 | 
|      if (!object->Get(context, v8AtomicString(isolate, "y")).ToLocal(&yValue))
 | 
|          return nullptr;
 | 
|      bool canProvideY = !isUndefinedOrNull(yValue);
 | 
| -    double y = yValue->NumberValue();
 | 
| +    double y;
 | 
| +    V8_CALL(y, yValue, NumberValue(context), return nullptr);
 | 
|  
 | 
|      v8::Local<v8::Value> zValue;
 | 
|      if (!object->Get(context, v8AtomicString(isolate, "z")).ToLocal(&zValue))
 | 
|          return nullptr;
 | 
|      bool canProvideZ = !isUndefinedOrNull(zValue);
 | 
| -    double z = zValue->NumberValue();
 | 
| +    double z;
 | 
| +    V8_CALL(z, zValue, NumberValue(context), return nullptr);
 | 
|  
 | 
|      if (!canProvideX && !canProvideY && !canProvideZ)
 | 
|          return nullptr;
 | 
| @@ -82,19 +85,22 @@ DeviceMotionData::RotationRate* readRotationRateArgument(v8::Local<v8::Value> va
 | 
|      if (!object->Get(context, v8AtomicString(isolate, "alpha")).ToLocal(&alphaValue))
 | 
|          return nullptr;
 | 
|      bool canProvideAlpha = !isUndefinedOrNull(alphaValue);
 | 
| -    double alpha = alphaValue->NumberValue();
 | 
| +    double alpha;
 | 
| +    V8_CALL(alpha, alphaValue, NumberValue(context), return nullptr);
 | 
|  
 | 
|      v8::Local<v8::Value> betaValue;
 | 
|      if (!object->Get(context, v8AtomicString(isolate, "beta")).ToLocal(&betaValue))
 | 
|          return nullptr;
 | 
|      bool canProvideBeta = !isUndefinedOrNull(betaValue);
 | 
| -    double beta = betaValue->NumberValue();
 | 
| +    double beta;
 | 
| +    V8_CALL(beta, betaValue, NumberValue(context), return nullptr);
 | 
|  
 | 
|      v8::Local<v8::Value> gammaValue;
 | 
|      if (!object->Get(context, v8AtomicString(isolate, "gamma")).ToLocal(&gammaValue))
 | 
|          return nullptr;
 | 
|      bool canProvideGamma = !isUndefinedOrNull(gammaValue);
 | 
| -    double gamma = gammaValue->NumberValue();
 | 
| +    double gamma;
 | 
| +    V8_CALL(gamma, gammaValue, NumberValue(context), return nullptr);
 | 
|  
 | 
|      if (!canProvideAlpha && !canProvideBeta && !canProvideGamma)
 | 
|          return nullptr;
 | 
| @@ -112,8 +118,11 @@ void V8DeviceMotionEvent::initDeviceMotionEventMethodCustom(const v8::FunctionCa
 | 
|      V8StringResource<> type(info[0]);
 | 
|      if (!type.prepare())
 | 
|          return;
 | 
| -    bool bubbles = info[1]->BooleanValue();
 | 
| -    bool cancelable = info[2]->BooleanValue();
 | 
| +    v8::Local<v8::Context> context = info.GetIsolate()->GetCurrentContext();
 | 
| +    bool bubbles;
 | 
| +    V8_CALL(bubbles, info[1], BooleanValue(context), return);
 | 
| +    bool cancelable;
 | 
| +    V8_CALL(cancelable, info[2], BooleanValue(context), return);
 | 
|      DeviceMotionData::Acceleration* acceleration = readAccelerationArgument(info[3], isolate);
 | 
|      DeviceMotionData::Acceleration* accelerationIncludingGravity = readAccelerationArgument(info[4], isolate);
 | 
|      DeviceMotionData::RotationRate* rotationRate = readRotationRateArgument(info[5], isolate);
 | 
| 
 |