| Index: chrome/browser/memory_purger.cc
|
| diff --git a/chrome/browser/memory_purger.cc b/chrome/browser/memory_purger.cc
|
| index 8e1d9a192c995375e90b01ca91f52a336ac15104..25e5a5d05bbab0900bf28d7904ec4e16d5aabb2b 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"
|
| @@ -108,9 +109,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]);
|
|
|