Chromium Code Reviews| 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 cd2319ce4291138e8a2a88d109b9513cd3119d59..1da077d6ba51d3aabf2b375d1801d5afc3013be7 100644 |
| --- a/ui/views/win/hwnd_message_handler.cc |
| +++ b/ui/views/win/hwnd_message_handler.cc |
| @@ -480,6 +480,15 @@ gfx::Rect HWNDMessageHandler::GetRestoredBounds() const { |
| return bounds; |
| } |
| +gfx::Rect HWNDMessageHandler::GetClientAreaBounds() const { |
| + if (IsMinimized()) |
| + return gfx::Rect(); |
| + if (delegate_->WidgetSizeIsClientSize()) |
| + return GetClientAreaBoundsInScreen(); |
| + else |
| + return GetWindowBoundsInScreen(); |
|
Ben Goodger (Google)
2014/01/09 23:00:07
nit: no else after return
|
| +} |
| + |
| void HWNDMessageHandler::GetWindowPlacement( |
| gfx::Rect* bounds, |
| ui::WindowShowState* show_state) const { |
| @@ -1054,17 +1063,7 @@ void HWNDMessageHandler::TrackMouseEvents(DWORD mouse_tracking_flags) { |
| } |
| void HWNDMessageHandler::ClientAreaSizeChanged() { |
| - RECT r = {0, 0, 0, 0}; |
| - // In case of minimized window GetWindowRect can return normally unexpected |
| - // coordinates. |
| - if (!IsMinimized()) { |
| - if (delegate_->WidgetSizeIsClientSize()) |
| - GetClientRect(hwnd(), &r); |
| - else |
| - GetWindowRect(hwnd(), &r); |
| - } |
| - gfx::Size s(std::max(0, static_cast<int>(r.right - r.left)), |
| - std::max(0, static_cast<int>(r.bottom - r.top))); |
| + gfx::Size s = GetClientAreaBounds().size(); |
| delegate_->HandleClientSizeChanged(s); |
| if (use_layered_buffer_) |
| layered_window_contents_.reset(new gfx::Canvas(s, 1.0f, false)); |