| Index: ash/wm/workspace/workspace_layout_manager.cc
|
| diff --git a/ash/wm/workspace/workspace_layout_manager.cc b/ash/wm/workspace/workspace_layout_manager.cc
|
| index 65ed116b24261cf04babe85e815197cb5f5eaba8..3778a80d1da4109c04ab4adb3ff962ab60dba112 100644
|
| --- a/ash/wm/workspace/workspace_layout_manager.cc
|
| +++ b/ash/wm/workspace/workspace_layout_manager.cc
|
| @@ -24,6 +24,7 @@
|
| #include "ui/aura/window_observer.h"
|
| #include "ui/base/events/event.h"
|
| #include "ui/base/ui_base_types.h"
|
| +#include "ui/compositor/scoped_animation_duration_scale_mode.h"
|
| #include "ui/views/corewm/window_util.h"
|
|
|
| using aura::Window;
|
| @@ -234,6 +235,19 @@ void WorkspaceLayoutManager::OnWindowPropertyChanged(Window* window,
|
| workspace_manager()->OnTrackedByWorkspaceChanged(workspace_, window);
|
| }
|
|
|
| + if (key == internal::kWindowCanBeMaximizedByWorkspaceKey &&
|
| + ash::Shell::IsForcedMaximizeMode()) {
|
| + // Since this flag can only be set after creation, but it is not dynamic,
|
| + // we want this flag to be executed immediately without animations.
|
| + scoped_ptr<ui::ScopedAnimationDurationScaleMode> animation_duration(
|
| + new ui::ScopedAnimationDurationScaleMode(
|
| + ui::ScopedAnimationDurationScaleMode::ZERO_DURATION));
|
| + if (old)
|
| + ash::wm::RestoreWindow(window);
|
| + else
|
| + ash::wm::MaximizeWindow(window);
|
| + }
|
| +
|
| if (key == aura::client::kAlwaysOnTopKey &&
|
| window->GetProperty(aura::client::kAlwaysOnTopKey)) {
|
| internal::AlwaysOnTopController* controller =
|
|
|