| Index: chrome/android/java/src/org/chromium/chrome/browser/tabmodel/DocumentModeAssassin.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/DocumentModeAssassin.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/DocumentModeAssassin.java
|
| index ab584e856826b29e0fe2e0cf4f289c63a10ab569..62b3f080718751dfadf4f21c5b843e2078048975 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/DocumentModeAssassin.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/DocumentModeAssassin.java
|
| @@ -119,11 +119,10 @@ public class DocumentModeAssassin {
|
| }
|
|
|
| /** IDs of Tabs that have had their TabState files copied between directories successfully. */
|
| - private final Set<Integer> mMigratedTabIds = new HashSet<Integer>();
|
| + private final Set<Integer> mMigratedTabIds = new HashSet<>();
|
|
|
| /** Observers of the migration pipeline. */
|
| - private final ObserverList<DocumentModeAssassinObserver> mObservers =
|
| - new ObserverList<DocumentModeAssassinObserver>();
|
| + private final ObserverList<DocumentModeAssassinObserver> mObservers = new ObserverList<>();
|
|
|
| /** Current stage of the migration. */
|
| private int mStage = STAGE_UNINITIALIZED;
|
| @@ -342,6 +341,14 @@ public class DocumentModeAssassin {
|
| @Override
|
| protected Boolean doInBackground(Void... params) {
|
| if (mSerializedMetadata != null) {
|
| + // If an old tab state file still exists when we run migration in TPS, then it
|
| + // will overwrite the new tab state file that our document tabs migrated to.
|
| + File oldMetadataFile = new File(
|
| + getTabbedDataDirectory(), TabPersistentStore.SAVED_STATE_FILE);
|
| + if (oldMetadataFile.exists() && !oldMetadataFile.delete()) {
|
| + Log.e(TAG, "Failed to delete old tab state file: " + oldMetadataFile);
|
| + }
|
| +
|
| TabPersistentStore.saveListToFile(
|
| getTabbedDataDirectory(), TAB_MODEL_INDEX, mSerializedMetadata);
|
| return true;
|
|
|