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
auto* web_preferences = WebContentsPreferences::From(web_contents());
  if (!web_preferences)
    return v8::Null(isolate);
  return mate::ConvertToV8(isolate, *web_preferences->dict());
}
v8::Local<v8::Value> WebContents::GetLastWebPreferences(v8::Isolate* isolate) {
  WebContentsPreferences* web_preferences =
      WebContentsPreferences::FromWebContents(web_contents());
  if (!web_preferences)
    return v8::Null(isolate);
  return mate::ConvertToV8(isolate, *web_preferences->last_dict());
}
v8::Local<v8::Value> WebContents::GetOwnerBrowserWindow() {
  if (owner_window())
    return BrowserWindow::From(isolate(), owner_window());
  else
    return v8::Null(isolate());
}
int32_t WebContents::ID() const {
  return weak_map_id();
}
v8::Local<v8::Value> WebContents::Session(v8::Isolate* isolate) {
  return v8::Local<v8::Value>::New(isolate, session_);
}
content::WebContents* WebContents::HostWebContents() {
  if (!embedder_)
    return nullptr;
  return embedder_->web_contents();
}
void WebContents::SetEmbedder(const WebContents* embedder) {