Chromium Code Reviews| Index: Source/bindings/core/v8/custom/V8HistoryCustom.cpp |
| diff --git a/Source/bindings/core/v8/custom/V8HistoryCustom.cpp b/Source/bindings/core/v8/custom/V8HistoryCustom.cpp |
| index d6c99e308391d3837c73bbca45b6ee586527e908..59412ab2156930c50daaec25f5600e8318a96a42 100644 |
| --- a/Source/bindings/core/v8/custom/V8HistoryCustom.cpp |
| +++ b/Source/bindings/core/v8/custom/V8HistoryCustom.cpp |
| @@ -63,6 +63,13 @@ void V8History::stateAttributeGetterCustom(const v8::PropertyCallbackInfo<v8::Va |
| void V8History::pushStateMethodCustom(const v8::FunctionCallbackInfo<v8::Value>& info) |
| { |
| ExceptionState exceptionState(ExceptionState::ExecutionContext, "pushState", "History", info.Holder(), info.GetIsolate()); |
| + |
| + if (info.Length() < 2) { |
|
vivekg
2015/03/18 11:11:54
Please try this form:
if (UNLIKELY(info.Length()
|
| + exceptionState.throwTypeError("Not enough arguments to History.pushState."); |
| + exceptionState.throwIfNeeded(); |
| + return; |
| + } |
| + |
| RefPtr<SerializedScriptValue> historyState = SerializedScriptValueFactory::instance().create(info[0], 0, 0, exceptionState, info.GetIsolate()); |
| if (exceptionState.throwIfNeeded()) |
| return; |
| @@ -79,6 +86,13 @@ void V8History::pushStateMethodCustom(const v8::FunctionCallbackInfo<v8::Value>& |
| void V8History::replaceStateMethodCustom(const v8::FunctionCallbackInfo<v8::Value>& info) |
| { |
| ExceptionState exceptionState(ExceptionState::ExecutionContext, "replaceState", "History", info.Holder(), info.GetIsolate()); |
| + |
| + if (info.Length() < 2) { |
|
vivekg
2015/03/18 11:11:54
ditto
|
| + exceptionState.throwTypeError("Not enough arguments to History.replaceState."); |
| + exceptionState.throwIfNeeded(); |
| + return; |
| + } |
| + |
| RefPtr<SerializedScriptValue> historyState = SerializedScriptValueFactory::instance().create(info[0], 0, 0, exceptionState, info.GetIsolate()); |
| if (exceptionState.throwIfNeeded()) |
| return; |