- 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
params.opacity = views::Widget::InitParams::TRANSLUCENT_WINDOW;
  
  
  if (transparent() && !has_frame())
    params.shadow_type = views::Widget::InitParams::SHADOW_TYPE_NONE;
  bool focusable;
  if (options.Get(options::kFocusable, &focusable) && !focusable)
    params.activatable = views::Widget::InitParams::ACTIVATABLE_NO;
#if defined(OS_WIN)
  if (parent)
    params.parent = parent->GetNativeWindow();
  params.native_widget =
      new views::DesktopNativeWidgetAura(window_.get());
  atom_desktop_window_tree_host_win_ = new AtomDesktopWindowTreeHostWin(
      this,
      window_.get(),
      static_cast<views::DesktopNativeWidgetAura*>(params.native_widget));
  params.desktop_window_tree_host = atom_desktop_window_tree_host_win_;
#elif defined(USE_X11)
  std::string name = Browser::Get()->GetName();
  
  params.wm_role_name = "browser-window";
  
  params.wm_class_name = base::ToLowerASCII(name);
  params.wm_class_class = name;
#endif
  window_->Init(params);
  bool fullscreen = false;
  options.Get(options::kFullscreen, &fullscreen);
  std::string window_type;