| Index: chrome/browser/memory_purger.cc
|
| diff --git a/chrome/browser/memory_purger.cc b/chrome/browser/memory_purger.cc
|
| index 7c2fd9e0154d4cfb13048e04382ed810244f7409..05e5a83d01a0a652179ea15e285a20b65959312c 100644
|
| --- a/chrome/browser/memory_purger.cc
|
| +++ b/chrome/browser/memory_purger.cc
|
| @@ -14,6 +14,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"
|
| @@ -110,9 +111,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]);
|
|
|