New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 753449 link

Starred by 1 user

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Bug



Sign in to add a comment

Cross Fade animation: some behaviors can be improved.

Project Member Reported by wutao@chromium.org, Aug 8 2017

Issue description

Please see attached video.

There are two behaviors looks can be improved:
1. The transient window goes to the target position without animation. We can animate the transient window as well.

2. During animation, if press "alt +" again, the old_window animation cannot be stopped, and will be animating to the old target. (Do we want to stop the old_window animation immediately as well? This behavior could be hard to change.)


 
CrossFadeAnimation.webm
12.3 MB View Download

Comment 1 by wutao@chromium.org, Aug 8 2017

Cc: jamescook@chromium.org
Labels: OS-Chrome
+jamescook@ for thoughts.

Comment 2 by wutao@chromium.org, Aug 8 2017

For 3, there are two animations: transform and opacity.
When shrinking the window from maximized window to smaller size window, there is NO opacity change, settings.observer::OnImplicitAnimationsCompleted get called immediately even the transform animation is still on-going.

I am trying to figure out why.

Comment 3 by wutao@chromium.org, Aug 8 2017

Thanks to Oshima, item 3 is not a bug. It depends where I add the observer to the ScopedLayerAnimationSettings. I need to add observer before I set transform animation.


Comment 4 by wutao@chromium.org, Aug 8 2017

Description: Show this description

Comment 5 by wutao@chromium.org, Aug 8 2017

Removed the item 3 in the description.
I will fix the item 1 first.
Animating transient window position seems fine.

Or frankly, not fixing one or both of these isses seems OK. They seem like pretty rare scenarios.

Comment 7 by wutao@chromium.org, Aug 9 2017

I have a fix for animating transient window. But in this fix, the transient window will be applied the same scale effect, which may look weird (The transient window always has the same size). please see the attached video.

oshima@, WDYT? If we want to only scale the parent window, not the transient window, it will become complicated to calculate the initial position of the transient window.
TransientWindowAnimation.webm
6.8 MB View Download

Comment 8 by wutao@chromium.org, Aug 9 2017

+varkha@ who implement similar effect in overview mode.

I might want to reuse the code TransientDescendantIterator[Range] in scoped_transform_overview_window.cc. [1]
[1] https://cs.chromium.org/chromium/src/ash/wm/overview/scoped_transform_overview_window.cc?l=48&rcl=096cf059ac9ed4b9da1b2dfb6235717859d1c941

Do you think it is ok to move the class in a window util file if I end up need to reuse the code?
drive-by comment - scaling the transient looks kind of weird to me

Status: Assigned (was: Available)
Components: UI>Shell>WindowManager
Cc: wutao@chromium.org
Labels: -Pri-2 Pri-3
Owner: ----
Status: Available (was: Assigned)
Put this back to queue if we want to improve this. And lower the priority.

Sign in to add a comment