diff --git a/atom/renderer/atom_renderer_client.cc b/atom/renderer/atom_renderer_client.cc index ece8c4ebca03..1ad1df3d878c 100644 --- a/atom/renderer/atom_renderer_client.cc +++ b/atom/renderer/atom_renderer_client.cc @@ -218,8 +218,9 @@ node::Environment* AtomRendererClient::GetEnvironment( if (injected_frames_.find(render_frame) == injected_frames_.end()) return nullptr; v8::HandleScope handle_scope(v8::Isolate::GetCurrent()); - node::Environment* env = node::Environment::GetCurrent( - render_frame->GetWebFrame()->MainWorldScriptContext()); + auto context = + GetContext(render_frame->GetWebFrame(), v8::Isolate::GetCurrent()); + node::Environment* env = node::Environment::GetCurrent(context); if (environments_.find(env) == environments_.end()) return nullptr; return env; diff --git a/atom/renderer/renderer_client_base.cc b/atom/renderer/renderer_client_base.cc index f2efd43bb3da..09bb006ecdaa 100644 --- a/atom/renderer/renderer_client_base.cc +++ b/atom/renderer/renderer_client_base.cc @@ -226,7 +226,7 @@ void RendererClientBase::AddSupportedKeySystems( v8::Local RendererClientBase::GetContext( blink::WebLocalFrame* frame, - v8::Isolate* isolate) { + v8::Isolate* isolate) const { if (isolated_world()) return frame->WorldScriptContext(isolate, World::ISOLATED_WORLD); else diff --git a/atom/renderer/renderer_client_base.h b/atom/renderer/renderer_client_base.h index 31c2f524740d..3dea78cee775 100644 --- a/atom/renderer/renderer_client_base.h +++ b/atom/renderer/renderer_client_base.h @@ -27,11 +27,11 @@ class RendererClientBase : public content::ContentRendererClient { virtual void DidClearWindowObject(content::RenderFrame* render_frame); virtual void SetupMainWorldOverrides(v8::Handle context) = 0; - bool isolated_world() { return isolated_world_; } + bool isolated_world() const { return isolated_world_; } // Get the context that the Electron API is running in. v8::Local GetContext(blink::WebLocalFrame* frame, - v8::Isolate* isolate); + v8::Isolate* isolate) const; protected: void AddRenderBindings(v8::Isolate* isolate,