- Electron version:
  V.1.2.8
- Operating system:
  Windows 10.1

STAGE 1: I create a browserwindow using:

```
  browserWindow = new BrowserWindow({
    show: false,
    width: 1000,
    height: 600,
    minWidth: 500,
    minHeight: 500,
    frame: process.platform == 'darwin' ? true : false
  });
```

STAGE 2: From within the renderer I call:

```
    import electron from 'electron';
    const window = electron.remote.getCurrentWindow();
    window.setSize(1000, 600, true);
    window.setMinimumSize(500, 500);
    window.setResizable(false);
```

STAGE 3: Then, at a later stage I call:

```
    import electron from 'electron';
    const window = electron.remote.getCurrentWindow();
    window.setMinimumSize(500, 500);
    window.setResizable(true);
    window.maximize();
```

This final step seems to break the browser window in several ways. Windows snap stops working (dragging the window to the top/sides does nothing). And the maximise() command ignores the taskbar (window is behind the taskbar - see below).

![Taskbar above browserwindow](https://www.dropbox.com/s/e56m8gwyiw65gg6/2016-10-20%2010_27_33-.png?dl=1)

When I refresh (only STAGE 3 will run) the window is fixed. Snap works again and maximise() will not ignore the taskbar.

atom/browser/native_window_views.cc
const gfx::Rect& bounds) {
  if (!has_frame())
    return bounds;
  gfx::Rect content_bounds(bounds);
#if defined(OS_WIN)
  HWND hwnd = GetAcceleratedWidget();
  content_bounds.set_size(
      display::win::ScreenWin::DIPToScreenSize(hwnd, content_bounds.size()));
  RECT rect;
  SetRectEmpty(&rect);
  DWORD style = ::GetWindowLong(hwnd, GWL_STYLE);
  DWORD ex_style = ::GetWindowLong(hwnd, GWL_EXSTYLE);
  AdjustWindowRectEx(&rect, style, FALSE, ex_style);
  content_bounds.set_width(content_bounds.width() - (rect.right - rect.left));
  content_bounds.set_height(content_bounds.height() - (rect.bottom - rect.top));
  content_bounds.set_size(
      display::win::ScreenWin::ScreenToDIPSize(hwnd, content_bounds.size()));
#endif
  if (menu_bar_ && menu_bar_visible_) {
    content_bounds.set_y(content_bounds.y() + kMenuBarHeight);
    content_bounds.set_height(content_bounds.height() - kMenuBarHeight);
  }
  return content_bounds;
}
void NativeWindowViews::HandleKeyboardEvent(