### Preflight Checklist

- [X] I have read the [Contributing Guidelines](https://github.com/electron/electron/blob/main/CONTRIBUTING.md) for this project.
- [X] I agree to follow the [Code of Conduct](https://github.com/electron/electron/blob/main/CODE_OF_CONDUCT.md) that this project adheres to.
- [X] I have searched the [issue tracker](https://www.github.com/electron/electron/issues) for a feature request that matches the one I want to file, without success.

### Electron Version

16.0.5

### What operating system are you using?

Windows

### Operating System Version

Windows 11 21H2

### What arch are you using?

x64

### Last Known Working Electron version

_No response_

### Expected Behavior

If a window has the `maximizable` property set to `false`, the built-in title bar overlay should be updated and the maximise button should be disabled. And if a window has the `minimizable` property set to `false`, the built-in title bar overlay should be updated and the minimise button should be disabled.

### Actual Behavior

These buttons are still active on the windows that have these properties set to `false`.
![image](https://user-images.githubusercontent.com/72353925/147394733-edffab52-5fea-483d-a62a-840596810551.png)

Main Window (the first one):
maximizable -> true
minimizable -> true

Editor Window (the second one):
maximizable -> true
minimizable -> true

Custom Alert Window (the third one):
maximizable -> false
minimizable -> true

About Window (the fourth one):
maximizable -> false
minimizable -> false

### Testcase Gist URL

_No response_

### Additional Information

_No response_
shell/browser/ui/views/win_caption_button_container.cc
layout->SetOrientation(views::LayoutOrientation::kHorizontal)
      .SetMainAxisAlignment(views::LayoutAlignment::kEnd)
      .SetCrossAxisAlignment(views::LayoutAlignment::kStart)
      .SetDefault(
          views::kFlexBehaviorKey,
          views::FlexSpecification(views::LayoutOrientation::kHorizontal,
                                   views::MinimumFlexSizeRule::kPreferred,
                                   views::MaximumFlexSizeRule::kPreferred,
                                    false,
                                   views::MinimumFlexSizeRule::kScaleToZero));
}
WinCaptionButtonContainer::~WinCaptionButtonContainer() {}
int WinCaptionButtonContainer::NonClientHitTest(const gfx::Point& point) const {
  DCHECK(HitTestPoint(point))
      << "should only be called with a point inside this view's bounds";
  if (HitTestCaptionButton(minimize_button_, point)) {
    return HTMINBUTTON;
  }
  if (HitTestCaptionButton(maximize_button_, point)) {
    return HTMAXBUTTON;
  }
  if (HitTestCaptionButton(restore_button_, point)) {
    return HTMAXBUTTON;
  }
  if (HitTestCaptionButton(close_button_, point)) {
    return HTCLOSE;
  }
  return HTCAPTION;
}
gfx::Size WinCaptionButtonContainer::GetButtonSize() const {