Index: chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java |
index e55d869e0b8cf847d49ca335982b9c9fb3fabbc4..365bc3e377c5f1a8ac4adebbf3d05a749295378c 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java |
@@ -118,9 +118,8 @@ public class TabPersistentStore extends TabPersister { |
/** |
* To be called when the TabStates have all been loaded. |
- * @param context Context used by the TabPersistentStore. |
*/ |
- void onStateLoaded(Context context); |
+ void onStateLoaded(); |
/** |
* To be called when the TabState from another instance has been merged. |
@@ -142,8 +141,8 @@ public class TabPersistentStore extends TabPersister { |
TabModelMetadata(int selectedIndex) { |
index = selectedIndex; |
- ids = new ArrayList<Integer>(); |
- urls = new ArrayList<String>(); |
+ ids = new ArrayList<>(); |
+ urls = new ArrayList<>(); |
} |
} |
@@ -152,15 +151,14 @@ public class TabPersistentStore extends TabPersister { |
private static File sDirectory; |
static { |
- Context appContext = ContextUtils.getApplicationContext(); |
- sDirectory = appContext.getDir(BASE_STATE_FOLDER, Context.MODE_PRIVATE); |
+ sDirectory = ContextUtils.getApplicationContext() |
+ .getDir(BASE_STATE_FOLDER, Context.MODE_PRIVATE); |
} |
} |
private final TabPersistencePolicy mPersistencePolicy; |
private final TabModelSelector mTabModelSelector; |
private final TabCreatorManager mTabCreatorManager; |
- private final Context mContext; |
private TabPersistentStoreObserver mObserver; |
private final Deque<Tab> mTabsToSave; |
@@ -198,22 +196,20 @@ public class TabPersistentStore extends TabPersister { |
/** |
* Creates an instance of a TabPersistentStore. |
* @param modelSelector The {@link TabModelSelector} to restore to and save from. |
- * @param context A Context instance. |
* @param tabCreatorManager The {@link TabCreatorManager} to use. |
* @param observer Notified when the TabPersistentStore has completed tasks. |
* @param mergeTabs Whether tabs from a second TabModelSelector should be merged into |
* into this instance. |
*/ |
public TabPersistentStore(TabPersistencePolicy policy, TabModelSelector modelSelector, |
- Context context, TabCreatorManager tabCreatorManager, |
- TabPersistentStoreObserver observer, final boolean mergeTabs) { |
+ TabCreatorManager tabCreatorManager, TabPersistentStoreObserver observer, |
+ final boolean mergeTabs) { |
mPersistencePolicy = policy; |
mTabModelSelector = modelSelector; |
- mContext = context; |
mTabCreatorManager = tabCreatorManager; |
- mTabsToSave = new ArrayDeque<Tab>(); |
- mTabsToRestore = new ArrayDeque<TabRestoreDetails>(); |
- mTabIdsToRestore = new HashSet<Integer>(); |
+ mTabsToSave = new ArrayDeque<>(); |
+ mTabsToRestore = new ArrayDeque<>(); |
+ mTabIdsToRestore = new HashSet<>(); |
mObserver = observer; |
mPreferences = ContextUtils.getAppSharedPreferences(); |
@@ -750,7 +746,7 @@ public class TabPersistentStore extends TabPersister { |
} |
private byte[] serializeTabMetadata() throws IOException { |
- List<TabRestoreDetails> tabsToRestore = new ArrayList<TabRestoreDetails>(); |
+ List<TabRestoreDetails> tabsToRestore = new ArrayList<>(); |
// The metadata file may be being written out before all of the Tabs have been restored. |
// Save that information out, as well. |
@@ -1137,7 +1133,7 @@ public class TabPersistentStore extends TabPersister { |
} |
private void onStateLoaded() { |
- if (mObserver != null) mObserver.onStateLoaded(mContext); |
+ if (mObserver != null) mObserver.onStateLoaded(); |
} |
private void loadNextTab() { |
@@ -1307,8 +1303,12 @@ public class TabPersistentStore extends TabPersister { |
return new AsyncTask<Void, Void, DataInputStream>() { |
@Override |
protected DataInputStream doInBackground(Void... params) { |
+ Log.w(TAG, "Starting to fetch tab list."); |
File stateFile = new File(getStateDirectory(), stateFileName); |
- if (!stateFile.exists()) return null; |
+ if (!stateFile.exists()) { |
+ Log.e(TAG, "State file does not exist."); |
+ return null; |
+ } |
if (LibraryLoader.isInitialized()) { |
RecordHistogram.recordCountHistogram( |
"Android.TabPersistentStore.MergeStateMetadataFileSize", |
@@ -1321,10 +1321,12 @@ public class TabPersistentStore extends TabPersister { |
data = new byte[(int) stateFile.length()]; |
stream.read(data); |
} catch (IOException exception) { |
+ Log.e(TAG, "Could not read state file.", exception); |
return null; |
} finally { |
StreamUtil.closeQuietly(stream); |
} |
+ Log.w(TAG, "Finished fetching tab list."); |
return new DataInputStream(new ByteArrayInputStream(data)); |
} |
}.executeOnExecutor(executor); |