* Electron Version: 2.0.2
* Operating System (Platform and Version): Win10 x64 version 1803
* Last known working Electron version: 1.9.0

**Expected Behavior**
Calling win.setResizable(false) and then win.setResizable(true) should return the window to it's original state. Specifically, it should not change the result of win.isMaximizable().

**Actual behavior**
Calling win.setResizable(false) and then win.setResizable(true) results in the window not being maximizable. The maximize button is disabled and win.isMaximizable returns false.

**To Reproduce**
In any electron application with a window that is resizable, call win.setResizable(false) and then win.setResizable(true). The window will now be impossible to maximize.
atom/browser/native_window_views.cc
window_icon_ = base::win::ScopedHICON(CopyIcon(window_icon));
  app_icon_ = base::win::ScopedHICON(CopyIcon(app_icon));
  HWND hwnd = GetAcceleratedWidget();
  SendMessage(hwnd, WM_SETICON, ICON_SMALL,
              reinterpret_cast<LPARAM>(window_icon_.get()));
  SendMessage(hwnd, WM_SETICON, ICON_BIG,
              reinterpret_cast<LPARAM>(app_icon_.get()));
}
#elif defined(USE_X11)
void NativeWindowViews::SetIcon(const gfx::ImageSkia& icon) {
  auto* tree_host = static_cast<views::DesktopWindowTreeHost*>(
      views::DesktopWindowTreeHostX11::GetHostForXID(GetAcceleratedWidget()));
  tree_host->SetWindowIcons(icon, icon);
}
#endif
void NativeWindowViews::OnWidgetActivationChanged(views::Widget* changed_widget,
                                                  bool active) {
  if (changed_widget != widget())
    return;
  if (active)
    NativeWindow::NotifyWindowFocus();
  else
    NativeWindow::NotifyWindowBlur();
  
  if (!active && IsMenuBarAutoHide() && IsMenuBarVisible())
    SetMenuBarVisibility(false);
  root_view_->ResetAltState();
}
void NativeWindowViews::OnWidgetBoundsChanged(views::Widget* changed_widget,