OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 package org.chromium.chrome.browser.tabmodel; | 5 package org.chromium.chrome.browser.tabmodel; |
6 | 6 |
7 import android.content.Context; | 7 import android.content.Context; |
8 import android.content.SharedPreferences; | 8 import android.content.SharedPreferences; |
9 import android.os.AsyncTask; | 9 import android.os.AsyncTask; |
10 import android.os.StrictMode; | 10 import android.os.StrictMode; |
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
163 | 163 |
164 private final Deque<Tab> mTabsToSave; | 164 private final Deque<Tab> mTabsToSave; |
165 private final Deque<TabRestoreDetails> mTabsToRestore; | 165 private final Deque<TabRestoreDetails> mTabsToRestore; |
166 private final Set<Integer> mTabIdsToRestore; | 166 private final Set<Integer> mTabIdsToRestore; |
167 | 167 |
168 private LoadTabTask mLoadTabTask; | 168 private LoadTabTask mLoadTabTask; |
169 private SaveTabTask mSaveTabTask; | 169 private SaveTabTask mSaveTabTask; |
170 private SaveListTask mSaveListTask; | 170 private SaveListTask mSaveListTask; |
171 | 171 |
172 private boolean mDestroyed; | 172 private boolean mDestroyed; |
173 private boolean mCancelNormalTabLoads = false; | 173 private boolean mCancelNormalTabLoads; |
174 private boolean mCancelIncognitoTabLoads = false; | 174 private boolean mCancelIncognitoTabLoads; |
175 | 175 |
176 // Keys are the original tab indexes, values are the tab ids. | 176 // Keys are the original tab indexes, values are the tab ids. |
177 private SparseIntArray mNormalTabsRestored; | 177 private SparseIntArray mNormalTabsRestored; |
178 private SparseIntArray mIncognitoTabsRestored; | 178 private SparseIntArray mIncognitoTabsRestored; |
179 | 179 |
180 private SharedPreferences mPreferences; | 180 private SharedPreferences mPreferences; |
181 private AsyncTask<Void, Void, DataInputStream> mPrefetchTabListTask; | 181 private AsyncTask<Void, Void, DataInputStream> mPrefetchTabListTask; |
182 private AsyncTask<Void, Void, DataInputStream> mPrefetchTabListToMergeTask; | 182 private AsyncTask<Void, Void, DataInputStream> mPrefetchTabListToMergeTask; |
183 private byte[] mLastSavedMetadata; | 183 private byte[] mLastSavedMetadata; |
184 | 184 |
(...skipping 877 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1062 if (mSaveListTask != null) mSaveListTask.cancel(true); | 1062 if (mSaveListTask != null) mSaveListTask.cancel(true); |
1063 mSaveListTask = new SaveListTask(); | 1063 mSaveListTask = new SaveListTask(); |
1064 mSaveListTask.executeOnExecutor(AsyncTask.SERIAL_EXECUTOR); | 1064 mSaveListTask.executeOnExecutor(AsyncTask.SERIAL_EXECUTOR); |
1065 } | 1065 } |
1066 | 1066 |
1067 private class SaveTabTask extends AsyncTask<Void, Void, Void> { | 1067 private class SaveTabTask extends AsyncTask<Void, Void, Void> { |
1068 Tab mTab; | 1068 Tab mTab; |
1069 int mId; | 1069 int mId; |
1070 TabState mState; | 1070 TabState mState; |
1071 boolean mEncrypted; | 1071 boolean mEncrypted; |
1072 boolean mStateSaved = false; | 1072 boolean mStateSaved; |
1073 | 1073 |
1074 SaveTabTask(Tab tab) { | 1074 SaveTabTask(Tab tab) { |
1075 mTab = tab; | 1075 mTab = tab; |
1076 mId = tab.getId(); | 1076 mId = tab.getId(); |
1077 mEncrypted = tab.isIncognito(); | 1077 mEncrypted = tab.isIncognito(); |
1078 } | 1078 } |
1079 | 1079 |
1080 @Override | 1080 @Override |
1081 protected void onPreExecute() { | 1081 protected void onPreExecute() { |
1082 if (mDestroyed || isCancelled()) return; | 1082 if (mDestroyed || isCancelled()) return; |
(...skipping 302 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1385 } | 1385 } |
1386 | 1386 |
1387 /** | 1387 /** |
1388 * Sets where the base state directory is in tests. | 1388 * Sets where the base state directory is in tests. |
1389 */ | 1389 */ |
1390 @VisibleForTesting | 1390 @VisibleForTesting |
1391 public static void setBaseStateDirectoryForTests(File directory) { | 1391 public static void setBaseStateDirectoryForTests(File directory) { |
1392 BaseStateDirectoryHolder.sDirectory = directory; | 1392 BaseStateDirectoryHolder.sDirectory = directory; |
1393 } | 1393 } |
1394 } | 1394 } |
OLD | NEW |