| Index: chrome/android/java/src/org/chromium/chrome/browser/infobar/InfoBarContainerLayout.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/infobar/InfoBarContainerLayout.java b/chrome/android/java/src/org/chromium/chrome/browser/infobar/InfoBarContainerLayout.java
|
| index e1e24373a5763dd6d5fd7f5462f0e262fd7b5da8..3dd20bf46d3121aaf6d83826987f453c9efa90a8 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/infobar/InfoBarContainerLayout.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/infobar/InfoBarContainerLayout.java
|
| @@ -9,6 +9,7 @@ import android.animation.AnimatorListenerAdapter;
|
| import android.animation.AnimatorSet;
|
| import android.animation.ObjectAnimator;
|
| import android.content.Context;
|
| +import android.view.Gravity;
|
| import android.view.LayoutInflater;
|
| import android.view.MotionEvent;
|
| import android.view.View;
|
| @@ -239,7 +240,7 @@ class InfoBarContainerLayout extends FrameLayout {
|
| void prepareAnimation() {
|
| mFrontView = (ViewGroup) LayoutInflater.from(getContext()).inflate(
|
| R.layout.infobar_wrapper, InfoBarContainerLayout.this, false);
|
| - mFrontView.addView(mFrontInnerView);
|
| + addInnerView(mFrontView, mFrontInnerView);
|
| addView(mFrontView);
|
| updateLayoutParams();
|
| }
|
| @@ -315,7 +316,7 @@ class InfoBarContainerLayout extends FrameLayout {
|
| void prepareAnimation() {
|
| mOldFrontView = (ViewGroup) getChildAt(0);
|
| mNewFrontView = (ViewGroup) getChildAt(1);
|
| - mNewFrontView.addView(mNewFrontInnerView);
|
| + addInnerView(mNewFrontView, mNewFrontInnerView);
|
| }
|
|
|
| @Override
|
| @@ -414,7 +415,7 @@ class InfoBarContainerLayout extends FrameLayout {
|
| void prepareAnimation() {
|
| mFrontView = (ViewGroup) getChildAt(0);
|
| mOldInnerView = mFrontView.getChildAt(0);
|
| - mFrontView.addView(mNewInnerView);
|
| + addInnerView(mFrontView, mNewInnerView);
|
| }
|
|
|
| @Override
|
| @@ -542,6 +543,14 @@ class InfoBarContainerLayout extends FrameLayout {
|
| }
|
| }
|
|
|
| + /**
|
| + * Adds an infobar view to a wrapper view, with suitable LayoutParams.
|
| + */
|
| + private void addInnerView(ViewGroup wrapperView, View innerView) {
|
| + wrapperView.addView(innerView, new LayoutParams(
|
| + LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT, Gravity.TOP));
|
| + }
|
| +
|
| private void updateLayoutParams() {
|
| // Stagger the top margins so the back infobars peek out a bit.
|
| int childCount = getChildCount();
|
|
|