Commit b1400bfb authored by pkotwicz's avatar pkotwicz Committed by Commit bot

Disables the maximize button for an app window with a maximum size and a custom frame color

BUG=416214
TEST=Manual, see bug

Review URL: https://codereview.chromium.org/588873002

Cr-Commit-Position: refs/heads/master@{#295922}
parent 49ce0fa0
......@@ -229,6 +229,13 @@ void AppWindowFrameView::GetWindowMask(const gfx::Size& size,
// We got nothing to say about no window mask.
}
void AppWindowFrameView::SizeConstraintsChanged() {
if (draw_frame_) {
maximize_button_->SetEnabled(widget_->widget_delegate() &&
widget_->widget_delegate()->CanMaximize());
}
}
gfx::Size AppWindowFrameView::GetPreferredSize() const {
gfx::Size pref = widget_->client_view()->GetPreferredSize();
gfx::Rect bounds(0, 0, pref.width(), pref.height());
......@@ -250,10 +257,8 @@ void AppWindowFrameView::Layout() {
close_size.width(),
close_size.height());
bool can_ever_resize = widget_->widget_delegate()
? widget_->widget_delegate()->CanResize()
: false;
maximize_button_->SetEnabled(can_ever_resize);
maximize_button_->SetEnabled(widget_->widget_delegate() &&
widget_->widget_delegate()->CanMaximize());
gfx::Size maximize_size = maximize_button_->GetPreferredSize();
maximize_button_->SetBounds(
close_button_->x() - kButtonSpacing - maximize_size.width(),
......
......@@ -77,7 +77,7 @@ class AppWindowFrameView : public views::NonClientFrameView,
virtual void ResetWindowControls() OVERRIDE {}
virtual void UpdateWindowIcon() OVERRIDE {}
virtual void UpdateWindowTitle() OVERRIDE {}
virtual void SizeConstraintsChanged() OVERRIDE {}
virtual void SizeConstraintsChanged() OVERRIDE;
// views::View implementation.
virtual gfx::Size GetPreferredSize() const OVERRIDE;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment