* 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.h
void AddProcessPreferences(int process_id, ProcessPreferences prefs);
  void RemoveProcessPreferences(int process_id);
  bool IsProcessObserved(int process_id) const;
  bool IsRendererSandboxed(int process_id) const;
  bool RendererUsesNativeWindowOpen(int process_id) const;
  bool RendererDisablesPopups(int process_id) const;
  std::string GetAffinityPreference(content::RenderFrameHost* rfh) const;
  content::SiteInstance* GetSiteInstanceFromAffinity(
      content::BrowserContext* browser_context,
      const GURL& url,
      content::RenderFrameHost* rfh) const;
  void ConsiderSiteInstanceForAffinity(content::RenderFrameHost* rfh,
                                       content::SiteInstance* site_instance);
  
  std::map<int, content::WebContents*> pending_processes_;
  std::map<int, base::ProcessId> render_process_host_pids_;
  
  std::map<std::string, content::SiteInstance*> site_per_affinities_;
  std::unique_ptr<AtomResourceDispatcherHostDelegate>
      resource_dispatcher_host_delegate_;
  std::unique_ptr<PlatformNotificationService> notification_service_;
  std::unique_ptr<NotificationPresenter> notification_presenter_;
  Delegate* delegate_ = nullptr;
  mutable base::Lock process_preferences_lock_;
  std::map<int, ProcessPreferences> process_preferences_;
  DISALLOW_COPY_AND_ASSIGN(AtomBrowserClient);
};
}  
#endif