| Index: Source/bindings/v8/V8PerIsolateData.cpp
|
| diff --git a/Source/bindings/v8/V8PerIsolateData.cpp b/Source/bindings/v8/V8PerIsolateData.cpp
|
| index f9cceceb7ffc7c46e76b34ab90ce6829f63165a2..d08a34c78b526e938308ee4ed49fa11acced75fc 100644
|
| --- a/Source/bindings/v8/V8PerIsolateData.cpp
|
| +++ b/Source/bindings/v8/V8PerIsolateData.cpp
|
| @@ -127,8 +127,14 @@ void V8PerIsolateData::setDOMTemplate(void* domTemplateKey, v8::Handle<v8::Funct
|
|
|
| v8::Local<v8::Context> V8PerIsolateData::ensureDomInJSContext()
|
| {
|
| - if (!m_blinkInJSScriptState)
|
| - m_blinkInJSScriptState = NewScriptState::create(v8::Context::New(m_isolate), DOMWrapperWorld::create());
|
| + if (!m_blinkInJSScriptState) {
|
| + v8::Local<v8::Context> context(v8::Context::New(m_isolate));
|
| + if (context.IsEmpty()) {
|
| + // The script execution has been terminated.
|
| + return context;
|
| + }
|
| + m_blinkInJSScriptState = NewScriptState::create(context, DOMWrapperWorld::create());
|
| + }
|
| return m_blinkInJSScriptState->context();
|
| }
|
|
|
|
|