| Index: Source/bindings/modules/v8/custom/V8DeviceOrientationEventCustom.cpp
|
| diff --git a/Source/bindings/modules/v8/custom/V8DeviceOrientationEventCustom.cpp b/Source/bindings/modules/v8/custom/V8DeviceOrientationEventCustom.cpp
|
| index 4938c200b8802709530fb5ee3ca1fe3a1715446f..118d445969c431e17054c7388cb6ea061ec43d8a 100644
|
| --- a/Source/bindings/modules/v8/custom/V8DeviceOrientationEventCustom.cpp
|
| +++ b/Source/bindings/modules/v8/custom/V8DeviceOrientationEventCustom.cpp
|
| @@ -34,18 +34,36 @@ namespace blink {
|
|
|
| void V8DeviceOrientationEvent::initDeviceOrientationEventMethodCustom(const v8::FunctionCallbackInfo<v8::Value>& info)
|
| {
|
| + ExceptionState exceptionState(ExceptionState::ExecutionContext, "initDeviceOrientationEvent", "DeviceOrientationEvent", info.Holder(), info.GetIsolate());
|
| DeviceOrientationEvent* impl = V8DeviceOrientationEvent::toImpl(info.Holder());
|
| - TOSTRING_VOID(V8StringResource<>, type, info[0]);
|
| + V8StringResource<> type(info[0]);
|
| + if (!type.prepare())
|
| + return;
|
| bool bubbles = info[1]->BooleanValue();
|
| bool cancelable = info[2]->BooleanValue();
|
| // If alpha, beta, gamma or absolute are null or undefined, mark them as not provided.
|
| // Otherwise, use the standard JavaScript conversion.
|
| bool alphaProvided = !isUndefinedOrNull(info[3]);
|
| - double alpha = info[3]->NumberValue();
|
| + double alpha = 0;
|
| + if (alphaProvided) {
|
| + alpha = toRestrictedDouble(info[3], exceptionState);
|
| + if (exceptionState.throwIfNeeded())
|
| + return;
|
| + }
|
| bool betaProvided = !isUndefinedOrNull(info[4]);
|
| - double beta = info[4]->NumberValue();
|
| + double beta = 0;
|
| + if (betaProvided) {
|
| + beta = toRestrictedDouble(info[4], exceptionState);
|
| + if (exceptionState.throwIfNeeded())
|
| + return;
|
| + }
|
| bool gammaProvided = !isUndefinedOrNull(info[5]);
|
| - double gamma = info[5]->NumberValue();
|
| + double gamma = 0;
|
| + if (gammaProvided) {
|
| + gamma = toRestrictedDouble(info[5], exceptionState);
|
| + if (exceptionState.throwIfNeeded())
|
| + return;
|
| + }
|
| bool absoluteProvided = !isUndefinedOrNull(info[6]);
|
| bool absolute = info[6]->BooleanValue();
|
| DeviceOrientationData* orientation = DeviceOrientationData::create(alphaProvided, alpha, betaProvided, beta, gammaProvided, gamma, absoluteProvided, absolute);
|
|
|