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
zoom_controller_->SetZoomLevel(level);
}
double WebContents::GetZoomLevel() {
  return zoom_controller_->GetZoomLevel();
}
void WebContents::SetZoomFactor(double factor) {
  auto level = content::ZoomFactorToZoomLevel(factor);
  SetZoomLevel(level);
}
double WebContents::GetZoomFactor() {
  auto level = GetZoomLevel();
  return content::ZoomLevelToZoomFactor(level);
}
void WebContents::OnSetTemporaryZoomLevel(content::RenderFrameHost* rfh,
                                          double level,
                                          IPC::Message* reply_msg) {
  zoom_controller_->SetTemporaryZoomLevel(level);
  double new_level = zoom_controller_->GetZoomLevel();
  AtomFrameHostMsg_SetTemporaryZoomLevel::WriteReplyParams(reply_msg,
                                                           new_level);
  rfh->Send(reply_msg);
}
void WebContents::OnGetZoomLevel(content::RenderFrameHost* rfh,
                                 IPC::Message* reply_msg) {
  AtomFrameHostMsg_GetZoomLevel::WriteReplyParams(reply_msg, GetZoomLevel());
  rfh->Send(reply_msg);
}
v8::Local<v8::Value> WebContents::GetWebPreferences(v8::Isolate* isolate) {