From: Cheng Zhao Date: Mon, 30 May 2016 05:56:31 +0000 (+0900) Subject: Initialize script context in DidClearWindowObject X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6755aa44f67b6dcad4937d09e14d87b38a8686e7;p=platform%2Fframework%2Fweb%2Fcrosswalk-tizen.git Initialize script context in DidClearWindowObject Doing it in RunScriptsAtDocumentStart would somehow result in weird results when webSecurity is off. --- diff --git a/atom/renderer/atom_renderer_client.cc b/atom/renderer/atom_renderer_client.cc index 283930b..ee2dd7d 100644 --- a/atom/renderer/atom_renderer_client.cc +++ b/atom/renderer/atom_renderer_client.cc @@ -68,6 +68,10 @@ class AtomRenderFrameObserver : public content::RenderFrameObserver { renderer_client_(renderer_client) {} // content::RenderFrameObserver: + void DidClearWindowObject() override { + renderer_client_->DidClearWindowObject(render_frame_); + } + void DidCreateScriptContext(v8::Handle context, int extension_group, 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) { // Make sure every page will get a script context created. - render_frame->GetWebFrame()->executeScript( - blink::WebScriptSource("void 0")); + render_frame->GetWebFrame()->executeScript(blink::WebScriptSource("void 0")); +} +void AtomRendererClient::RunScriptsAtDocumentStart( + content::RenderFrame* render_frame) { // Inform the document start pharse. node::Environment* env = node_bindings_->uv_env(); if (env) { diff --git a/atom/renderer/atom_renderer_client.h b/atom/renderer/atom_renderer_client.h index 51872e5..f4a5489 100644 --- a/atom/renderer/atom_renderer_client.h +++ b/atom/renderer/atom_renderer_client.h @@ -21,6 +21,7 @@ class AtomRendererClient : public content::ContentRendererClient { AtomRendererClient(); virtual ~AtomRendererClient(); + void DidClearWindowObject(content::RenderFrame* render_frame); void DidCreateScriptContext( v8::Handle context, content::RenderFrame* render_frame); void WillReleaseScriptContext(