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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/phone/stack/StackAnimationPortrait.java

Issue 2761273004: [Home] Improve exit tab switcher animation (Closed)
Patch Set: rebase Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/phone/stack/StackAnimationPortrait.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/phone/stack/StackAnimationPortrait.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/phone/stack/StackAnimationPortrait.java
index 652db9b858c2d039646468ddc770c75e37e0571c..ae454ab83ced5b5db816e1bdc820ff2cebb86850 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/phone/stack/StackAnimationPortrait.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/phone/stack/StackAnimationPortrait.java
@@ -20,6 +20,7 @@ import static org.chromium.chrome.browser.compositor.layouts.phone.stack.StackTa
import org.chromium.chrome.browser.compositor.layouts.ChromeAnimation;
import org.chromium.chrome.browser.compositor.layouts.ChromeAnimation.Animatable;
import org.chromium.chrome.browser.compositor.layouts.components.LayoutTab;
+import org.chromium.chrome.browser.util.FeatureUtilities;
import org.chromium.chrome.browser.util.MathUtils;
import org.chromium.ui.base.LocalizationUtils;
@@ -27,10 +28,10 @@ class StackAnimationPortrait extends StackAnimation {
/**
* Only Constructor.
*/
- public StackAnimationPortrait(float width, float height, float heightMinusBrowserControls,
- float borderFramePaddingTop, float borderFramePaddingTopOpaque,
- float borderFramePaddingLeft) {
- super(width, height, heightMinusBrowserControls, borderFramePaddingTop,
+ public StackAnimationPortrait(Stack stack, float width, float height,
+ float heightMinusBrowserControls, float borderFramePaddingTop,
+ float borderFramePaddingTopOpaque, float borderFramePaddingLeft) {
+ super(stack, width, height, heightMinusBrowserControls, borderFramePaddingTop,
borderFramePaddingTopOpaque, borderFramePaddingLeft);
}
@@ -62,11 +63,11 @@ class StackAnimationPortrait extends StackAnimation {
float scrollOffset = StackTab.screenToScroll(i * spacing, warpSize);
if (i < focusIndex) {
- tab.getLayoutTab().setMaxContentHeight(mHeightMinusBrowserControls);
+ tab.getLayoutTab().setMaxContentHeight(mStack.getMaxTabHeight());
addAnimation(set, tab, SCROLL_OFFSET, initialScrollOffset, scrollOffset,
ENTER_STACK_ANIMATION_DURATION, 0);
} else if (i > focusIndex) {
- tab.getLayoutTab().setMaxContentHeight(mHeightMinusBrowserControls);
+ tab.getLayoutTab().setMaxContentHeight(mStack.getMaxTabHeight());
tab.setScrollOffset(scrollOffset + trailingScrollOffset);
addAnimation(
set, tab, Y_IN_STACK_OFFSET, mHeight, 0, ENTER_STACK_ANIMATION_DURATION, 0);
@@ -75,7 +76,7 @@ class StackAnimationPortrait extends StackAnimation {
addAnimation(set, tab.getLayoutTab(), MAX_CONTENT_HEIGHT,
tab.getLayoutTab().getUnclampedOriginalContentHeight(),
- mHeightMinusBrowserControls, ENTER_STACK_ANIMATION_DURATION,
+ mStack.getMaxTabHeight(), ENTER_STACK_ANIMATION_DURATION,
ENTER_STACK_RESIZE_DELAY);
addAnimation(set, tab, Y_IN_STACK_INFLUENCE, 0.0f, 1.0f,
ENTER_STACK_BORDER_ALPHA_DURATION, 0);
@@ -136,8 +137,11 @@ class StackAnimationPortrait extends StackAnimation {
TAB_FOCUSED_ANIMATION_DURATION, 0);
addAnimation(
set, tab, SCALE, tab.getScale(), 1.0f, TAB_FOCUSED_ANIMATION_DURATION, 0);
+ int tabYInfluenceDuration = FeatureUtilities.isChromeHomeEnabled()
+ ? TAB_FOCUSED_ANIMATION_DURATION
+ : TAB_FOCUSED_Y_STACK_DURATION;
addAnimation(set, tab, Y_IN_STACK_INFLUENCE, tab.getYInStackInfluence(), 0.0f,
- TAB_FOCUSED_Y_STACK_DURATION, 0);
+ tabYInfluenceDuration, 0);
addAnimation(set, tab.getLayoutTab(), MAX_CONTENT_HEIGHT,
tab.getLayoutTab().getMaxContentHeight(),
tab.getLayoutTab().getUnclampedOriginalContentHeight(),

Powered by Google App Engine
This is Rietveld 408576698