summaryrefslogtreecommitdiffstats
path: root/webkit/glue
diff options
context:
space:
mode:
Diffstat (limited to 'webkit/glue')
-rw-r--r--webkit/glue/webkitplatformsupport_impl.cc20
-rw-r--r--webkit/glue/webkitplatformsupport_impl.h2
2 files changed, 22 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);
}
diff --git a/webkit/glue/webkitplatformsupport_impl.h b/webkit/glue/webkitplatformsupport_impl.h
index a6e1639..fdb0a62 100644
--- a/webkit/glue/webkitplatformsupport_impl.h
+++ b/webkit/glue/webkitplatformsupport_impl.h
@@ -73,6 +73,8 @@ class WEBKIT_GLUE_EXPORT WebKitPlatformSupportImpl :
virtual size_t highMemoryUsageMB() OVERRIDE;
virtual size_t highUsageDeltaMB() OVERRIDE;
#endif
+ virtual bool processMemorySizesInBytes(size_t* private_bytes,
+ size_t* shared_bytes);
virtual bool memoryAllocatorWasteInBytes(size_t* size);
virtual WebKit::WebURLLoader* createURLLoader();
virtual WebKit::WebSocketStreamHandle* createSocketStreamHandle();