diff --git a/atom/browser/native_window_views.cc b/atom/browser/native_window_views.cc index 2ae36bc36b3a..4a8bc16ef6f2 100644 --- a/atom/browser/native_window_views.cc +++ b/atom/browser/native_window_views.cc @@ -327,7 +327,6 @@ NativeWindowViews::NativeWindowViews( last_window_state_ = ui::SHOW_STATE_FULLSCREEN; else last_window_state_ = ui::SHOW_STATE_NORMAL; - last_normal_bounds_ = GetBounds(); #endif } diff --git a/atom/browser/native_window_views.h b/atom/browser/native_window_views.h index caaf64ba7134..379dc4ceaaf3 100644 --- a/atom/browser/native_window_views.h +++ b/atom/browser/native_window_views.h @@ -211,22 +211,6 @@ class NativeWindowViews : public NativeWindow, ui::WindowShowState last_window_state_; - // There's an issue with restore on Windows, that sometimes causes the Window - // to receive the wrong size (#2498). To circumvent that, we keep tabs on the - // size of the window while in the normal state (not maximized, minimized or - // fullscreen), so we restore it correctly. - gfx::Rect last_normal_bounds_; - - // last_normal_bounds_ may or may not require update on WM_MOVE. When a - // window is maximized, it is moved (WM_MOVE) to maximum size first and then - // sized (WM_SIZE). In this case, last_normal_bounds_ should not update. We - // keep last_normal_bounds_candidate_ as a candidate which will become valid - // last_normal_bounds_ if the moves are consecutive with no WM_SIZE event in - // between. - gfx::Rect last_normal_bounds_candidate_; - - bool consecutive_moves_; - // In charge of running taskbar related APIs. TaskbarHost taskbar_host_; diff --git a/atom/browser/native_window_views_win.cc b/atom/browser/native_window_views_win.cc index 85230addb0c1..d6f57b6aead8 100644 --- a/atom/browser/native_window_views_win.cc +++ b/atom/browser/native_window_views_win.cc @@ -125,7 +125,6 @@ bool NativeWindowViews::PreHandleMSG( return taskbar_host_.HandleThumbarButtonEvent(LOWORD(w_param)); return false; case WM_SIZE: { - consecutive_moves_ = false; // Handle window state change. HandleSizeEvent(w_param, l_param); return false; @@ -135,15 +134,6 @@ bool NativeWindowViews::PreHandleMSG( ::GetWindowRect(GetAcceleratedWidget(), (LPRECT)l_param); return false; } - case WM_MOVE: { - if (last_window_state_ == ui::SHOW_STATE_NORMAL) { - if (consecutive_moves_) - last_normal_bounds_ = last_normal_bounds_candidate_; - last_normal_bounds_candidate_ = GetBounds(); - consecutive_moves_ = true; - } - return false; - } default: return false; } @@ -162,35 +152,20 @@ void NativeWindowViews::HandleSizeEvent(WPARAM w_param, LPARAM l_param) { NotifyWindowMinimize(); break; case SIZE_RESTORED: - if (last_window_state_ == ui::SHOW_STATE_NORMAL) { - // Window was resized so we save it's new size. - last_normal_bounds_ = GetBounds(); - } else { - switch (last_window_state_) { - case ui::SHOW_STATE_MAXIMIZED: + switch (last_window_state_) { + case ui::SHOW_STATE_MAXIMIZED: + last_window_state_ = ui::SHOW_STATE_NORMAL; + NotifyWindowUnmaximize(); + break; + case ui::SHOW_STATE_MINIMIZED: + if (IsFullscreen()) { + last_window_state_ = ui::SHOW_STATE_FULLSCREEN; + NotifyWindowEnterFullScreen(); + } else { last_window_state_ = ui::SHOW_STATE_NORMAL; - - // When the window is restored we resize it to the previous known - // normal size. - SetBounds(last_normal_bounds_, false); - - NotifyWindowUnmaximize(); - break; - case ui::SHOW_STATE_MINIMIZED: - if (IsFullscreen()) { - last_window_state_ = ui::SHOW_STATE_FULLSCREEN; - NotifyWindowEnterFullScreen(); - } else { - last_window_state_ = ui::SHOW_STATE_NORMAL; - - // When the window is restored we resize it to the previous known - // normal size. - SetBounds(last_normal_bounds_, false); - - NotifyWindowRestore(); - } - break; - } + NotifyWindowRestore(); + } + break; } break; }