summaryrefslogtreecommitdiffstats
path: root/webkit/glue/webkitplatformsupport_impl.cc
diff options
context:
space:
mode:
Diffstat (limited to 'webkit/glue/webkitplatformsupport_impl.cc')
-rw-r--r--webkit/glue/webkitplatformsupport_impl.cc20
1 files changed, 20 insertions, 0 deletions
diff --git a/webkit/glue/webkitplatformsupport_impl.cc b/webkit/glue/webkitplatformsupport_impl.cc
index afd85d9..e63d762 100644
--- a/webkit/glue/webkitplatformsupport_impl.cc
+++ b/webkit/glue/webkitplatformsupport_impl.cc
@@ -827,6 +827,20 @@ WebKit::WebString WebKitPlatformSupportImpl::signedPublicKeyAndChallengeString(
return WebKit::WebString("");
}
+static scoped_ptr<base::ProcessMetrics> CurrentProcessMetrics() {
+ using base::ProcessMetrics;
+#if defined(OS_MACOSX)
+ return scoped_ptr<ProcessMetrics>(
+ // The default port provider is sufficient to get data for the current
+ // process.
+ ProcessMetrics::CreateProcessMetrics(base::GetCurrentProcessHandle(),
+ NULL));
+#else
+ return scoped_ptr<ProcessMetrics>(
+ ProcessMetrics::CreateProcessMetrics(base::GetCurrentProcessHandle()));
+#endif
+}
+
static size_t getMemoryUsageMB(bool bypass_cache) {
size_t current_mem_usage = 0;
MemoryUsageCache* mem_usage_cache_singleton = MemoryUsageCache::GetInstance();
@@ -870,6 +884,12 @@ size_t WebKitPlatformSupportImpl::highUsageDeltaMB() {
}
#endif
+bool WebKitPlatformSupportImpl::processMemorySizesInBytes(
+ size_t* private_bytes,
+ size_t* shared_bytes) {
+ return CurrentProcessMetrics()->GetMemoryBytes(private_bytes, shared_bytes);
+}
+
bool WebKitPlatformSupportImpl::memoryAllocatorWasteInBytes(size_t* size) {
return base::allocator::GetAllocatorWasteSize(size);
}