summaryrefslogtreecommitdiffstats
path: root/WebKit/mac/Misc/WebCoreStatistics.mm
diff options
context:
space:
mode:
Diffstat (limited to 'WebKit/mac/Misc/WebCoreStatistics.mm')
-rw-r--r--WebKit/mac/Misc/WebCoreStatistics.mm20
1 files changed, 20 insertions, 0 deletions
diff --git a/WebKit/mac/Misc/WebCoreStatistics.mm b/WebKit/mac/Misc/WebCoreStatistics.mm
index b18ee29..9e8ae05 100644
--- a/WebKit/mac/Misc/WebCoreStatistics.mm
+++ b/WebKit/mac/Misc/WebCoreStatistics.mm
@@ -93,6 +93,21 @@ using namespace WebCore;
return result;
}
++ (NSCountedSet *)javaScriptObjectTypeCounts
+{
+ JSLock lock(SilenceAssertionsOnly);
+
+ NSCountedSet *result = [NSCountedSet set];
+
+ OwnPtr<HashCountedSet<const char*> > counts(JSDOMWindow::commonJSGlobalData()->heap.objectTypeCounts());
+ HashCountedSet<const char*>::iterator end = counts->end();
+ for (HashCountedSet<const char*>::iterator it = counts->begin(); it != end; ++it)
+ for (unsigned i = 0; i < it->second; ++i)
+ [result addObject:[NSString stringWithUTF8String:it->first]];
+
+ return result;
+}
+
+ (void)garbageCollectJavaScriptObjects
{
gcController().garbageCollectNow();
@@ -256,4 +271,9 @@ using namespace WebCore;
return PrintContext::pageNumberForElement(core(element), FloatSize(pageWidthInPixels, pageHeightInPixels));
}
+- (int)numberOfPages:(float)pageWidthInPixels:(float)pageHeightInPixels
+{
+ return PrintContext::numberOfPages(_private->coreFrame, FloatSize(pageWidthInPixels, pageHeightInPixels));
+}
+
@end