Improving the user transition to add special cases for maximized windows and make...
commit9dd7a656fa210d93c62a7356f902f3e3e002222f
authorskuhne@chromium.org <skuhne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Mon, 7 Apr 2014 19:18:27 +0000 (7 19:18 +0000)
committerskuhne@chromium.org <skuhne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Mon, 7 Apr 2014 19:18:27 +0000 (7 19:18 +0000)
tree94150c179225cddefabfd3d9a9b8610fc357904b
parent885e7200515b1e211188db537190f6ccc955971f
Improving the user transition to add special cases for maximized windows and make the transition "more fluid"

There were user complaints with the old animation which said that the animation looked janky. This was in part because various transitions (e.g. maximized->maximized) were showing the background animating in the middle of the animation which looked like "flashing") and because there are some real causes where the CPU gets 100% hogged and the UI thread has not time processing the animation.

This is addressing the first part: Improving the animation by removing the "flash" in the middle and instead transitioning the desktop cleanly from one state to another.

The shelf animation stays the same, but the windows will cross dissolve. When switching from maximize to maximize, the desktop will not shine through and when switching from / or to maximize, the desktop background will only show the desktop background from the user which is not maximized. This way the intermediate frames do not show "some state".

BUG=357852
TEST=unittest & visual checking

Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=261944

Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=262024

Review URL: https://codereview.chromium.org/223823004

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@262174 0039d316-1c4b-4281-b951-d872f2087c98
chrome/browser/chromeos/preferences_browsertest.cc
chrome/browser/ui/ash/multi_user/multi_user_window_manager_chromeos.cc
chrome/browser/ui/ash/multi_user/multi_user_window_manager_chromeos.h
chrome/browser/ui/ash/multi_user/multi_user_window_manager_chromeos_unittest.cc
chrome/browser/ui/ash/multi_user/user_switch_animator_chromeos.cc [new file with mode: 0644]
chrome/browser/ui/ash/multi_user/user_switch_animator_chromeos.h [new file with mode: 0644]
chrome/chrome_browser_ui.gypi