These events are emitted for every navigation request which isn't really efficient. Also upstream has removed the observers that provide these details as part of network servification https://chromium-review.googlesource.com/c/chromium/src/+/805008 and https://chromium-review.googlesource.com/c/chromium/src/+/786320. We are removing it as a part of chromium 66 upgrade.

Proposed alternative: Users can use the [webRequest](https://github.com/electron/electron/blob/master/docs/api/web-request.md) module which provides similar navigation details on a subscription basis.
atom/browser/api/atom_api_web_contents.cc
return static_cast<AtomBrowserContext*>(web_contents()->GetBrowserContext());
}
void WebContents::OnRendererMessage(content::RenderFrameHost* frame_host,
                                    const base::string16& channel,
                                    const base::ListValue& args) {
  
  Emit(base::UTF16ToUTF8(channel), args);
}
void WebContents::OnRendererMessageSync(content::RenderFrameHost* frame_host,
                                        const base::string16& channel,
                                        const base::ListValue& args,
                                        IPC::Message* message) {
  
  EmitWithSender(base::UTF16ToUTF8(channel), frame_host, message, args);
}
mate::Handle<WebContents> WebContents::CreateFrom(
    v8::Isolate* isolate,
    content::WebContents* web_contents) {
  
  auto* existing = TrackableObject::FromWrappedClass(isolate, web_contents);
  if (existing)
    return mate::CreateHandle(isolate, static_cast<WebContents*>(existing));
  
  return mate::CreateHandle(isolate,
                            new WebContents(isolate, web_contents, REMOTE));
}
mate::Handle<WebContents> WebContents::CreateFrom(