Index: content/browser/dom_storage/dom_storage_context_wrapper.cc |
diff --git a/content/browser/dom_storage/dom_storage_context_wrapper.cc b/content/browser/dom_storage/dom_storage_context_wrapper.cc |
index 96e2cee81d7cfa739884aba795f18909a534aef5..a3fe60f8480403bbfc461be0e39a0fdd8d39d797 100644 |
--- a/content/browser/dom_storage/dom_storage_context_wrapper.cc |
+++ b/content/browser/dom_storage/dom_storage_context_wrapper.cc |
@@ -285,6 +285,9 @@ DOMStorageContextWrapper::DOMStorageContextWrapper( |
worker_pool->GetNamedSequenceToken("dom_storage_commit"), |
BrowserThread::GetMessageLoopProxyForThread(BrowserThread::IO) |
.get())); |
+ |
+ memory_pressure_listener_.reset(new base::MemoryPressureListener( |
+ base::Bind(&DOMStorageContextWrapper::OnMemoryPressure, this))); |
} |
DOMStorageContextWrapper::~DOMStorageContextWrapper() {} |
@@ -359,6 +362,7 @@ void DOMStorageContextWrapper::SetForceKeepSessionState() { |
void DOMStorageContextWrapper::Shutdown() { |
DCHECK(context_.get()); |
mojo_state_.reset(); |
+ memory_pressure_listener_.reset(); |
context_->task_runner()->PostShutdownBlockingTask( |
FROM_HERE, |
DOMStorageTaskRunner::PRIMARY_SEQUENCE, |
@@ -380,4 +384,11 @@ void DOMStorageContextWrapper::OpenLocalStorage( |
origin, std::move(observer), std::move(request)); |
} |
+void DOMStorageContextWrapper::OnMemoryPressure( |
+ base::MemoryPressureListener::MemoryPressureLevel memory_pressure_level) { |
+ context_->task_runner()->PostTask( |
+ FROM_HERE, base::Bind(&DOMStorageContextImpl::OnMemoryPressure, context_, |
+ memory_pressure_level)); |
+} |
+ |
} // namespace content |