diff options
Diffstat (limited to 'WebKit/mac/Misc/WebCoreStatistics.mm')
-rw-r--r-- | WebKit/mac/Misc/WebCoreStatistics.mm | 20 |
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 |