Remove unneeded proportion calculation

This commit is contained in:
Kevin Sawicki 2016-10-27 11:49:13 -07:00
parent 7916981da2
commit b02c0e6f46

View file

@ -103,7 +103,7 @@ bool ScopedDisableResize::disable_resize_ = false;
} }
// Called when the user clicks the zoom button or selects it from the Window // Called when the user clicks the zoom button or selects it from the Window
// menu) to determine the "standard size" of the window. // menu to determine the "standard size" of the window.
- (NSRect)windowWillUseStandardFrame:(NSWindow*)window - (NSRect)windowWillUseStandardFrame:(NSWindow*)window
defaultFrame:(NSRect)frame { defaultFrame:(NSRect)frame {
if (!shell_->zoom_to_page_width()) if (!shell_->zoom_to_page_width())
@ -113,27 +113,17 @@ bool ScopedDisableResize::disable_resize_ = false;
if ([[NSApp currentEvent] modifierFlags] & NSShiftKeyMask) if ([[NSApp currentEvent] modifierFlags] & NSShiftKeyMask)
return frame; return frame;
// To prevent strange results on portrait displays, the basic minimum zoomed
// width is the larger of: 60% of available width, 60% of available height
// (bounded by available width).
const CGFloat kProportion = 0.6;
CGFloat zoomedWidth =
std::max(kProportion * NSWidth(frame),
std::min(kProportion * NSHeight(frame), NSWidth(frame)));
content::WebContents* web_contents = shell_->web_contents(); content::WebContents* web_contents = shell_->web_contents();
if (web_contents) { if (!web_contents)
// If the intrinsic width is bigger, then make it the zoomed width. return frame;
const int kScrollbarWidth = 16; // TODO(viettrungluu): ugh.
CGFloat intrinsicWidth = static_cast<CGFloat>(
web_contents->GetPreferredSize().width() + kScrollbarWidth);
zoomedWidth = std::max(zoomedWidth,
std::min(intrinsicWidth, NSWidth(frame)));
}
// Never shrink from the current size on zoom (see above). CGFloat intrinsicWidth = static_cast<CGFloat>(
NSRect currentFrame = [shell_->GetNativeWindow() frame]; web_contents->GetPreferredSize().width());
zoomedWidth = std::max(zoomedWidth, NSWidth(currentFrame));
NSRect currentFrame = [window frame];
// Never shrink from the current size on zoom.
CGFloat zoomedWidth = std::max(intrinsicWidth, NSWidth(currentFrame));
// |frame| determines our maximum extents. We need to set the origin of the // |frame| determines our maximum extents. We need to set the origin of the
// frame -- and only move it left if necessary. // frame -- and only move it left if necessary.