Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(156)

Unified Diff: Source/bindings/core/v8/WorkerScriptController.cpp

Issue 1003043002: bindings: Use Maybe APIs in V8ScriptRunner (part 1) (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/bindings/core/v8/WorkerScriptController.cpp
diff --git a/Source/bindings/core/v8/WorkerScriptController.cpp b/Source/bindings/core/v8/WorkerScriptController.cpp
index 2069fb49ff82e0fb67528045df57787f7fe1f1df..8c54d72c7b695f0977bc8a9fd79a0f5d11a89822 100644
--- a/Source/bindings/core/v8/WorkerScriptController.cpp
+++ b/Source/bindings/core/v8/WorkerScriptController.cpp
@@ -183,8 +183,10 @@ ScriptValue WorkerScriptController::evaluate(const String& script, const String&
v8::TryCatch block;
- v8::Handle<v8::Script> compiledScript = V8ScriptRunner::compileScript(script, fileName, String(), scriptStartPosition, isolate(), cacheHandler, SharableCrossOrigin, v8CacheOptions);
- v8::Local<v8::Value> result = V8ScriptRunner::runCompiledScript(isolate(), compiledScript, &m_workerGlobalScope);
+ v8::Local<v8::Script> compiledScript;
+ v8::MaybeLocal<v8::Value> maybeResult;
+ if (v8Call(V8ScriptRunner::compileScript(script, fileName, String(), scriptStartPosition, isolate(), cacheHandler, SharableCrossOrigin, v8CacheOptions), compiledScript, block))
+ maybeResult = V8ScriptRunner::runCompiledScript(isolate(), compiledScript, &m_workerGlobalScope);
if (!block.CanContinue()) {
forbidExecution();
@@ -205,7 +207,8 @@ ScriptValue WorkerScriptController::evaluate(const String& script, const String&
m_globalScopeExecutionState->hadException = false;
}
- if (result.IsEmpty() || result->IsUndefined())
+ v8::Local<v8::Value> result;
+ if (!maybeResult.ToLocal(&result) || result->IsUndefined())
return ScriptValue();
return ScriptValue(m_scriptState.get(), result);

Powered by Google App Engine
This is Rietveld 408576698