Index: chrome/browser/sessions/session_restore.cc |
diff --git a/chrome/browser/sessions/session_restore.cc b/chrome/browser/sessions/session_restore.cc |
index 5298b08da7e3da8ecf9ad7d3e31b42b19b1d741f..9f40e207f0b18bdf1cebff8999685618cdc2562b 100644 |
--- a/chrome/browser/sessions/session_restore.cc |
+++ b/chrome/browser/sessions/session_restore.cc |
@@ -733,7 +733,11 @@ class SessionRestoreImpl : public content::NotificationObserver { |
100); |
if (windows->empty()) { |
- // Restore was unsuccessful. |
+ // Restore was unsuccessful. The DOM storage system can also delete its |
+ // data, since no session restore will happen at a later point in time. |
+ content::DOMStorageContext* dom_storage_context = |
Peter Kasting
2012/08/07 01:31:54
Nit: I'd probably just do:
content::BrowserCont
marja
2012/08/07 07:31:22
Done.
|
+ content::BrowserContext::GetDefaultDOMStorageContext(profile_); |
+ dom_storage_context->StartScavengingUnusedSessionStorage(); |
return FinishedTabCreation(false, false); |
} |
@@ -822,6 +826,13 @@ class SessionRestoreImpl : public content::NotificationObserver { |
Browser* finished_browser = FinishedTabCreation(true, has_tabbed_browser); |
if (finished_browser) |
last_browser = finished_browser; |
+ |
+ // sessionStorages needed for the session restore have now been recreated |
+ // by RestoreTab. Now it's safe for the DOM storage system to start |
+ // deleting leftover data. |
+ content::DOMStorageContext* dom_storage_context = |
+ content::BrowserContext::GetDefaultDOMStorageContext(profile_); |
+ dom_storage_context->StartScavengingUnusedSessionStorage(); |
return last_browser; |
} |