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* context = GetServiceWorkerContext(web_contents());
  if (!context)
    return;
  struct WrappedCallback {
    base::Callback<void(bool)> callback_;
    explicit WrappedCallback(const base::Callback<void(bool)>& callback)
        : callback_(callback) {}
    void Run(content::ServiceWorkerCapability capability) {
      callback_.Run(capability !=
                    content::ServiceWorkerCapability::NO_SERVICE_WORKER);
      delete this;
    }
  };
  auto* wrapped_callback = new WrappedCallback(callback);
  context->CheckHasServiceWorker(
      web_contents()->GetLastCommittedURL(), GURL::EmptyGURL(),
      base::BindOnce(&WrappedCallback::Run,
                     base::Unretained(wrapped_callback)));
}
void WebContents::UnregisterServiceWorker(
    const base::Callback<void(bool)>& callback) {
  auto* context = GetServiceWorkerContext(web_contents());
  if (!context)
    return;
  context->UnregisterServiceWorker(web_contents()->GetLastCommittedURL(),
                                   callback);
}
void WebContents::SetIgnoreMenuShortcuts(bool ignore) {