diff options
Diffstat (limited to 'chrome/browser/memory_purger.cc')
-rw-r--r-- | chrome/browser/memory_purger.cc | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/chrome/browser/memory_purger.cc b/chrome/browser/memory_purger.cc index 21cf2e9..d00ee17 100644 --- a/chrome/browser/memory_purger.cc +++ b/chrome/browser/memory_purger.cc @@ -15,6 +15,7 @@ #include "chrome/browser/safe_browsing/safe_browsing_service.h" #include "chrome/browser/ui/browser_list.h" #include "chrome/browser/webdata/web_data_service.h" +#include "chrome/browser/webdata/web_data_service_factory.h" #include "chrome/common/render_messages.h" #include "content/public/browser/render_process_host.h" #include "content/public/browser/render_widget_host.h" @@ -114,9 +115,10 @@ void MemoryPurger::PurgeBrowser() { history_service->UnloadBackend(); // Unload all web databases (freeing memory used to cache sqlite). - WebDataService* web_data_service = - profiles[i]->GetWebDataServiceWithoutCreating(); - if (web_data_service) + scoped_refptr<WebDataService> web_data_service = + WebDataServiceFactory::GetForProfileIfExists( + profiles[i], Profile::EXPLICIT_ACCESS); + if (web_data_service.get()) web_data_service->UnloadDatabase(); BrowserContext::PurgeMemory(profiles[i]); |