Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(141)

Issue 10444014: ash: Improved window maximize/restore animations (Closed)

Created:
8 years, 7 months ago by James Cook
Modified:
8 years, 6 months ago
CC:
chromium-reviews, sadrul, yusukes+watch_chromium.org, jochen+watch-content_chromium.org, ben+watch_chromium.org, Ian Vollick, dhollowa+watch_chromium.org, jonathan.backer, jam, penghuang+watch_chromium.org, joi+watch-content_chromium.org, darin-cc_chromium.org, piman+watch_chromium.org, James Su
Visibility:
Public.

Description

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

Patch Set 1 #

Patch Set 2 : cleanup #

Patch Set 3 : getting close #

Patch Set 4 : tests in progress #

Patch Set 5 : fix workspace mgr, remove ignore_window, cleanup #

Total comments: 3

Patch Set 6 : rename WindowAnimationWorkspaceTest, fix aura_bench #

Patch Set 7 : move animation slowdown to separate CL #

Patch Set 8 : fix lock screen, app windows #

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

Messages

Total messages: 8 (0 generated)
James Cook
piman: PTAL at content/browser/renderer_host/render_widget_host_view_aura.* and ui/compositor/*. This adds the "lost context" notification to allow us ...
8 years, 6 months ago (2012-05-29 22:04:39 UTC) #1
piman
My parts LGTM
8 years, 6 months ago (2012-05-29 22:09:17 UTC) #2
Ben Goodger (Google)
lgtm http://codereview.chromium.org/10444014/diff/9001/ash/accelerators/accelerator_controller.cc File ash/accelerators/accelerator_controller.cc (right): http://codereview.chromium.org/10444014/diff/9001/ash/accelerators/accelerator_controller.cc#newcode175 ash/accelerators/accelerator_controller.cc:175: DLOG(INFO) << indent_str << window->name() << " type ...
8 years, 6 months ago (2012-05-29 22:30:44 UTC) #3
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/jamescook@chromium.org/10444014/14001
8 years, 6 months ago (2012-05-30 03:46:38 UTC) #4
commit-bot: I haz the power
Change committed as 139494
8 years, 6 months ago (2012-05-30 08:08:20 UTC) #5
James Cook
On 2012/05/30 08:08:20, I haz the power (commit-bot) wrote: > Change committed as 139494 I ...
8 years, 6 months ago (2012-06-06 01:11:11 UTC) #6
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/jamescook@chromium.org/10444014/18001
8 years, 6 months ago (2012-06-06 01:11:47 UTC) #7
commit-bot: I haz the power
8 years, 6 months ago (2012-06-06 02:21:21 UTC) #8
Change committed as 140698

Powered by Google App Engine
This is Rietveld 408576698