diff options
author | jamescook@chromium.org <jamescook@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-05-30 08:08:17 +0000 |
---|---|---|
committer | jamescook@chromium.org <jamescook@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-05-30 08:08:17 +0000 |
commit | 42816d78df4d63c4eb01768b89051e2b77717823 (patch) | |
tree | c1d86988efc3c048b843098d4a19405a4a41f4ae /webkit/media/webmediaplayer_impl.h | |
parent | f627ecffef16a6d63d7aed676fbeb56b8cdb1264 (diff) | |
download | chromium_src-42816d78df4d63c4eb01768b89051e2b77717823.zip chromium_src-42816d78df4d63c4eb01768b89051e2b77717823.tar.gz chromium_src-42816d78df4d63c4eb01768b89051e2b77717823.tar.bz2 |
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.
BUG=116618
TEST=aura_shell_unittests WorkspaceManagerTest and WindowAnimationsTest, trigger slow window animation with control-shift-click on maximize widget and close window during animation, kill -9 the GPU process during the animation and observe that Chrome recovers
Review URL: https://chromiumcodereview.appspot.com/10444014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@139494 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/media/webmediaplayer_impl.h')
0 files changed, 0 insertions, 0 deletions