Make DidCreateScriptContext/WillReleaseScriptContext pure virtual.

This commit is contained in:
Thiago de Arruda 2017-04-08 10:58:13 -03:00
parent 0227254774
commit f751335bf9
3 changed files with 19 additions and 9 deletions

View file

@ -20,17 +20,20 @@ class AtomRendererClient : public RendererClientBase {
AtomRendererClient();
virtual ~AtomRendererClient();
void DidCreateScriptContext(
v8::Handle<v8::Context> context, content::RenderFrame* render_frame);
void WillReleaseScriptContext(
v8::Handle<v8::Context> context, content::RenderFrame* render_frame);
// Get the context that the Electron API is running in.
v8::Local<v8::Context> GetContext(
blink::WebFrame* frame, v8::Isolate* isolate);
void SetupMainWorldOverrides(v8::Handle<v8::Context> context);
bool isolated_world() { return isolated_world_; }
// atom::RendererClientBase:
void DidCreateScriptContext(
v8::Handle<v8::Context> context,
content::RenderFrame* render_frame) override;
void WillReleaseScriptContext(
v8::Handle<v8::Context> context,
content::RenderFrame* render_frame) override;
private:
enum NodeIntegration {
ALL,

View file

@ -16,13 +16,16 @@ class AtomSandboxedRendererClient : public RendererClientBase {
AtomSandboxedRendererClient();
virtual ~AtomSandboxedRendererClient();
void DidCreateScriptContext(
v8::Handle<v8::Context> context, content::RenderFrame* render_frame);
void WillReleaseScriptContext(
v8::Handle<v8::Context> context, content::RenderFrame* render_frame);
void InvokeIpcCallback(v8::Handle<v8::Context> context,
const std::string& callback_name,
std::vector<v8::Handle<v8::Value>> args);
// atom::RendererClientBase:
void DidCreateScriptContext(
v8::Handle<v8::Context> context,
content::RenderFrame* render_frame) override;
void WillReleaseScriptContext(
v8::Handle<v8::Context> context,
content::RenderFrame* render_frame) override;
// content::ContentRendererClient:
void RenderFrameCreated(content::RenderFrame*) override;
void RenderViewCreated(content::RenderView*) override;

View file

@ -19,6 +19,10 @@ class RendererClientBase : public content::ContentRendererClient {
RendererClientBase();
virtual ~RendererClientBase();
virtual void DidCreateScriptContext(
v8::Handle<v8::Context> context, content::RenderFrame* render_frame) = 0;
virtual void WillReleaseScriptContext(
v8::Handle<v8::Context> context, content::RenderFrame* render_frame) = 0;
virtual void DidClearWindowObject(content::RenderFrame* render_frame);
protected: