Chromium Code Reviews| Index: ui/views/widget/widget_hwnd_utils.cc |
| diff --git a/ui/views/widget/widget_hwnd_utils.cc b/ui/views/widget/widget_hwnd_utils.cc |
| index ac313bb74c89967a7578605bf0e9eda80330d020..f4a50dff2e06af867f4d43100e61501af04cd30a 100644 |
| --- a/ui/views/widget/widget_hwnd_utils.cc |
| +++ b/ui/views/widget/widget_hwnd_utils.cc |
| @@ -81,14 +81,17 @@ void CalculateWindowStylesFromInitParams( |
| } |
| // Else, no break. Fall through to TYPE_WINDOW. |
| case Widget::InitParams::TYPE_WINDOW: { |
| - *style |= WS_SYSMENU | WS_CAPTION; |
| - bool can_resize = widget_delegate->CanResize(); |
| - bool can_maximize = widget_delegate->CanMaximize(); |
| - if (can_maximize) { |
| - *style |= WS_OVERLAPPEDWINDOW; |
| - } else if (can_resize || params.remove_standard_frame) { |
| - *style |= WS_OVERLAPPED | WS_THICKFRAME; |
| - } |
| + // WS_OVERLAPPEDWINDOW is equivalent to: |
| + // WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | |
| + // WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX |
| + *style |= WS_OVERLAPPEDWINDOW; |
| + if (!widget_delegate->CanMaximize()) |
| + *style &= ~(WS_MINIMIZEBOX | WS_MAXIMIZEBOX); |
|
sky
2014/09/18 14:27:09
Why remove the minimize button if the window can't
jackhou1
2014/09/18 23:28:35
Hah, I was hoping you would know. There's this bug
|
| + if (!widget_delegate->CanResize()) |
| + *style &= ~(WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX); |
| + if (params.remove_standard_frame) |
| + *style &= ~(WS_MINIMIZEBOX | WS_MAXIMIZEBOX); |
| + |
| if (native_widget_delegate->IsDialogBox()) { |
| *style |= DS_MODALFRAME; |
| // NOTE: Turning this off means we lose the close button, which is bad. |