Send document-start/end to the right context when contextIsolation=true (#12738)
This commit is contained in:
parent
022b6973b2
commit
118da36b52
3 changed files with 6 additions and 5 deletions
|
@ -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;
|
||||
|
|
|
@ -226,7 +226,7 @@ void RendererClientBase::AddSupportedKeySystems(
|
|||
|
||||
v8::Local<v8::Context> RendererClientBase::GetContext(
|
||||
blink::WebLocalFrame* frame,
|
||||
v8::Isolate* isolate) {
|
||||
v8::Isolate* isolate) const {
|
||||
if (isolated_world())
|
||||
return frame->WorldScriptContext(isolate, World::ISOLATED_WORLD);
|
||||
else
|
||||
|
|
|
@ -27,11 +27,11 @@ class RendererClientBase : public content::ContentRendererClient {
|
|||
virtual void DidClearWindowObject(content::RenderFrame* render_frame);
|
||||
virtual void SetupMainWorldOverrides(v8::Handle<v8::Context> 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<v8::Context> GetContext(blink::WebLocalFrame* frame,
|
||||
v8::Isolate* isolate);
|
||||
v8::Isolate* isolate) const;
|
||||
|
||||
protected:
|
||||
void AddRenderBindings(v8::Isolate* isolate,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue