| 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 83f4267d86e4a1c56f2890ba39edc43fe8e12d5b..d7384785e29a6b2ac65bd80b3c7a4c7e13402945 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
|
| @@ -329,17 +329,20 @@ public class TabPersistentStore extends TabPersister {
|
| for (Tab tab : mTabsToSave) {
|
| int id = tab.getId();
|
| boolean incognito = tab.isIncognito();
|
| + FileOutputStream stream = null;
|
| try {
|
| TabState state = tab.getState();
|
| if (state != null) {
|
| - TabState.saveState(
|
| - openTabStateOutputStream(id, incognito), state, incognito);
|
| + stream = openTabStateOutputStream(id, incognito);
|
| + TabState.saveState(stream, state, incognito);
|
| }
|
| } catch (IOException e) {
|
| logSaveException(e);
|
| } catch (OutOfMemoryError e) {
|
| Log.w(TAG, "Out of memory error while attempting to save tab state. Erasing.");
|
| deleteTabState(id, incognito);
|
| + } finally {
|
| + StreamUtil.closeQuietly(stream);
|
| }
|
| }
|
| mTabsToSave.clear();
|
|
|