| Index: ui/views/win/hwnd_message_handler.cc
|
| diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc
|
| index 0cacffe4a76dfdde167943bf1f232f87736b9a76..aca31b8caa87c73cb301cde5480e5b02e69ecec4 100644
|
| --- a/ui/views/win/hwnd_message_handler.cc
|
| +++ b/ui/views/win/hwnd_message_handler.cc
|
| @@ -1330,6 +1330,8 @@ void HWNDMessageHandler::OnDestroy() {
|
| void HWNDMessageHandler::OnDisplayChange(UINT bits_per_pixel,
|
| const gfx::Size& screen_size) {
|
| delegate_->HandleDisplayChange();
|
| + // Force a WM_NCCALCSIZE to occur to ensure that we handle auto hide
|
| + // taskbars correctly.
|
| SendFrameChanged();
|
| }
|
|
|
| @@ -1988,6 +1990,13 @@ void HWNDMessageHandler::OnSettingChange(UINT flags, const wchar_t* section) {
|
| delegate_->HandleWorkAreaChanged();
|
| SetMsgHandled(FALSE);
|
| }
|
| +
|
| + // If the work area is changing, then it could be as a result of the taskbar
|
| + // broadcasting the WM_SETTINGCHANGE message due to changes in auto hide
|
| + // settings, etc. Force a WM_NCCALCSIZE to occur to ensure that we handle
|
| + // this correctly.
|
| + if (flags == SPI_SETWORKAREA)
|
| + SendFrameChanged();
|
| }
|
|
|
| void HWNDMessageHandler::OnSize(UINT param, const gfx::Size& size) {
|
|
|