### Issue Details

* **Electron Version:**
  * 3.0.x, 4.0.x, 5.0.x, 6.0.x
* **Operating System:**
  * macOS 10.14.5
* **Last Known Working Electron version:**
  * 2.0.x

### Expected Behavior
`BrowserWindow.on('swipe')` fires when doing a 3-finger swipe gesture.

### Actual Behavior
`BrowserWindow.on('swipe')` does not fire.

shell/browser/api/atom_api_browser_window.cc
if (mate::ConvertFromV8(isolate, web_preferences.GetHandle(),
                            &web_preferences_dict)) {
      existing_preferences->Clear();
      existing_preferences->Merge(web_preferences_dict);
    }
  } else {
    
    web_contents = WebContents::Create(isolate, web_preferences);
  }
  web_contents_.Reset(isolate, web_contents.ToV8());
  api_web_contents_ = web_contents->GetWeakPtr();
  api_web_contents_->AddObserver(this);
  Observe(api_web_contents_->web_contents());
  
  mate::Dictionary(isolate, web_contents->GetWrapper())
      .Set("browserWindowOptions", options);
  
  web_contents->SetOwnerWindow(window());
  auto* host = web_contents->web_contents()->GetRenderViewHost();
  if (host)
    host->GetWidget()->AddInputEventObserver(this);
  InitWith(isolate, wrapper);
#if defined(OS_MACOSX)
  if (!window()->has_frame())
    OverrideNSWindowContentView(web_contents->managed_web_contents());
#endif
  
  window()->InitFromOptions(options);
}
BrowserWindow::~BrowserWindow() {