Chromium Code Reviews| Index: ash/wm/window_state.cc |
| diff --git a/ash/wm/window_state.cc b/ash/wm/window_state.cc |
| index e60dc34fceb106f39fdc74e3ddf3639b73bf1c9c..d34a2eda6970ae2ca8159b416cfbdc041f762841 100644 |
| --- a/ash/wm/window_state.cc |
| +++ b/ash/wm/window_state.cc |
| @@ -141,6 +141,12 @@ bool WindowState::IsDocked() const { |
| } |
| bool WindowState::CanMaximize() const { |
| + if (window_->delegate()) { |
| + gfx::Size max_size = window_->delegate()->GetMaximumSize(); |
| + if (max_size.width() || max_size.height()) |
| + return false; |
| + } |
| + |
| return window_->GetProperty(aura::client::kCanMaximizeKey); |
|
oshima
2014/09/11 01:00:05
This should be
window->GetProperty(aura::client::
jackhou1
2014/09/11 01:52:42
Ah I see.
BTW, GetMaximumSize will return 0x200 i
|
| } |
| @@ -168,10 +174,10 @@ bool WindowState::CanSnap() const { |
| if (!CanResize() || window_->type() == ui::wm::WINDOW_TYPE_PANEL || |
| ::wm::GetTransientParent(window_)) |
| return false; |
| - // If a window has a maximum size defined, snapping may make it too big. |
| - // TODO(oshima): We probably should snap if possible. |
| - return window_->delegate() ? window_->delegate()->GetMaximumSize().IsEmpty() : |
| - true; |
| + // If a window cannot be maximized, assume it cannot snap either. |
| + // TODO(oshima): We should probably snap if the maximum size is greater than |
| + // the snapped size. |
| + return CanMaximize(); |
| } |
| bool WindowState::HasRestoreBounds() const { |