| Index: chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/Layout.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/Layout.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/Layout.java
|
| index 359271c33196fbb0316347a7550041fb8681f659..0cb16cccfb93b685043545bc1b95930dd8ed1896 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/Layout.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/Layout.java
|
| @@ -877,12 +877,16 @@ public abstract class Layout implements TabContentManager.ThumbnailChangeListene
|
| }
|
| }
|
|
|
| - // LayoutTabs may be running their own animations; make sure they are done.
|
| + // LayoutTabs may be running their own animations; make sure they are done. This should
|
| + // not block the completion state of the layout animations in general. Particularly, a tab
|
| + // could be driving theme changes (and therefore fade animations) that are not critical to
|
| + // the browser's UI. https://crbug.com/627066
|
| + boolean layoutTabsFinished = true;
|
| for (int i = 0; mLayoutTabs != null && i < mLayoutTabs.length; i++) {
|
| - finished &= mLayoutTabs[i].onUpdateAnimation(time);
|
| + layoutTabsFinished &= mLayoutTabs[i].onUpdateAnimation(time);
|
| }
|
|
|
| - if (!finished) requestUpdate();
|
| + if (!finished || !layoutTabsFinished) requestUpdate();
|
|
|
| return finished;
|
| }
|
|
|