* Output of `node_modules/.bin/electron --version`: v5.0.0-nightly.20190107
* Operating System (Platform and Version): macOS Mojave 10.14.2 (18C54)
* Output of `node_modules/.bin/electron --version` on last known working Electron version (if applicable): never

**Expected Behavior**
Using navigator.mediaDevices.getDisplayMedia({ video: true }), a native screen picker should appear.

**Actual behavior**
The following error is thrown: NotAllowedError: Permission denied

**Screenshots**
Expected dialog
![image](https://user-images.githubusercontent.com/1120050/51625551-71736500-1f0b-11e9-9a95-1406cad95046.png)
atom/browser/atom_browser_client.cc
if (allowed)
    platform_util::OpenExternal(
#if defined(OS_WIN)
        base::UTF8ToUTF16(escaped_url.spec()),
#else
        escaped_url,
#endif
        platform_util::OpenExternalOptions());
}
void HandleExternalProtocolInUI(
    const GURL& url,
    const content::ResourceRequestInfo::WebContentsGetter& web_contents_getter,
    bool has_user_gesture) {
  content::WebContents* web_contents = web_contents_getter.Run();
  if (!web_contents)
    return;
  auto* permission_helper =
      WebContentsPermissionHelper::FromWebContents(web_contents);
  if (!permission_helper)
    return;
  GURL escaped_url(net::EscapeExternalHandlerValue(url.spec()));
  auto callback = base::Bind(&OnOpenExternal, escaped_url);
  permission_helper->RequestOpenExternalPermission(callback, has_user_gesture,
                                                   url);
}
bool AtomBrowserClient::HandleExternalProtocol(