Chromium Code Reviews| Index: chrome/browser/ui/startup/startup_browser_creator_impl.cc |
| diff --git a/chrome/browser/ui/startup/startup_browser_creator_impl.cc b/chrome/browser/ui/startup/startup_browser_creator_impl.cc |
| index a6a09e89bc733940ecffef1f92fa44c9dd3dce59..1b6a886baac6b0b579742cf2e9be7b084806beb9 100644 |
| --- a/chrome/browser/ui/startup/startup_browser_creator_impl.cc |
| +++ b/chrome/browser/ui/startup/startup_browser_creator_impl.cc |
| @@ -71,7 +71,9 @@ |
| #include "chrome/common/pref_names.h" |
| #include "chrome/common/url_constants.h" |
| #include "chrome/installer/util/browser_distribution.h" |
| +#include "content/public/browser/browser_context.h" |
|
jam
2012/07/11 15:51:35
nit: ditto
marja
2012/07/12 09:22:03
Done.
|
| #include "content/public/browser/child_process_security_policy.h" |
| +#include "content/public/browser/dom_storage_context.h" |
| #include "content/public/browser/notification_observer.h" |
| #include "content/public/browser/notification_registrar.h" |
| #include "content/public/browser/web_contents.h" |
| @@ -619,6 +621,17 @@ bool StartupBrowserCreatorImpl::ProcessStartupURLs( |
| return false; |
| AddInfoBarsIfNecessary(browser, chrome::startup::IS_PROCESS_STARTUP); |
| + |
| + // Session restore may occur if the startup preference is "last" or if the |
| + // crash infobar is displayed. Otherwise, it's safe for the DOM storage system |
| + // to start deleting leftover data. |
| + if (pref.type != SessionStartupPref::LAST && |
| + !HasPendingUncleanExit(profile_)) { |
| + content::DOMStorageContext* dom_storage_context = |
| + content::BrowserContext::GetDOMStorageContext(profile_); |
| + dom_storage_context->StartScavengingUnusedSessionStorage(); |
| + } |
| + |
| return true; |
| } |