Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #import "chrome/browser/ui/cocoa/browser_window_controller.h" | 5 #import "chrome/browser/ui/cocoa/browser_window_controller.h" |
| 6 | 6 |
| 7 #include <cmath> | 7 #include <cmath> |
| 8 #include <numeric> | 8 #include <numeric> |
| 9 | 9 |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| (...skipping 820 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 831 - (BOOL)adjustWindowHeightBy:(CGFloat)deltaH { | 831 - (BOOL)adjustWindowHeightBy:(CGFloat)deltaH { |
| 832 // By not adjusting the window height when initializing, we can ensure that | 832 // By not adjusting the window height when initializing, we can ensure that |
| 833 // the window opens with the same size that was saved on close. | 833 // the window opens with the same size that was saved on close. |
| 834 if (initializing_ || [self isInAnyFullscreenMode] || deltaH == 0) | 834 if (initializing_ || [self isInAnyFullscreenMode] || deltaH == 0) |
| 835 return NO; | 835 return NO; |
| 836 | 836 |
| 837 NSWindow* window = [self window]; | 837 NSWindow* window = [self window]; |
| 838 NSRect windowFrame = [window frame]; | 838 NSRect windowFrame = [window frame]; |
| 839 NSRect workarea = [[window screen] visibleFrame]; | 839 NSRect workarea = [[window screen] visibleFrame]; |
| 840 | 840 |
| 841 // Prevent the window from growing smaller than its minimum height: | |
| 842 // http://crbug.com/230400 . | |
| 843 if (deltaH < 0) { | |
| 844 NSSize minWindowSize = [window minSize]; | |
|
Avi (use Gerrit)
2015/04/15 04:27:26
Might as well do
CGFloat minWindowHeight = [windo
shrike
2015/04/15 17:01:33
Agreed.
| |
| 845 if (windowFrame.size.height + deltaH < minWindowSize.height) { | |
| 846 // |deltaH| + |windowFrame.size.height| = |minWindowSize.height|. | |
| 847 deltaH = minWindowSize.height - windowFrame.size.height; | |
| 848 } | |
| 849 if (deltaH == 0) { | |
| 850 return NO; | |
| 851 } | |
| 852 } | |
| 853 | |
| 841 // If the window is not already fully in the workarea, do not adjust its frame | 854 // If the window is not already fully in the workarea, do not adjust its frame |
| 842 // at all. | 855 // at all. |
| 843 if (!NSContainsRect(workarea, windowFrame)) | 856 if (!NSContainsRect(workarea, windowFrame)) |
| 844 return NO; | 857 return NO; |
| 845 | 858 |
| 846 // Record the position of the top/bottom of the window, so we can easily check | 859 // Record the position of the top/bottom of the window, so we can easily check |
| 847 // whether we grew the window upwards/downwards. | 860 // whether we grew the window upwards/downwards. |
| 848 CGFloat oldWindowMaxY = NSMaxY(windowFrame); | 861 CGFloat oldWindowMaxY = NSMaxY(windowFrame); |
| 849 CGFloat oldWindowMinY = NSMinY(windowFrame); | 862 CGFloat oldWindowMinY = NSMinY(windowFrame); |
| 850 | 863 |
| (...skipping 1355 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2206 | 2219 |
| 2207 - (BOOL)supportsBookmarkBar { | 2220 - (BOOL)supportsBookmarkBar { |
| 2208 return [self supportsWindowFeature:Browser::FEATURE_BOOKMARKBAR]; | 2221 return [self supportsWindowFeature:Browser::FEATURE_BOOKMARKBAR]; |
| 2209 } | 2222 } |
| 2210 | 2223 |
| 2211 - (BOOL)isTabbedWindow { | 2224 - (BOOL)isTabbedWindow { |
| 2212 return browser_->is_type_tabbed(); | 2225 return browser_->is_type_tabbed(); |
| 2213 } | 2226 } |
| 2214 | 2227 |
| 2215 @end // @implementation BrowserWindowController(WindowType) | 2228 @end // @implementation BrowserWindowController(WindowType) |
| OLD | NEW |