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(), |