Index: Source/bindings/v8/ScriptController.cpp |
diff --git a/Source/bindings/v8/ScriptController.cpp b/Source/bindings/v8/ScriptController.cpp |
index 85c070f684ac5824d73ba015c29068dd6c818534..c7faeddcc309786067c610010be51c52f6cc0561 100644 |
--- a/Source/bindings/v8/ScriptController.cpp |
+++ b/Source/bindings/v8/ScriptController.cpp |
@@ -455,9 +455,9 @@ static NPObject* createNoScriptObject() |
return 0; |
} |
-static NPObject* createScriptObject(Frame* frame) |
+static NPObject* createScriptObject(Frame* frame, v8::Isolate* isolate) |
{ |
- v8::HandleScope handleScope; |
+ v8::HandleScope handleScope(isolate); |
v8::Handle<v8::Context> v8Context = ScriptController::mainWorldContext(frame); |
if (v8Context.IsEmpty()) |
return createNoScriptObject(); |
@@ -478,7 +478,7 @@ NPObject* ScriptController::windowScriptNPObject() |
if (canExecuteScripts(NotAboutToExecuteScript)) { |
// JavaScript is enabled, so there is a JavaScript window object. |
// Return an NPObject bound to the window object. |
- m_windowScriptNPObject = createScriptObject(m_frame); |
+ m_windowScriptNPObject = createScriptObject(m_frame, m_isolate); |
_NPN_RegisterObject(m_windowScriptNPObject, 0); |
} else { |
// JavaScript is not enabled, so we cannot bind the NPObject to the |
@@ -495,7 +495,7 @@ NPObject* ScriptController::createScriptObjectForPluginElement(HTMLPlugInElement |
if (!canExecuteScripts(NotAboutToExecuteScript)) |
return createNoScriptObject(); |
- v8::HandleScope handleScope; |
+ v8::HandleScope handleScope(m_isolate); |
v8::Handle<v8::Context> v8Context = ScriptController::mainWorldContext(m_frame); |
if (v8Context.IsEmpty()) |
return createNoScriptObject(); |
@@ -528,7 +528,7 @@ void ScriptController::setCaptureCallStackForUncaughtExceptions(bool value) |
void ScriptController::collectIsolatedContexts(Vector<std::pair<ScriptState*, SecurityOrigin*> >& result) |
{ |
- v8::HandleScope handleScope; |
+ v8::HandleScope handleScope(m_isolate); |
for (IsolatedWorldMap::iterator it = m_isolatedWorlds.begin(); it != m_isolatedWorlds.end(); ++it) { |
V8WindowShell* isolatedWorldShell = it->value.get(); |
SecurityOrigin* origin = isolatedWorldShell->world()->isolatedWorldSecurityOrigin(); |
@@ -547,7 +547,7 @@ bool ScriptController::setContextDebugId(int debugId) |
ASSERT(debugId > 0); |
if (!m_windowShell->isContextInitialized()) |
return false; |
- v8::HandleScope scope; |
+ v8::HandleScope scope(m_isolate); |
v8::Local<v8::Context> context = m_windowShell->context(); |
return V8PerContextDebugData::setContextDebugData(context, "page", debugId); |
} |
@@ -663,7 +663,7 @@ ScriptValue ScriptController::executeScriptInMainWorld(const ScriptSourceCode& s |
const String* savedSourceURL = m_sourceURL; |
m_sourceURL = &sourceURL; |
- v8::HandleScope handleScope; |
+ v8::HandleScope handleScope(m_isolate); |
v8::Handle<v8::Context> v8Context = ScriptController::mainWorldContext(m_frame); |
if (v8Context.IsEmpty()) |
return ScriptValue(); |
@@ -690,10 +690,10 @@ void ScriptController::executeScriptInIsolatedWorld(int worldID, const Vector<Sc |
{ |
ASSERT(worldID > 0); |
- v8::HandleScope handleScope; |
+ v8::HandleScope handleScope(m_isolate); |
v8::Local<v8::Array> v8Results; |
{ |
- v8::HandleScope evaluateHandleScope; |
+ v8::HandleScope evaluateHandleScope(m_isolate); |
RefPtr<DOMWrapperWorld> world = DOMWrapperWorld::ensureIsolatedWorld(worldID, extensionGroup); |
V8WindowShell* isolatedWorldShell = windowShell(world.get()); |