Post https://github.com/electron/electron/pull/18924 we shouldn't be patching `CompileAndCall` into our node fork, instead that method can quite easily live in our code as a helper.
shell/renderer/atom_sandboxed_renderer_client.cc
v8::Handle<v8::Context> context,
    content::RenderFrame* render_frame) {
  RendererClientBase::DidCreateScriptContext(context, render_frame);
  
  
  
  bool is_main_frame = render_frame->IsMainFrame();
  bool is_devtools =
      IsDevTools(render_frame) || IsDevToolsExtension(render_frame);
  bool allow_node_in_sub_frames =
      base::CommandLine::ForCurrentProcess()->HasSwitch(
          switches::kNodeIntegrationInSubFrames);
  bool should_load_preload =
      (is_main_frame || is_devtools || allow_node_in_sub_frames) &&
      !IsWebViewFrame(context, render_frame);
  if (!should_load_preload)
    return;
  injected_frames_.insert(render_frame);
  
  
  auto* isolate = context->GetIsolate();
  auto binding = v8::Object::New(isolate);
  InitializeBindings(binding, context, render_frame->IsMainFrame());
  AddRenderBindings(isolate, binding);