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
Emit("activate");
}
void WebContents::UpdateTargetURL(content::WebContents* source,
                                  const GURL& url) {
  Emit("update-target-url", url);
}
bool WebContents::IsPopupOrPanel(const content::WebContents* source) const {
  return type_ == BROWSER_WINDOW;
}
void WebContents::HandleKeyboardEvent(
    content::WebContents* source,
    const content::NativeWebKeyboardEvent& event) {
  if (type_ == WEB_VIEW && embedder_) {
    
    embedder_->HandleKeyboardEvent(source, event);
  } else {
    
    CommonWebContentsDelegate::HandleKeyboardEvent(source, event);
  }
}
content::KeyboardEventProcessingResult WebContents::PreHandleKeyboardEvent(