- Electron version: 1.4.0 and 1.4.4 tested
- Operating system: macOS 10.12.1

This page was working in 1.3.8 but stopped working in 1.4.0 and 1.4.4 (didn't check in between versions)
- When the page works the window will be green and working
- When the page fails the window will be white and take no input (Cmd-Q will not close the window)

Removing almost any CSS makes the page work. The page works in Chrome

run with `./node_modules/.bin/electron main.js`
## Repo
- Download zip
- unzip
- Execute
  
  ```
   cd to electron-infinite-loop-issue
   npm install
   ./node_modules/.bin/electron main.js
  ```
## Code

main.js is just

```
"use strict";

const electron = require('electron');
const app = electron.app;
const BrowserWindow = electron.BrowserWindow;

let window;
app.on('ready', () => {
  window = new BrowserWindow({});
  window.loadURL(`file://${__dirname}/app/index.html`)
  window.webContents.openDevTools();
});
```

index.html is

```
<!DOCTYPE html>
<html>
<head>
  <style>
    html, body {
      height: 100%;
      margin: 0;
      background-color: green;
    }
    .split.split-horizontal {
      height: 100%;
      float: left;
    }
    .browser {
      width: 100%;
      height: 100%;
    }
    .folders {
      width: 100%;
      height: 100%;
      position: relative;
      overflow: scroll;
    }
  </style>
</head>
<body>
<div class="browser">
  <div class="split split-horizontal"><div class="folders"></div></div>
</div>
</body>
</html>
```

[electron-infinite-loop-issue.zip](https://github.com/electron/electron/files/560570/electron-infinite-loop-issue.zip)

atom/browser/atom_browser_client.cc
#include "atom/browser/window_list.h"
#include "atom/common/options_switches.h"
#include "base/command_line.h"
#include "base/files/file_util.h"
#include "base/stl_util.h"
#include "base/strings/string_number_conversions.h"
#include "base/strings/string_util.h"
#include "chrome/browser/printing/printing_message_filter.h"
#include "chrome/browser/renderer_host/pepper/chrome_browser_pepper_host_factory.h"
#include "chrome/browser/renderer_host/pepper/widevine_cdm_message_filter.h"
#include "chrome/browser/speech/tts_message_filter.h"
#include "content/public/browser/browser_ppapi_host.h"
#include "content/public/browser/client_certificate_delegate.h"
#include "content/public/browser/geolocation_delegate.h"
#include "content/public/browser/render_process_host.h"
#include "content/public/browser/render_view_host.h"
#include "content/public/browser/resource_dispatcher_host.h"
#include "content/public/browser/site_instance.h"
#include "content/public/browser/web_contents.h"
#include "content/public/common/url_constants.h"
#include "content/public/common/web_preferences.h"
#include "net/ssl/ssl_cert_request_info.h"
#include "ppapi/host/ppapi_host.h"
#include "ui/base/l10n/l10n_util.h"
#include "v8/include/v8.h"
namespace atom {
namespace {
bool g_suppress_renderer_process_restart = false;
std::string g_custom_service_worker_schemes = "";
class AtomGeolocationDelegate : public content::GeolocationDelegate {