| Index: chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabReparentingParams.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabReparentingParams.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabReparentingParams.java
|
| index 6d8b2b0d62837b270900a02820cf01ef02f3b7fb..389ca6c4732b753bf1c783dc0d10591a79fb51fa 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabReparentingParams.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabReparentingParams.java
|
| @@ -16,13 +16,16 @@ import org.chromium.content_public.browser.WebContents;
|
| public class TabReparentingParams implements AsyncTabParams {
|
| private final Tab mTabToReparent;
|
| private final Intent mOriginalIntent;
|
| + private final Runnable mFinalizeCallback;
|
|
|
| /**
|
| * Basic constructor for {@link TabReparentingParams}.
|
| */
|
| - public TabReparentingParams(Tab tabToReparent, Intent originalIntent) {
|
| + public TabReparentingParams(
|
| + Tab tabToReparent, Intent originalIntent, Runnable finalizeCallback) {
|
| mTabToReparent = tabToReparent;
|
| mOriginalIntent = originalIntent;
|
| + mFinalizeCallback = finalizeCallback;
|
| }
|
|
|
| @Override
|
| @@ -50,4 +53,15 @@ public class TabReparentingParams implements AsyncTabParams {
|
| return mTabToReparent;
|
| }
|
|
|
| + /**
|
| + * Carry out any remaining finalization to be done after the tab is reparented.
|
| + */
|
| + public void finalizeTabReparenting() {
|
| + mFinalizeCallback.run();
|
| + }
|
| +
|
| + @Override
|
| + public void destroy() {
|
| + if (mTabToReparent != null) mTabToReparent.destroy();
|
| + }
|
| }
|
|
|