Index: Source/modules/serviceworkers/FetchBodyStream.cpp |
diff --git a/Source/modules/serviceworkers/FetchBodyStream.cpp b/Source/modules/serviceworkers/FetchBodyStream.cpp |
index 386b642194a5c313aa2cd89e28e9fa31d0a580c6..cd8a1a59ed2eb214c8187f2f8f3244b407e15382 100644 |
--- a/Source/modules/serviceworkers/FetchBodyStream.cpp |
+++ b/Source/modules/serviceworkers/FetchBodyStream.cpp |
@@ -66,8 +66,15 @@ ScriptPromise FetchBodyStream::readAsync(ScriptState* scriptState, ResponseType |
ASSERT_NOT_REACHED(); |
} |
+ ExecutionContext* executionContext = scriptState->executionContext(); |
+ if (!executionContext) { |
+ m_resolver->reject(V8ThrowException::createTypeError("ExecutionContext terminated", scriptState->isolate())); |
+ m_resolver.clear(); |
+ return promise; |
+ } |
+ |
m_loader = adoptPtr(new FileReaderLoader(readType, this)); |
- m_loader->start(scriptState->executionContext(), m_blobDataHandle); |
+ m_loader->start(executionContext, m_blobDataHandle); |
return promise; |
} |