- Electron version: `1.2.3`
- Operating system: `Windows`

``` js
remote.getCurrentWindow().setMaximumSize(300, 300);
remote.getCurrentWindow().setMinimumSize(50, 50);
console.info('No Errors');
```

When combining remote Minimum and Maximum size calls the maximum size fails to set.

If you change the sample code to be

``` js
setTimeout(() => remote.getCurrentWindow().setMaximumSize(300, 300), 200);
remote.getCurrentWindow().setMinimumSize(50, 50);
console.info('No Errors');
```

So we wait a bit (make the two calls not at the same time) then the maximum size is set as expected

atom/browser/native_window.cc
UINT message, WPARAM w_param, LPARAM l_param) {
  FOR_EACH_OBSERVER(NativeWindowObserver, observers_,
                    OnWindowMessage(message, w_param, l_param));
}
#endif
std::unique_ptr<SkRegion> NativeWindow::DraggableRegionsToSkRegion(
    const std::vector<DraggableRegion>& regions) {
  std::unique_ptr<SkRegion> sk_region(new SkRegion);
  for (const DraggableRegion& region : regions) {
    sk_region->op(
        region.bounds.x(),
        region.bounds.y(),
        region.bounds.right(),
        region.bounds.bottom(),
        region.draggable ? SkRegion::kUnion_Op : SkRegion::kDifference_Op);
  }
  return sk_region;
}
void NativeWindow::RenderViewCreated(
    content::RenderViewHost* render_view_host) {
  if (!transparent_)
    return;
  content::RenderWidgetHostImpl* impl = content::RenderWidgetHostImpl::FromID(
      render_view_host->GetProcess()->GetID(),
      render_view_host->GetRoutingID());
  if (impl)
    impl->SetBackgroundOpaque(false);
}
void NativeWindow::BeforeUnloadDialogCancelled() {