Index: Source/bindings/v8/ScriptDebugServer.cpp |
diff --git a/Source/bindings/v8/ScriptDebugServer.cpp b/Source/bindings/v8/ScriptDebugServer.cpp |
index 2bc683245c5d9ad40630d694a01009d7d35d0cc6..b94fadf396ba83af4b46c387cb8327638f76a40f 100644 |
--- a/Source/bindings/v8/ScriptDebugServer.cpp |
+++ b/Source/bindings/v8/ScriptDebugServer.cpp |
@@ -460,9 +460,8 @@ void ScriptDebugServer::handleV8DebugEvent(const v8::Debug::EventDetails& eventD |
if (!stackTrace->GetFrameCount()) |
return; |
RefPtr<JavaScriptCallFrame> topFrame = wrapCallFrames(eventDetails.GetExecutionState(), 1); |
- if (topFrame && executeSkipPauseRequest(listener->shouldSkipExceptionPause(topFrame), eventDetails.GetExecutionState())) { |
+ if (executeSkipPauseRequest(listener->shouldSkipExceptionPause(topFrame), eventDetails.GetExecutionState())) |
return; |
- } |
v8::Handle<v8::Object> eventData = eventDetails.GetEventData(); |
v8::Handle<v8::Value> exceptionGetterValue = eventData->Get(v8::String::NewSymbol("exception")); |
ASSERT(!exceptionGetterValue.IsEmpty() && exceptionGetterValue->IsFunction()); |
@@ -473,18 +472,14 @@ void ScriptDebugServer::handleV8DebugEvent(const v8::Debug::EventDetails& eventD |
v8::Handle<v8::Value> argv[] = { eventDetails.GetEventData() }; |
v8::Handle<v8::Value> hitBreakpoints = V8ScriptRunner::callInternalFunction(getBreakpointNumbersFunction, debuggerScript, WTF_ARRAY_LENGTH(argv), argv, m_isolate); |
ASSERT(hitBreakpoints->IsArray()); |
- |
RefPtr<JavaScriptCallFrame> topFrame = wrapCallFrames(eventDetails.GetExecutionState(), 1); |
- if (topFrame) { |
- ScriptDebugListener::SkipPauseRequest skipRequest; |
- if (v8::Handle<v8::Array>::Cast(hitBreakpoints)->Length()) |
- skipRequest = listener->shouldSkipBreakpointPause(topFrame); |
- else |
- skipRequest = listener->shouldSkipStepPause(topFrame); |
- if (executeSkipPauseRequest(skipRequest, eventDetails.GetExecutionState())) |
- return; |
- } |
- |
+ ScriptDebugListener::SkipPauseRequest skipRequest; |
+ if (v8::Handle<v8::Array>::Cast(hitBreakpoints)->Length()) |
+ skipRequest = listener->shouldSkipBreakpointPause(topFrame); |
+ else |
+ skipRequest = listener->shouldSkipStepPause(topFrame); |
+ if (executeSkipPauseRequest(skipRequest, eventDetails.GetExecutionState())) |
+ return; |
handleProgramBreak(eventDetails, v8::Handle<v8::Value>(), hitBreakpoints.As<v8::Array>()); |
} |
} |