### Issue Details

* **Electron Version:**
  * 3.x, 4.x, 5.x, 6.x
* **Operating System:**
  * All
* **Last Known Working Electron version:**:
  * 2.x

### Expected Behavior
When navigations occur, a new process should be created for the navigation.

### Actual Behavior
When a navigation occurs _during_ a preloads scripts execution the same process is re-used as Chromium does not think the navigation has been committed yet.  This causes a memory leak and all native node modules to break.

### To Reproduce
Fiddle: https://gist.github.com/MarshallOfSound/c89aa0037c3da114d44aa3a2d1a0fc24

### Screenshots
![image](https://user-images.githubusercontent.com/6634592/55097842-eb45dd00-5079-11e9-99bf-d49c0d997bca.png)

As you can see here there are three navigation loads, the second and the third one actually have the same process ID (and are running in the same process)
shell/browser/atom_browser_client.h
class PlatformNotificationService;
class AtomBrowserClient : public content::ContentBrowserClient,
                          public content::RenderProcessHostObserver {
 public:
  static AtomBrowserClient* Get();
  static void SetApplicationLocale(const std::string& locale);
  AtomBrowserClient();
  ~AtomBrowserClient() override;
  using Delegate = content::ContentBrowserClient;
  void set_delegate(Delegate* delegate) { delegate_ = delegate; }
  
  content::WebContents* GetWebContentsFromProcessID(int process_id);
  
  static void SuppressRendererProcessRestartForOnce();
  NotificationPresenter* GetNotificationPresenter();
  void WebNotificationAllowed(int render_process_id,
                              base::OnceCallback<void(bool, bool)> callback);
  
  std::vector<std::unique_ptr<content::NavigationThrottle>>
  CreateThrottlesForNavigation(content::NavigationHandle* handle) override;
  
  std::string GetApplicationLocale() override;
  
  bool ShouldEnableStrictSiteIsolation() override;
  std::string GetUserAgent() override;
  void SetUserAgent(const std::string& user_agent);
  void SetCanUseCustomSiteInstance(bool should_disable);
  bool CanUseCustomSiteInstance() override;