summaryrefslogtreecommitdiffstats
path: root/Source/WebKit/android/WebCoreSupport
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebKit/android/WebCoreSupport')
-rw-r--r--Source/WebKit/android/WebCoreSupport/WebCache.cpp12
-rw-r--r--Source/WebKit/android/WebCoreSupport/WebCache.h5
2 files changed, 17 insertions, 0 deletions
diff --git a/Source/WebKit/android/WebCoreSupport/WebCache.cpp b/Source/WebKit/android/WebCoreSupport/WebCache.cpp
index a15bf7f..3c49430 100644
--- a/Source/WebKit/android/WebCoreSupport/WebCache.cpp
+++ b/Source/WebKit/android/WebCoreSupport/WebCache.cpp
@@ -134,6 +134,18 @@ void WebCache::clear()
thread->message_loop()->PostTask(FROM_HERE, NewRunnableMethod(this, &WebCache::clearImpl));
}
+void WebCache::closeIdleConnections()
+{
+ base::Thread* thread = WebUrlLoaderClient::ioThread();
+ if (thread)
+ thread->message_loop()->PostTask(FROM_HERE, NewRunnableMethod(this, &WebCache::closeIdleImpl));
+}
+
+void WebCache::closeIdleImpl()
+{
+ m_cache->CloseIdleConnections();
+}
+
void WebCache::clearImpl()
{
if (m_isClearInProgress)
diff --git a/Source/WebKit/android/WebCoreSupport/WebCache.h b/Source/WebKit/android/WebCoreSupport/WebCache.h
index 7149fcc..c3b623d 100644
--- a/Source/WebKit/android/WebCoreSupport/WebCache.h
+++ b/Source/WebKit/android/WebCoreSupport/WebCache.h
@@ -47,6 +47,8 @@ public:
net::HostResolver* hostResolver() { return m_hostResolver.get(); }
net::HttpCache* cache() { return m_cache.get(); }
net::ProxyConfigServiceAndroid* proxy() { return m_proxyConfigService; }
+ void closeIdleConnections();
+
private:
WebCache(bool isPrivateBrowsing);
@@ -56,6 +58,9 @@ private:
void doomAllEntries(int);
void onClearDone(int);
+ // For closeIdleConnections
+ void closeIdleImpl();
+
// For getEntry()
void getEntryImpl();
void openEntry(int);