views: Remove hack on setting min/max size for frameless window
authorCheng Zhao <zcbenz@gmail.com>
Mon, 5 Oct 2015 12:37:08 +0000 (20:37 +0800)
committerCheng Zhao <zcbenz@gmail.com>
Mon, 5 Oct 2015 12:37:08 +0000 (20:37 +0800)
atom/browser/native_window_views.cc
atom/browser/native_window_views.h
atom/browser/ui/views/frameless_view.cc
atom/browser/ui/views/win_frame_view.cc
atom/browser/ui/views/win_frame_view.h

index 0264ac59e1a7f974b70465f6942d459e600b28e1..5cd99dbdefb2f27883ee9e8f6d84e377f699c232 100644 (file)
@@ -854,33 +854,6 @@ void NativeWindowViews::HandleSizeEvent(WPARAM w_param, LPARAM l_param) {
 }
 #endif
 
-gfx::Size NativeWindowViews::WindowSizeToFramelessSize(
-    const gfx::Size& size) {
-  if (size.width() == 0 && size.height() == 0)
-    return size;
-
-  gfx::Rect window_bounds = gfx::Rect(size);
-  if (use_content_size_) {
-    if (menu_bar_ && menu_bar_visible_) {
-      window_bounds.set_height(window_bounds.height() + kMenuBarHeight);
-    }
-  } else if (has_frame()) {
-#if defined(OS_WIN)
-  gfx::Size frame_size = gfx::win::ScreenToDIPRect(
-      window_->non_client_view()->GetWindowBoundsForClientBounds(
-          gfx::Rect())).size();
-#else
-  gfx::Size frame_size =
-      window_->non_client_view()->GetWindowBoundsForClientBounds(
-          gfx::Rect()).size();
-#endif
-    window_bounds.set_height(window_bounds.height() - frame_size.height());
-    window_bounds.set_width(window_bounds.width() - frame_size.width());
-  }
-
-  return window_bounds.size();
-}
-
 gfx::Size NativeWindowViews::ContentSizeToWindowSize(const gfx::Size& size) {
   if (!has_frame())
     return size;
index 1ba02e89a3af827b47aa0f4bede5f25921abc496..35ca7b63e25c8c0ac0753799f58dcc61101b2395 100644 (file)
@@ -89,8 +89,6 @@ class NativeWindowViews : public NativeWindow,
 
   gfx::AcceleratedWidget GetAcceleratedWidget();
 
-  gfx::Size WindowSizeToFramelessSize(const gfx::Size& size);
-
   views::Widget* widget() const { return window_.get(); }
 
 #if defined(OS_WIN)
index f5e28025e9bfd828f344f22dec4897975cc8e880..2ec4459f6b45b71f084af67d4ac0353016f5eca9 100644 (file)
@@ -104,11 +104,11 @@ gfx::Size FramelessView::GetPreferredSize() const {
 }
 
 gfx::Size FramelessView::GetMinimumSize() const {
-  return static_cast<NativeWindow*>(window_)->GetMinimumSize();
+  return window_->GetContentSizeConstraints().GetMinimumSize();
 }
 
 gfx::Size FramelessView::GetMaximumSize() const {
-  return static_cast<NativeWindow*>(window_)->GetMaximumSize();
+  return window_->GetContentSizeConstraints().GetMaximumSize();
 }
 
 const char* FramelessView::GetClassName() const {
index 7106d8f759cfddd896b78b00041b213e1c99e8c6..fca7cb23347c6d2fbc056384fcec9de5bcdb2501 100644 (file)
@@ -5,7 +5,6 @@
 #include "atom/browser/ui/views/win_frame_view.h"
 
 #include "atom/browser/native_window_views.h"
-#include "ui/gfx/win/dpi.h"
 #include "ui/views/widget/widget.h"
 #include "ui/views/win/hwnd_util.h"
 
@@ -39,18 +38,6 @@ int WinFrameView::NonClientHitTest(const gfx::Point& point) {
     return FramelessView::NonClientHitTest(point);
 }
 
-gfx::Size WinFrameView::GetMinimumSize() const {
-  gfx::Size size = window_->WindowSizeToFramelessSize(
-      FramelessView::GetMinimumSize());
-  return gfx::win::DIPToScreenSize(size);
-}
-
-gfx::Size WinFrameView::GetMaximumSize() const {
-  gfx::Size size = window_->WindowSizeToFramelessSize(
-      FramelessView::GetMaximumSize());
-  return gfx::win::DIPToScreenSize(size);
-}
-
 const char* WinFrameView::GetClassName() const {
   return kViewClassName;
 }
index 825677bff31018e912a063390f940c7c539938b3..b2c1ef3a15de9a222233a27193ed811a8add09f6 100644 (file)
@@ -20,8 +20,6 @@ class WinFrameView : public FramelessView {
   int NonClientHitTest(const gfx::Point& point) override;
 
   // views::View:
-  gfx::Size GetMinimumSize() const override;
-  gfx::Size GetMaximumSize() const override;
   const char* GetClassName() const override;
 
  private: