| Index: chrome/android/java/src/org/chromium/chrome/browser/toolbar/CustomTabToolbar.java | 
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/CustomTabToolbar.java b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/CustomTabToolbar.java | 
| index 8230379bdb88071bdcf433e0d4009ce69bf9ee8a..a32944c32c01c0242e2db569918de3316ff269a8 100644 | 
| --- a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/CustomTabToolbar.java | 
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/CustomTabToolbar.java | 
| @@ -22,6 +22,7 @@ import android.widget.ImageView; | 
| import android.widget.TextView; | 
|  | 
| import org.chromium.base.ApiCompatibilityUtils; | 
| +import org.chromium.base.ThreadUtils; | 
| import org.chromium.base.VisibleForTesting; | 
| import org.chromium.chrome.R; | 
| import org.chromium.chrome.browser.WindowDelegate; | 
| @@ -50,6 +51,8 @@ import org.chromium.ui.base.WindowAndroid; | 
| */ | 
| public class CustomTabToolbar extends ToolbarLayout implements LocationBar, | 
| View.OnLongClickListener { | 
| +    private static final int TITLE_ANIM_DELAY_MS = 200; | 
| + | 
| private View mLocationBarFrameLayout; | 
| private View mTitleUrlContainer; | 
| private UrlBar mUrlBar; | 
| @@ -65,6 +68,14 @@ public class CustomTabToolbar extends ToolbarLayout implements LocationBar, | 
|  | 
| private CustomTabToolbarAnimationDelegate mAnimDelegate; | 
| private boolean mBackgroundColorSet; | 
| +    private long mInitializeTimeStamp; | 
| + | 
| +    private Runnable mTitleAnimationStarter = new Runnable() { | 
| +        @Override | 
| +        public void run() { | 
| +            mAnimDelegate.startTitleAnimation(getContext()); | 
| +        } | 
| +    }; | 
|  | 
| /** | 
| * Constructor for getting this class inflated from an xml layout file. | 
| @@ -105,6 +116,7 @@ public class CustomTabToolbar extends ToolbarLayout implements LocationBar, | 
| ToolbarTabController tabController, AppMenuButtonHelper appMenuButtonHelper) { | 
| super.initialize(toolbarDataProvider, tabController, appMenuButtonHelper); | 
| updateVisualsForState(); | 
| +        mInitializeTimeStamp = System.currentTimeMillis(); | 
| } | 
|  | 
| @Override | 
| @@ -203,7 +215,13 @@ public class CustomTabToolbar extends ToolbarLayout implements LocationBar, | 
| // It takes some time to parse the title of the webcontent, and before that Tab#getTitle | 
| // always return the url. We postpone the title animation until the title is authentic. | 
| if (mShouldShowTitle && !TextUtils.equals(currentTab.getTitle(), currentTab.getUrl())) { | 
| -            mAnimDelegate.startTitleAnimation(getContext()); | 
| +            long duration = System.currentTimeMillis() - mInitializeTimeStamp; | 
| +            if (duration >= TITLE_ANIM_DELAY_MS) { | 
| +                mTitleAnimationStarter.run(); | 
| +            } else { | 
| +                ThreadUtils.postOnUiThreadDelayed(mTitleAnimationStarter, | 
| +                        TITLE_ANIM_DELAY_MS - duration); | 
| +            } | 
| } | 
|  | 
| mTitleBar.setText(currentTab.getTitle()); | 
|  |