Initialize script context in DidClearWindowObject
Doing it in RunScriptsAtDocumentStart would somehow result in weird results when webSecurity is off.
This commit is contained in:
parent
ce0d3d93ab
commit
6755aa44f6
2 changed files with 10 additions and 3 deletions
|
@ -68,6 +68,10 @@ class AtomRenderFrameObserver : public content::RenderFrameObserver {
|
||||||
renderer_client_(renderer_client) {}
|
renderer_client_(renderer_client) {}
|
||||||
|
|
||||||
// content::RenderFrameObserver:
|
// content::RenderFrameObserver:
|
||||||
|
void DidClearWindowObject() override {
|
||||||
|
renderer_client_->DidClearWindowObject(render_frame_);
|
||||||
|
}
|
||||||
|
|
||||||
void DidCreateScriptContext(v8::Handle<v8::Context> context,
|
void DidCreateScriptContext(v8::Handle<v8::Context> context,
|
||||||
int extension_group,
|
int extension_group,
|
||||||
int world_id) override {
|
int world_id) override {
|
||||||
|
@ -185,12 +189,14 @@ void AtomRendererClient::RenderViewCreated(content::RenderView* render_view) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void AtomRendererClient::RunScriptsAtDocumentStart(
|
void AtomRendererClient::DidClearWindowObject(
|
||||||
content::RenderFrame* render_frame) {
|
content::RenderFrame* render_frame) {
|
||||||
// Make sure every page will get a script context created.
|
// Make sure every page will get a script context created.
|
||||||
render_frame->GetWebFrame()->executeScript(
|
render_frame->GetWebFrame()->executeScript(blink::WebScriptSource("void 0"));
|
||||||
blink::WebScriptSource("void 0"));
|
}
|
||||||
|
|
||||||
|
void AtomRendererClient::RunScriptsAtDocumentStart(
|
||||||
|
content::RenderFrame* render_frame) {
|
||||||
// Inform the document start pharse.
|
// Inform the document start pharse.
|
||||||
node::Environment* env = node_bindings_->uv_env();
|
node::Environment* env = node_bindings_->uv_env();
|
||||||
if (env) {
|
if (env) {
|
||||||
|
|
|
@ -21,6 +21,7 @@ class AtomRendererClient : public content::ContentRendererClient {
|
||||||
AtomRendererClient();
|
AtomRendererClient();
|
||||||
virtual ~AtomRendererClient();
|
virtual ~AtomRendererClient();
|
||||||
|
|
||||||
|
void DidClearWindowObject(content::RenderFrame* render_frame);
|
||||||
void DidCreateScriptContext(
|
void DidCreateScriptContext(
|
||||||
v8::Handle<v8::Context> context, content::RenderFrame* render_frame);
|
v8::Handle<v8::Context> context, content::RenderFrame* render_frame);
|
||||||
void WillReleaseScriptContext(
|
void WillReleaseScriptContext(
|
||||||
|
|
Loading…
Reference in a new issue