| Index: chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageRecyclerView.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageRecyclerView.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageRecyclerView.java
|
| index 525d1012f8e008cec76371f8536bbc01e3d5e9fa..5a8c9c0df7e227113e632ac53736f7e54a2e2da7 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageRecyclerView.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageRecyclerView.java
|
| @@ -12,6 +12,7 @@
|
| import android.content.res.Resources;
|
| import android.graphics.Canvas;
|
| import android.graphics.Region;
|
| +import android.support.v4.view.ViewCompat;
|
| import android.support.v4.view.animation.FastOutLinearInInterpolator;
|
| import android.support.v4.view.animation.LinearOutSlowInInterpolator;
|
| import android.support.v7.widget.LinearLayoutManager;
|
| @@ -541,6 +542,10 @@ public void onAnimationStart(Animator animation) {
|
|
|
| @Override
|
| public void onAnimationEnd(Animator animation) {
|
| + // It is possible that by the time the animation ends, we navigated away from the
|
| + // container and it got destroyed. In that case, abort. (https://crbug.com/668945)
|
| + if (!ViewCompat.isAttachedToWindow(viewHolder.itemView)) return;
|
| +
|
| dismissItemInternal(viewHolder);
|
| NewTabPageRecyclerView.this.onItemDismissFinished(viewHolder);
|
| }
|
|
|