[M140] [New Tab Animation] Remove foreground host view immediately

Original change's description:
> [New Tab Animation] Remove foreground host view immediately
> 
> Removes the host view in forceAnimationToFinish instead of waiting for
> the listeners to do it
> 
> Bug: 438261749
> Change-Id: I201c6486bea33163464dc1e94620f2e3c475c3fb
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6843815
> Reviewed-by: Calder Kitagawa <ckitagawa@chromium.org>
> Commit-Queue: Dan Polanco <polardz@google.com>
> Cr-Commit-Position: refs/heads/main@{#1500417}

Bug: 438949101,438261749
Change-Id: I201c6486bea33163464dc1e94620f2e3c475c3fb
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6852759
Auto-Submit: Chrome Cherry Picker <chrome-cherry-picker@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/branch-heads/7339@{#639}
Cr-Branched-From: 27be8b77710f4405fdfeb4ee946fcabb0f6c92b2-refs/heads/main@{#1496484}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/phone/NewForegroundTabAnimationHostView.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/phone/NewForegroundTabAnimationHostView.java
index e3475a8..8b690f9fe 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/phone/NewForegroundTabAnimationHostView.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/phone/NewForegroundTabAnimationHostView.java
@@ -191,21 +191,17 @@
         mFadeAnimator.setDuration(FADE_DURATION_MS);
         mFadeAnimator.addListener(
                 new CancelAwareAnimatorListener() {
-                    private void finishAnimation() {
+                    @Override
+                    public void onEnd(Animator animation) {
+                        if (mLogsEnabled) Log.i(TAG, "mFadeAnimator#onEnd");
                         mListener.onForegroundAnimationFinished();
                         mFadeAnimator = null;
                     }
 
                     @Override
-                    public void onEnd(Animator animation) {
-                        if (mLogsEnabled) Log.i(TAG, "mFadeAnimator#onEnd");
-                        finishAnimation();
-                    }
-
-                    @Override
                     public void onCancel(Animator animation) {
                         if (mLogsEnabled) Log.i(TAG, "mFadeAnimator#onCancel");
-                        finishAnimation();
+                        mFadeAnimator = null;
                     }
                 });
 
@@ -234,12 +230,10 @@
                     @Override
                     public void onCancel(Animator animation) {
                         if (mLogsEnabled) Log.i(TAG, "mExpandAnimatorSet#onCancel");
-                        mListener.onForegroundAnimationFinished();
                         clearAnimators();
                         mFadeAnimator = null;
                     }
                 });
-
         mRectView.setVisibility(View.VISIBLE);
         mExpandAnimatorSet.start();
     }
@@ -268,8 +262,7 @@
     /**
      * Forces the animation to finish. If the expand animation is running, it will be canceled, and
      * the fade-out animation will be skipped. If the fade-out animation is running, it will be
-     * fast-forwarded to the end. In both cases, {@link Listener#onForegroundAnimationFinished()}
-     * will be called to notify {@link NewTabAnimationLayout} to remove the view.
+     * cancelled.
      */
     /* package */ void forceAnimationToFinish() {
         if (mExpandAnimatorSet != null) {
@@ -277,7 +270,7 @@
             mExpandAnimatorSet.cancel();
         } else if (mFadeAnimator != null) {
             if (mLogsEnabled) Log.i(TAG, "forceAnimationToFinish: mFadeAnimator#end");
-            mFadeAnimator.end();
+            mFadeAnimator.cancel();
         }
     }
 }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/phone/NewTabAnimationLayout.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/phone/NewTabAnimationLayout.java
index 138d535..47da43e 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/phone/NewTabAnimationLayout.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/phone/NewTabAnimationLayout.java
@@ -232,6 +232,8 @@
                 Log.i(TAG, "forceAnimationToFinish: mForegroundHostView#forceAnimationToFinish");
             }
             mForegroundHostView.forceAnimationToFinish();
+            mAnimationHostView.removeView(mForegroundHostView);
+            mForegroundHostView = null;
         }
         if (mTabCreatedBackgroundAnimation != null) {
             if (mLogsEnabled) {