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

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 24e152f4ff6c18606a8196070d6db31f10e8fe67..cc077408ae9d4d8732487653905b53bcd38ecde5 100644
--- a/Source/bindings/core/v8/WorkerScriptController.cpp
+++ b/Source/bindings/core/v8/WorkerScriptController.cpp
@@ -184,8 +184,10 @@ ScriptValue WorkerScriptController::evaluate(const String& script, const String&
v8::TryCatch block;
v8::Handle<v8::String> scriptString = v8String(isolate(), script);
- v8::Handle<v8::Script> compiledScript = V8ScriptRunner::compileScript(scriptString, fileName, String(), scriptStartPosition, isolate(), nullptr, nullptr, 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 (V8ScriptRunner::compileScript(scriptString, fileName, String(), scriptStartPosition, isolate(), nullptr, nullptr, cacheHandler, SharableCrossOrigin, v8CacheOptions).ToLocal(&compiledScript))
+ maybeResult = V8ScriptRunner::runCompiledScript(isolate(), compiledScript, &m_workerGlobalScope);
if (!block.CanContinue()) {
forbidExecution();
@@ -206,7 +208,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