Index: Source/bindings/core/v8/ScriptDebugServer.cpp |
diff --git a/Source/bindings/core/v8/ScriptDebugServer.cpp b/Source/bindings/core/v8/ScriptDebugServer.cpp |
index 11131b3e3d2cc3f7674051610019961a92e95855..d138fb953ff54f3b3cfb73317c8f67f798e4b18a 100644 |
--- a/Source/bindings/core/v8/ScriptDebugServer.cpp |
+++ b/Source/bindings/core/v8/ScriptDebugServer.cpp |
@@ -647,8 +647,9 @@ void ScriptDebugServer::ensureDebuggerScriptCompiled() |
v8::Context::Scope contextScope(v8::Debug::GetDebugContext()); |
const blink::WebData& debuggerScriptSourceResource = blink::Platform::current()->loadResource("DebuggerScriptSource.js"); |
v8::Handle<v8::String> source = v8String(m_isolate, String(debuggerScriptSourceResource.data(), debuggerScriptSourceResource.size())); |
- v8::Local<v8::Value> value = V8ScriptRunner::compileAndRunInternalScript(source, m_isolate); |
- ASSERT(!value.IsEmpty()); |
+ v8::Local<v8::Value> value; |
+ if (!V8ScriptRunner::compileAndRunInternalScript(source, m_isolate).ToLocal(&value)) |
+ return; |
ASSERT(value->IsObject()); |
m_debuggerScript.Reset(m_isolate, v8::Handle<v8::Object>::Cast(value)); |
} |
@@ -730,8 +731,8 @@ void ScriptDebugServer::compileScript(ScriptState* scriptState, const String& ex |
v8::Handle<v8::String> source = v8String(m_isolate, expression); |
v8::TryCatch tryCatch; |
- v8::Local<v8::Script> script = V8ScriptRunner::compileScript(source, sourceURL, String(), TextPosition(), m_isolate); |
- if (tryCatch.HasCaught()) { |
+ v8::Local<v8::Script> script; |
+ if (!v8Call(V8ScriptRunner::compileScript(source, sourceURL, String(), TextPosition(), m_isolate), script, tryCatch)) { |
v8::Local<v8::Message> message = tryCatch.Message(); |
if (!message.IsEmpty()) { |
*exceptionDetailsText = toCoreStringWithUndefinedOrNullCheck(message->Get()); |
@@ -743,7 +744,7 @@ void ScriptDebugServer::compileScript(ScriptState* scriptState, const String& ex |
} |
return; |
} |
- if (script.IsEmpty() || !persistScript) |
+ if (!persistScript) |
return; |
*scriptId = String::number(script->GetUnboundScript()->GetId()); |
@@ -768,9 +769,11 @@ void ScriptDebugServer::runScript(ScriptState* scriptState, const String& script |
return; |
ScriptState::Scope scope(scriptState); |
v8::TryCatch tryCatch; |
- v8::Local<v8::Value> value = V8ScriptRunner::runCompiledScript(m_isolate, script, scriptState->executionContext()); |
+ v8::Local<v8::Value> value; |
*wasThrown = false; |
- if (tryCatch.HasCaught()) { |
+ if (v8Call(V8ScriptRunner::runCompiledScript(m_isolate, script, scriptState->executionContext()), value, tryCatch)) { |
+ *result = ScriptValue(scriptState, value); |
+ } else { |
*wasThrown = true; |
*result = ScriptValue(scriptState, tryCatch.Exception()); |
v8::Local<v8::Message> message = tryCatch.Message(); |
@@ -782,8 +785,6 @@ void ScriptDebugServer::runScript(ScriptState* scriptState, const String& script |
if (!messageStackTrace.IsEmpty() && messageStackTrace->GetFrameCount() > 0) |
*stackTrace = createScriptCallStack(m_isolate, messageStackTrace, messageStackTrace->GetFrameCount()); |
} |
- } else { |
- *result = ScriptValue(scriptState, value); |
} |
} |