### 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
views::Widget* const widget = GetWidget();
  DCHECK(!widget_observation_.IsObserving());
  widget_observation_.Observe(widget);
  UpdateButtons();
  if (frame_view_->window()->IsWindowControlsOverlayEnabled()) {
    SetPaintToLayer();
  }
}
void WinCaptionButtonContainer::RemovedFromWidget() {
  DCHECK(widget_observation_.IsObserving());
  widget_observation_.Reset();
}
void WinCaptionButtonContainer::OnWidgetBoundsChanged(
    views::Widget* widget,
    const gfx::Rect& new_bounds) {
  UpdateButtons();
}
void WinCaptionButtonContainer::UpdateButtons() {
  const bool is_maximized = frame_view_->frame()->IsMaximized();
  restore_button_->SetVisible(is_maximized);
  maximize_button_->SetVisible(!is_maximized);
  
  
  const bool is_touch = ui::TouchUiController::Get()->touch_ui();
  restore_button_->SetEnabled(!is_touch);
  maximize_button_->SetEnabled(!is_touch);
  InvalidateLayout();
}
}