|
|
Reland: ash: Improved window maximize/restore animations
This implements a cross-fade while scaling the window between the new and old size.
When a maximize animation is triggered we grab the window's current layer (and those of child windows) and start an animation on those layers to scale them up to full size. Simultaneously, we install a fresh layer for the window, set the bounds to fill the workspace, and tell the window to paint. We scale down that layer to match the window size at the start of the animation, then fade it in while scaling it up to full size.
The restore animation essentially does the above in reverse. However, we always keep the higher resolution layer on top (it looks better), and we always keep the lower layer fully opaque (so the desktop doesn't bleed through).
The animation is aborted if the window is closed mid-animation or the GPU process crashes mid-animation.
The animation does not yet work for app windows, see crbug.com/131293
BUG= 116618
TEST=aura_shell_unittests WorkspaceManagerTest and WindowAnimationsTest, trigger slow window animation with shift-click on maximize widget and close window during animation, kill -9 the GPU process during the animation and observe that Chrome recovers
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=139494
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=140698
Total comments: 3
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+383 lines, -48 lines) |
Patch |
 |
M |
ash/accelerators/accelerator_controller.cc
|
View
|
1
2
3
4
5
6
7
|
1 chunk |
+3 lines, -3 lines |
0 comments
|
Download
|
 |
M |
ash/wm/base_layout_manager.h
|
View
|
1
|
1 chunk |
+6 lines, -1 line |
0 comments
|
Download
|
 |
M |
ash/wm/base_layout_manager.cc
|
View
|
1
2
3
4
5
6
7
|
7 chunks |
+29 lines, -7 lines |
0 comments
|
Download
|
 |
M |
ash/wm/window_animations.h
|
View
|
1
2
3
4
5
6
7
|
2 chunks |
+10 lines, -2 lines |
0 comments
|
Download
|
 |
M |
ash/wm/window_animations.cc
|
View
|
1
2
3
4
5
6
7
|
5 chunks |
+181 lines, -0 lines |
0 comments
|
Download
|
 |
M |
ash/wm/window_animations_unittest.cc
|
View
|
1
2
3
4
5
|
4 chunks |
+56 lines, -4 lines |
0 comments
|
Download
|
 |
M |
ash/wm/workspace/workspace.h
|
View
|
1
2
3
4
|
1 chunk |
+0 lines, -4 lines |
0 comments
|
Download
|
 |
M |
ash/wm/workspace/workspace.cc
|
View
|
1
2
3
4
|
1 chunk |
+0 lines, -4 lines |
0 comments
|
Download
|
 |
M |
ash/wm/workspace/workspace_manager.h
|
View
|
1
2
3
4
|
3 chunks |
+3 lines, -11 lines |
0 comments
|
Download
|
 |
M |
ash/wm/workspace/workspace_manager.cc
|
View
|
1
2
3
4
|
5 chunks |
+10 lines, -6 lines |
0 comments
|
Download
|
 |
M |
ash/wm/workspace/workspace_manager_unittest.cc
|
View
|
1
2
3
4
|
2 chunks |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/ui/views/frame/browser_frame_aura.cc
|
View
|
1
2
3
4
5
6
7
|
2 chunks |
+10 lines, -0 lines |
0 comments
|
Download
|
 |
M |
content/browser/renderer_host/render_widget_host_view_aura.h
|
View
|
1
2
3
4
5
6
7
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
 |
M |
content/browser/renderer_host/render_widget_host_view_aura.cc
|
View
|
1
2
3
4
5
6
7
|
2 chunks |
+5 lines, -1 line |
0 comments
|
Download
|
 |
M |
ui/aura/bench/bench_main.cc
|
View
|
1
2
3
4
5
6
7
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
 |
M |
ui/aura/root_window.h
|
View
|
1
2
3
4
5
6
7
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
 |
M |
ui/aura/root_window.cc
|
View
|
1
2
3
4
5
6
7
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
 |
M |
ui/aura/window.h
|
View
|
1
2
3
4
5
6
7
|
2 chunks |
+7 lines, -0 lines |
0 comments
|
Download
|
 |
M |
ui/aura/window.cc
|
View
|
1
2
3
4
5
6
7
|
1 chunk |
+27 lines, -0 lines |
0 comments
|
Download
|
 |
M |
ui/compositor/compositor.cc
|
View
|
1
2
3
4
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
 |
M |
ui/compositor/compositor_observer.h
|
View
|
1
2
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
 |
M |
ui/compositor/layer_animation_observer.h
|
View
|
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
 |
M |
ui/compositor/layer_unittest.cc
|
View
|
1
2
3
|
3 chunks |
+17 lines, -1 line |
0 comments
|
Download
|
 |
M |
ui/gfx/transform.h
|
View
|
1
2
3
4
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
Total messages: 8 (0 generated)
|