<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[170483] trunk</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/170483">170483</a></dd>
<dt>Author</dt> <dd>bfulgham@apple.com</dd>
<dt>Date</dt> <dd>2014-06-26 10:22:00 -0700 (Thu, 26 Jun 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>[Win] Expose Cache Information to WinLauncher
https://bugs.webkit.org/show_bug.cgi?id=134318

Reviewed by Dean Jackson.


Source/JavaScriptCore: 
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: Add missing
MemoryStatistics files to the WIndows build.
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:

Source/WebKit: 
* WebKit.vcxproj/WebKit/WebKitPostBuild.cmd: Copy the
CFDictionaryPropertyBag header to WebKit API directory.
* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
Expose the dictionary accessor for the CFDictionaryPropertyBag.

Source/WebKit/win: 
* Interfaces/IWebCoreStatistics.idl: Add missing
API added to WebKit since this was last updated.
* WebCache.cpp:
(WebCache::statistics): Add missing elements for
purgable and purged data.
* WebCoreStatistics.cpp: Provide implementaions.
* WebCoreStatistics.h: Ditto.

Tools: 
* WinLauncher/Common.cpp: Update for new dialog.
* WinLauncher/WinLauncher.cpp: Add support for WebCache
and WebCoreStatistics.
* WinLauncher/WinLauncher.h:
* WinLauncher/WinLauncher.vcxproj/WinLauncherLib.rc:
Update for new Cache Dialog.
* WinLauncher/WinLauncher.vcxproj/WinLauncherLibCommon.props: Link to
WTF.lib
* WinLauncher/WinLauncher.vcxproj/WinLauncherLibResource.h: Update
for new Dialog.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceJavaScriptCoreChangeLog">trunk/Source/JavaScriptCore/ChangeLog</a></li>
<li><a href="#trunkSourceJavaScriptCoreJavaScriptCorevcxprojJavaScriptCorevcxproj">trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj</a></li>
<li><a href="#trunkSourceJavaScriptCoreJavaScriptCorevcxprojJavaScriptCorevcxprojfilters">trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters</a></li>
<li><a href="#trunkSourceWebKitChangeLog">trunk/Source/WebKit/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitWebKitvcxprojWebKitWebKitPostBuildcmd">trunk/Source/WebKit/WebKit.vcxproj/WebKit/WebKitPostBuild.cmd</a></li>
<li><a href="#trunkSourceWebKitWebKitvcxprojWebKitExportGeneratorWebKitExportsdefin">trunk/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in</a></li>
<li><a href="#trunkSourceWebKitwinChangeLog">trunk/Source/WebKit/win/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitwinInterfacesIWebCoreStatisticsidl">trunk/Source/WebKit/win/Interfaces/IWebCoreStatistics.idl</a></li>
<li><a href="#trunkSourceWebKitwinWebCachecpp">trunk/Source/WebKit/win/WebCache.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebCoreStatisticscpp">trunk/Source/WebKit/win/WebCoreStatistics.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebCoreStatisticsh">trunk/Source/WebKit/win/WebCoreStatistics.h</a></li>
<li><a href="#trunkToolsChangeLog">trunk/Tools/ChangeLog</a></li>
<li><a href="#trunkToolsWinLauncherCommoncpp">trunk/Tools/WinLauncher/Common.cpp</a></li>
<li><a href="#trunkToolsWinLauncherWinLaunchercpp">trunk/Tools/WinLauncher/WinLauncher.cpp</a></li>
<li><a href="#trunkToolsWinLauncherWinLauncherh">trunk/Tools/WinLauncher/WinLauncher.h</a></li>
<li><a href="#trunkToolsWinLauncherWinLaunchervcxprojWinLauncherLibrc">trunk/Tools/WinLauncher/WinLauncher.vcxproj/WinLauncherLib.rc</a></li>
<li><a href="#trunkToolsWinLauncherWinLaunchervcxprojWinLauncherLibCommonprops">trunk/Tools/WinLauncher/WinLauncher.vcxproj/WinLauncherLibCommon.props</a></li>
<li><a href="#trunkToolsWinLauncherWinLaunchervcxprojWinLauncherLibResourceh">trunk/Tools/WinLauncher/WinLauncher.vcxproj/WinLauncherLibResource.h</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceJavaScriptCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/ChangeLog (170482 => 170483)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/ChangeLog        2014-06-26 17:01:13 UTC (rev 170482)
+++ trunk/Source/JavaScriptCore/ChangeLog        2014-06-26 17:22:00 UTC (rev 170483)
</span><span class="lines">@@ -1,3 +1,14 @@
</span><ins>+2014-06-25  Brent Fulgham  &lt;bfulgham@apple.com&gt;
+
+        [Win] Expose Cache Information to WinLauncher
+        https://bugs.webkit.org/show_bug.cgi?id=134318
+
+        Reviewed by Dean Jackson.
+
+        * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: Add missing
+        MemoryStatistics files to the WIndows build.
+        * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
+
</ins><span class="cx"> 2014-06-26  David Kilzer  &lt;ddkilzer@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         DFG::FunctionWhitelist::parseFunctionNamesInFile does not close file
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreJavaScriptCorevcxprojJavaScriptCorevcxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj (170482 => 170483)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj        2014-06-26 17:01:13 UTC (rev 170482)
+++ trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj        2014-06-26 17:22:00 UTC (rev 170483)
</span><span class="lines">@@ -734,6 +734,7 @@
</span><span class="cx">     &lt;ClCompile Include=&quot;..\runtime\MapIteratorPrototype.cpp&quot; /&gt;
</span><span class="cx">     &lt;ClCompile Include=&quot;..\runtime\MapPrototype.cpp&quot; /&gt;
</span><span class="cx">     &lt;ClCompile Include=&quot;..\runtime\MathObject.cpp&quot; /&gt;
</span><ins>+    &lt;ClCompile Include=&quot;..\runtime\MemoryStatistics.cpp&quot; /&gt;
</ins><span class="cx">     &lt;ClCompile Include=&quot;..\runtime\NameConstructor.cpp&quot; /&gt;
</span><span class="cx">     &lt;ClCompile Include=&quot;..\runtime\NameInstance.cpp&quot; /&gt;
</span><span class="cx">     &lt;ClCompile Include=&quot;..\runtime\NamePrototype.cpp&quot; /&gt;
</span><span class="lines">@@ -1478,6 +1479,7 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;..\runtime\MapPrototype.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\runtime\MatchResult.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\runtime\MathObject.h&quot; /&gt;
</span><ins>+    &lt;ClInclude Include=&quot;..\runtime\MemoryStatistics.h&quot; /&gt;
</ins><span class="cx">     &lt;ClInclude Include=&quot;..\runtime\Microtask.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\runtime\NameConstructor.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\runtime\NameInstance.h&quot; /&gt;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreJavaScriptCorevcxprojJavaScriptCorevcxprojfilters"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters (170482 => 170483)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters        2014-06-26 17:01:13 UTC (rev 170482)
+++ trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters        2014-06-26 17:22:00 UTC (rev 170483)
</span><span class="lines">@@ -1605,6 +1605,9 @@
</span><span class="cx">     &lt;ClCompile Include=&quot;..\inspector\ScriptDebugServer.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;inspector&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><ins>+    &lt;ClCompile Include=&quot;..\runtime\MemoryStatistics.cpp&quot;&gt;
+      &lt;Filter&gt;runtime&lt;/Filter&gt;
+    &lt;/ClCompile&gt;
</ins><span class="cx">   &lt;/ItemGroup&gt;
</span><span class="cx">   &lt;ItemGroup&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\API\APICallbackFunction.h&quot;&gt;
</span><span class="lines">@@ -3907,6 +3910,9 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;..\inspector\ScriptDebugListener.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;inspector&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><ins>+    &lt;ClInclude Include=&quot;..\runtime\MemoryStatistics.h&quot;&gt;
+      &lt;Filter&gt;runtime&lt;/Filter&gt;
+    &lt;/ClInclude&gt;
</ins><span class="cx">   &lt;/ItemGroup&gt;
</span><span class="cx">   &lt;ItemGroup&gt;
</span><span class="cx">     &lt;None Include=&quot;JavaScriptCorePreLink.cmd&quot; /&gt;
</span></span></pre></div>
<a id="trunkSourceWebKitChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/ChangeLog (170482 => 170483)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/ChangeLog        2014-06-26 17:01:13 UTC (rev 170482)
+++ trunk/Source/WebKit/ChangeLog        2014-06-26 17:22:00 UTC (rev 170483)
</span><span class="lines">@@ -1,3 +1,15 @@
</span><ins>+2014-06-25  Brent Fulgham  &lt;bfulgham@apple.com&gt;
+
+        [Win] Expose Cache Information to WinLauncher
+        https://bugs.webkit.org/show_bug.cgi?id=134318
+
+        Reviewed by Dean Jackson.
+
+        * WebKit.vcxproj/WebKit/WebKitPostBuild.cmd: Copy the
+        CFDictionaryPropertyBag header to WebKit API directory.
+        * WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
+        Expose the dictionary accessor for the CFDictionaryPropertyBag.
+
</ins><span class="cx"> 2014-06-25  Brady Eidson  &lt;beidson@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Add HID-based gamepad implementation for Mac
</span></span></pre></div>
<a id="trunkSourceWebKitWebKitvcxprojWebKitWebKitPostBuildcmd"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/WebKit.vcxproj/WebKit/WebKitPostBuild.cmd (170482 => 170483)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/WebKit.vcxproj/WebKit/WebKitPostBuild.cmd        2014-06-26 17:01:13 UTC (rev 170482)
+++ trunk/Source/WebKit/WebKit.vcxproj/WebKit/WebKitPostBuild.cmd        2014-06-26 17:22:00 UTC (rev 170483)
</span><span class="lines">@@ -6,6 +6,7 @@
</span><span class="cx"> xcopy /y /d &quot;%PROJECTDIR%\..\..\win\WebKitGraphics.h&quot; &quot;%CONFIGURATIONBUILDDIR%\include\WebKit&quot;
</span><span class="cx"> xcopy /y /d &quot;%PROJECTDIR%\..\..\win\WebKitCOMAPI.h&quot; &quot;%CONFIGURATIONBUILDDIR%\include\WebKit&quot;
</span><span class="cx"> xcopy /y /d &quot;%PROJECTDIR%\..\..\win\WebPreferenceKeysPrivate.h&quot; &quot;%CONFIGURATIONBUILDDIR%\include\WebKit&quot;
</span><ins>+xcopy /y /d &quot;%PROJECTDIR%\..\..\win\CFDictionaryPropertyBag.h&quot; &quot;%CONFIGURATIONBUILDDIR%\include\WebKit&quot;
</ins><span class="cx"> 
</span><span class="cx"> xcopy /y /d &quot;%CONFIGURATIONBUILDDIR%\include\WebCore\npapi.h&quot; &quot;%CONFIGURATIONBUILDDIR%\include\WebKit&quot;
</span><span class="cx"> xcopy /y /d &quot;%CONFIGURATIONBUILDDIR%\include\WebCore\npfunctions.h&quot; &quot;%CONFIGURATIONBUILDDIR%\include\WebKit&quot;
</span></span></pre></div>
<a id="trunkSourceWebKitWebKitvcxprojWebKitExportGeneratorWebKitExportsdefin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in (170482 => 170483)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in        2014-06-26 17:01:13 UTC (rev 170482)
+++ trunk/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in        2014-06-26 17:22:00 UTC (rev 170483)
</span><span class="lines">@@ -179,6 +179,7 @@
</span><span class="cx">         symbolWithPointer(?create@SerializedScriptValue@WebCore@@SA?AV?$PassRefPtr@VSerializedScriptValue@WebCore@@@WTF@@ABVString@4@@Z, ?create@SerializedScriptValue@WebCore@@SA?AV?$PassRefPtr@VSerializedScriptValue@WebCore@@@WTF@@AEBVString@4@@Z)
</span><span class="cx"> #if USE(CF)
</span><span class="cx">         symbolWithPointer(?createCFString@String@WTF@@QBE?AV?$RetainPtr@PBU__CFString@@@2@XZ, ?createCFString@String@WTF@@QEBA?AV?$RetainPtr@PEBU__CFString@@@2@XZ)
</span><ins>+        symbolWithPointer(?dictionary@CFDictionaryPropertyBag@@QBEPAU__CFDictionary@@XZ, )
</ins><span class="cx"> #endif
</span><span class="cx">         symbolWithPointer(?createShadowRoot@Element@WebCore@@QAE?AV?$PassRefPtr@VShadowRoot@WebCore@@@WTF@@AAH@Z, ?createShadowRoot@Element@WebCore@@QEAA?AV?$PassRefPtr@VShadowRoot@WebCore@@@WTF@@AEAH@Z)
</span><span class="cx">         symbolWithPointer(?createWrapper@WebCore@@YA?AVJSValue@JSC@@PAVExecState@3@PAVJSDOMGlobalObject@1@PAVNode@1@@Z, ?createWrapper@WebCore@@YA?AVJSValue@JSC@@PEAVExecState@3@PEAVJSDOMGlobalObject@1@PEAVNode@1@@Z)
</span></span></pre></div>
<a id="trunkSourceWebKitwinChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/ChangeLog (170482 => 170483)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/ChangeLog        2014-06-26 17:01:13 UTC (rev 170482)
+++ trunk/Source/WebKit/win/ChangeLog        2014-06-26 17:22:00 UTC (rev 170483)
</span><span class="lines">@@ -1,3 +1,18 @@
</span><ins>+2014-06-25  Brent Fulgham  &lt;bfulgham@apple.com&gt;
+
+        [Win] Expose Cache Information to WinLauncher
+        https://bugs.webkit.org/show_bug.cgi?id=134318
+
+        Reviewed by Dean Jackson.
+
+        * Interfaces/IWebCoreStatistics.idl: Add missing
+        API added to WebKit since this was last updated.
+        * WebCache.cpp:
+        (WebCache::statistics): Add missing elements for
+        purgable and purged data.
+        * WebCoreStatistics.cpp: Provide implementaions.
+        * WebCoreStatistics.h: Ditto.
+
</ins><span class="cx"> 2014-06-25  Brady Eidson  &lt;beidson@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Add new platform gamepad abstractions
</span></span></pre></div>
<a id="trunkSourceWebKitwinInterfacesIWebCoreStatisticsidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/Interfaces/IWebCoreStatistics.idl (170482 => 170483)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/Interfaces/IWebCoreStatistics.idl        2014-06-26 17:01:13 UTC (rev 170482)
+++ trunk/Source/WebKit/win/Interfaces/IWebCoreStatistics.idl        2014-06-26 17:22:00 UTC (rev 170483)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2008 Apple Inc. All Rights Reserved.
</del><ins>+ * Copyright (C) 2008, 2014 Apple Inc. All Rights Reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -53,4 +53,21 @@
</span><span class="cx">     HRESULT glyphPageCount([out, retval] UINT* count);
</span><span class="cx"> 
</span><span class="cx">     HRESULT javaScriptProtectedObjectTypeCounts([out, retval] IPropertyBag2** typeNamesAndCounts);
</span><ins>+    HRESULT javaScriptObjectTypeCounts([out, retval] IPropertyBag2** typeNamesAndCounts);
+
+    HRESULT garbageCollectJavaScriptObjects();
+    HRESULT garbageCollectJavaScriptObjectsOnAlternateThreadForDebugging([in] BOOL waitUntilDone);
+    HRESULT setJavaScriptGarbageCollectorTimerEnabled([in] BOOL);
+
+    HRESULT shouldPrintExceptions([out, retval] BOOL*);
+    HRESULT setShouldPrintExceptions([in] BOOL);
+
+    HRESULT startIgnoringWebCoreNodeLeaks();
+    HRESULT stopIgnoringWebCoreNodeLeaks();
+
+    HRESULT memoryStatistics([out, retval] IPropertyBag** statistics);
+    HRESULT returnFreeMemoryToSystem();
+
+    HRESULT cachedPageCount([out, retval] INT* count);
+    HRESULT cachedFrameCount([out, retval] INT* count);
</ins><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebCachecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebCache.cpp (170482 => 170483)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebCache.cpp        2014-06-26 17:01:13 UTC (rev 170482)
+++ trunk/Source/WebKit/win/WebCache.cpp        2014-06-26 17:22:00 UTC (rev 170483)
</span><span class="lines">@@ -91,14 +91,12 @@
</span><span class="cx"> 
</span><span class="cx"> // IWebCache ------------------------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebCache::statistics( 
-    /* [in][out] */ int* count,
-    /* [retval][out] */ IPropertyBag ** s)
</del><ins>+HRESULT WebCache::statistics(int* count, IPropertyBag** s)
</ins><span class="cx"> {
</span><del>-    if (!count || (s &amp;&amp; *count &lt; 4))
</del><ins>+    if (!count || (s &amp;&amp; *count &lt; 6))
</ins><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><del>-    *count = 4;
</del><ins>+    *count = 6;
</ins><span class="cx">     if (!s)
</span><span class="cx">         return S_OK;
</span><span class="cx"> 
</span><span class="lines">@@ -112,6 +110,7 @@
</span><span class="cx">     const int zero = 0;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><ins>+    // Object Counts.
</ins><span class="cx">     RetainPtr&lt;CFMutableDictionaryRef&gt; dictionary = adoptCF(CFDictionaryCreateMutable(0, 0, &amp;kCFTypeDictionaryKeyCallBacks, &amp;kCFTypeDictionaryValueCallBacks));
</span><span class="cx"> 
</span><span class="cx">     RetainPtr&lt;CFNumberRef&gt; value = adoptCF(CFNumberCreate(0, kCFNumberIntType, &amp;stat.images.count));
</span><span class="lines">@@ -134,6 +133,7 @@
</span><span class="cx">     propBag-&gt;setDictionary(dictionary.get());
</span><span class="cx">     s[0] = propBag.leakRef();
</span><span class="cx"> 
</span><ins>+    // Object Sizes.
</ins><span class="cx">     dictionary = adoptCF(CFDictionaryCreateMutable(0, 0, &amp;kCFTypeDictionaryKeyCallBacks, &amp;kCFTypeDictionaryValueCallBacks));
</span><span class="cx"> 
</span><span class="cx">     value = adoptCF(CFNumberCreate(0, kCFNumberIntType, &amp;stat.images.size));
</span><span class="lines">@@ -156,6 +156,7 @@
</span><span class="cx">     propBag-&gt;setDictionary(dictionary.get());
</span><span class="cx">     s[1] = propBag.leakRef();
</span><span class="cx"> 
</span><ins>+    // Live Sizes.
</ins><span class="cx">     dictionary = adoptCF(CFDictionaryCreateMutable(0, 0, &amp;kCFTypeDictionaryKeyCallBacks, &amp;kCFTypeDictionaryValueCallBacks));
</span><span class="cx"> 
</span><span class="cx">     value = adoptCF(CFNumberCreate(0, kCFNumberIntType, &amp;stat.images.liveSize));
</span><span class="lines">@@ -178,6 +179,7 @@
</span><span class="cx">     propBag-&gt;setDictionary(dictionary.get());
</span><span class="cx">     s[2] = propBag.leakRef();
</span><span class="cx"> 
</span><ins>+    // Decoded Sizes.
</ins><span class="cx">     dictionary = adoptCF(CFDictionaryCreateMutable(0, 0, &amp;kCFTypeDictionaryKeyCallBacks, &amp;kCFTypeDictionaryValueCallBacks));
</span><span class="cx"> 
</span><span class="cx">     value = adoptCF(CFNumberCreate(0, kCFNumberIntType, &amp;stat.images.decodedSize));
</span><span class="lines">@@ -200,6 +202,52 @@
</span><span class="cx">     propBag-&gt;setDictionary(dictionary.get());
</span><span class="cx">     s[3] = propBag.leakRef();
</span><span class="cx"> 
</span><ins>+    // Purgable Sizes.
+    dictionary = adoptCF(CFDictionaryCreateMutable(0, 0, &amp;kCFTypeDictionaryKeyCallBacks, &amp;kCFTypeDictionaryValueCallBacks));
+
+    value = adoptCF(CFNumberCreate(0, kCFNumberIntType, &amp;stat.images.purgeableSize));
+    CFDictionaryAddValue(dictionary.get(), imagesKey, value.get());
+
+    value = adoptCF(CFNumberCreate(0, kCFNumberIntType, &amp;stat.cssStyleSheets.purgeableSize));
+    CFDictionaryAddValue(dictionary.get(), stylesheetsKey, value.get());
+
+#if ENABLE(XSLT)
+    value = adoptCF(CFNumberCreate(0, kCFNumberIntType, &amp;stat.xslStyleSheets.purgeableSize));
+#else
+    value = adoptCF(CFNumberCreate(0, kCFNumberIntType, &amp;zero));
+#endif
+    CFDictionaryAddValue(dictionary.get(), xslKey, value.get());
+
+    value = adoptCF(CFNumberCreate(0, kCFNumberIntType, &amp;stat.scripts.purgeableSize));
+    CFDictionaryAddValue(dictionary.get(), scriptsKey, value.get());
+
+    propBag = CFDictionaryPropertyBag::createInstance();
+    propBag-&gt;setDictionary(dictionary.get());
+    s[4] = propBag.leakRef();
+
+    // Purged Sizes.
+    dictionary = adoptCF(CFDictionaryCreateMutable(0, 0, &amp;kCFTypeDictionaryKeyCallBacks, &amp;kCFTypeDictionaryValueCallBacks));
+
+    value = adoptCF(CFNumberCreate(0, kCFNumberIntType, &amp;stat.images.purgedSize));
+    CFDictionaryAddValue(dictionary.get(), imagesKey, value.get());
+
+    value = adoptCF(CFNumberCreate(0, kCFNumberIntType, &amp;stat.cssStyleSheets.purgedSize));
+    CFDictionaryAddValue(dictionary.get(), stylesheetsKey, value.get());
+
+#if ENABLE(XSLT)
+    value = adoptCF(CFNumberCreate(0, kCFNumberIntType, &amp;stat.xslStyleSheets.purgedSize));
+#else
+    value = adoptCF(CFNumberCreate(0, kCFNumberIntType, &amp;zero));
+#endif
+    CFDictionaryAddValue(dictionary.get(), xslKey, value.get());
+
+    value = adoptCF(CFNumberCreate(0, kCFNumberIntType, &amp;stat.scripts.purgedSize));
+    CFDictionaryAddValue(dictionary.get(), scriptsKey, value.get());
+
+    propBag = CFDictionaryPropertyBag::createInstance();
+    propBag-&gt;setDictionary(dictionary.get());
+    s[5] = propBag.leakRef();
+
</ins><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebCoreStatisticscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebCoreStatistics.cpp (170482 => 170483)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebCoreStatistics.cpp        2014-06-26 17:01:13 UTC (rev 170482)
+++ trunk/Source/WebKit/win/WebCoreStatistics.cpp        2014-06-26 17:22:00 UTC (rev 170483)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2008 Apple Inc. All Rights Reserved.
</del><ins>+ * Copyright (C) 2008, 2014 Apple Inc. All Rights Reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -29,10 +29,15 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;COMPropertyBag.h&quot;
</span><span class="cx"> #include &lt;JavaScriptCore/JSLock.h&gt;
</span><ins>+#include &lt;JavaScriptCore/MemoryStatistics.h&gt;
</ins><span class="cx"> #include &lt;WebCore/FontCache.h&gt;
</span><ins>+#include &lt;WebCore/GCController.h&gt;
</ins><span class="cx"> #include &lt;WebCore/GlyphPageTreeNode.h&gt;
</span><span class="cx"> #include &lt;WebCore/IconDatabase.h&gt;
</span><span class="cx"> #include &lt;WebCore/JSDOMWindow.h&gt;
</span><ins>+#include &lt;WebCore/PageCache.h&gt;
+#include &lt;WebCore/PageConsole.h&gt;
+#include &lt;WebCore/RenderView.h&gt;
</ins><span class="cx"> #include &lt;WebCore/SharedBuffer.h&gt;
</span><span class="cx"> 
</span><span class="cx"> using namespace JSC;
</span><span class="lines">@@ -152,6 +157,24 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+HRESULT WebCoreStatistics::javaScriptObjectTypeCounts(IPropertyBag2** typeNamesAndCounts)
+{
+    if (!typeNamesAndCounts)
+        return E_POINTER;
+
+    JSLockHolder lock(JSDOMWindow::commonVM());
+    OwnPtr&lt;TypeCountSet&gt; jsObjectTypeNames(JSDOMWindow::commonVM().heap.objectTypeCounts());
+    typedef TypeCountSet::const_iterator Iterator;
+    Iterator end = jsObjectTypeNames-&gt;end();
+    HashMap&lt;String, int&gt; typeCountMap;
+    for (Iterator current = jsObjectTypeNames-&gt;begin(); current != end; ++current)
+        typeCountMap.set(current-&gt;key, current-&gt;value);
+
+    COMPtr&lt;IPropertyBag2&gt; results(AdoptCOM, COMPropertyBag&lt;int&gt;::createInstance(typeCountMap));
+    results.copyRefTo(typeNamesAndCounts);
+    return S_OK;
+}
+
</ins><span class="cx"> HRESULT STDMETHODCALLTYPE WebCoreStatistics::iconPageURLMappingCount( 
</span><span class="cx">     /* [retval][out] */ UINT* count)
</span><span class="cx"> {
</span><span class="lines">@@ -220,3 +243,100 @@
</span><span class="cx">     *count = (UINT) GlyphPageTreeNode::treeGlyphPageCount();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><ins>+
+HRESULT WebCoreStatistics::garbageCollectJavaScriptObjects()
+{
+    gcController().garbageCollectNow();
+    return S_OK;
+}
+
+HRESULT WebCoreStatistics::garbageCollectJavaScriptObjectsOnAlternateThreadForDebugging(BOOL waitUntilDone)
+{
+    gcController().garbageCollectOnAlternateThreadForDebugging(waitUntilDone);
+    return S_OK;
+}
+
+HRESULT WebCoreStatistics::setJavaScriptGarbageCollectorTimerEnabled(BOOL enable)
+{
+    gcController().setJavaScriptGarbageCollectorTimerEnabled(enable);
+    return S_OK;
+}
+
+HRESULT WebCoreStatistics::shouldPrintExceptions(BOOL* shouldPrint)
+{
+    if (!shouldPrint)
+        return E_POINTER;
+
+    JSLockHolder lock(JSDOMWindow::commonVM());
+    *shouldPrint = PageConsole::shouldPrintExceptions();
+    return S_OK;
+}
+
+HRESULT WebCoreStatistics::setShouldPrintExceptions(BOOL print)
+{
+    JSLockHolder lock(JSDOMWindow::commonVM());
+    PageConsole::setShouldPrintExceptions(print);
+    return S_OK;
+}
+
+HRESULT WebCoreStatistics::startIgnoringWebCoreNodeLeaks()
+{
+    WebCore::Node::startIgnoringLeaks();
+    return S_OK;
+}
+
+HRESULT WebCoreStatistics::stopIgnoringWebCoreNodeLeaks()
+{
+    WebCore::Node::startIgnoringLeaks();
+    return S_OK;
+}
+
+HRESULT WebCoreStatistics::memoryStatistics(IPropertyBag** statistics)
+{
+    if (!statistics)
+        return E_POINTER;
+
+    WTF::FastMallocStatistics fastMallocStatistics = WTF::fastMallocStatistics();
+
+    JSLockHolder lock(JSDOMWindow::commonVM());
+    unsigned long long heapSize = JSDOMWindow::commonVM().heap.size();
+    unsigned long long heapFree = JSDOMWindow::commonVM().heap.capacity() - heapSize;
+    GlobalMemoryStatistics globalMemoryStats = globalMemoryStatistics();
+
+    HashMap&lt;String, unsigned long long, CaseFoldingHash&gt; fields;
+    fields.add(&quot;FastMallocReservedVMBytes&quot;, static_cast&lt;unsigned long long&gt;(fastMallocStatistics.reservedVMBytes));
+    fields.add(&quot;FastMallocCommittedVMBytes&quot;, static_cast&lt;unsigned long long&gt;(fastMallocStatistics.committedVMBytes));
+    fields.add(&quot;FastMallocFreeListBytes&quot;, static_cast&lt;unsigned long long&gt;(fastMallocStatistics.freeListBytes));
+    fields.add(&quot;JavaScriptHeapSize&quot;, heapSize);
+    fields.add(&quot;JavaScriptFreeSize&quot;, heapFree);
+    fields.add(&quot;JavaScriptStackSize&quot;, static_cast&lt;unsigned long long&gt;(globalMemoryStats.stackBytes));
+    fields.add(&quot;JavaScriptJITSize&quot;, static_cast&lt;unsigned long long&gt;(globalMemoryStats.JITBytes));
+
+    *statistics = COMPropertyBag&lt;unsigned long long, String, CaseFoldingHash&gt;::adopt(fields);
+
+    return S_OK;
+}
+
+HRESULT WebCoreStatistics::returnFreeMemoryToSystem()
+{
+    WTF::releaseFastMallocFreeMemory();
+    return S_OK;
+}
+
+HRESULT WebCoreStatistics::cachedPageCount(INT* count)
+{
+    if (!count)
+        return E_POINTER;
+
+    *count = pageCache()-&gt;pageCount();
+    return S_OK;
+}
+
+HRESULT WebCoreStatistics::cachedFrameCount(INT* count)
+{
+    if (!count)
+        return E_POINTER;
+
+    *count = pageCache()-&gt;frameCount();
+    return S_OK;
+}
</ins></span></pre></div>
<a id="trunkSourceWebKitwinWebCoreStatisticsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebCoreStatistics.h (170482 => 170483)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebCoreStatistics.h        2014-06-26 17:01:13 UTC (rev 170482)
+++ trunk/Source/WebKit/win/WebCoreStatistics.h        2014-06-26 17:22:00 UTC (rev 170483)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2008 Apple Inc. All Rights Reserved.
</del><ins>+ * Copyright (C) 2008, 2014 Apple Inc. All Rights Reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -64,10 +64,27 @@
</span><span class="cx">         /* [retval][out] */ UINT *count);
</span><span class="cx">     virtual HRESULT STDMETHODCALLTYPE cachedFontDataInactiveCount( 
</span><span class="cx">         /* [retval][out] */ UINT *count);
</span><del>-    virtual HRESULT STDMETHODCALLTYPE purgeInactiveFontData(void);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE purgeInactiveFontData();
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE glyphPageCount( 
</span><span class="cx">         /* [retval][out] */ UINT *count);
</span><span class="cx"> 
</span><ins>+    virtual HRESULT STDMETHODCALLTYPE javaScriptObjectTypeCounts(/* [retval][out] */ IPropertyBag2** typeNamesAndCounts);
+    virtual HRESULT STDMETHODCALLTYPE garbageCollectJavaScriptObjects();
+    virtual HRESULT STDMETHODCALLTYPE garbageCollectJavaScriptObjectsOnAlternateThreadForDebugging(BOOL waitUntilDone);
+    virtual HRESULT STDMETHODCALLTYPE setJavaScriptGarbageCollectorTimerEnabled(BOOL);
+
+    virtual HRESULT STDMETHODCALLTYPE shouldPrintExceptions(BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setShouldPrintExceptions(BOOL);
+
+    virtual HRESULT STDMETHODCALLTYPE startIgnoringWebCoreNodeLeaks();
+    virtual HRESULT STDMETHODCALLTYPE stopIgnoringWebCoreNodeLeaks();
+
+    virtual HRESULT STDMETHODCALLTYPE memoryStatistics(/* [retval][out] */ IPropertyBag** statistics);
+    virtual HRESULT STDMETHODCALLTYPE returnFreeMemoryToSystem();
+
+    virtual HRESULT STDMETHODCALLTYPE cachedPageCount(/* [retval][out] */ INT *count);
+    virtual HRESULT STDMETHODCALLTYPE cachedFrameCount(/* [retval][out] */ INT *count);
+
</ins><span class="cx"> protected:
</span><span class="cx">     ULONG m_refCount;
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkToolsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Tools/ChangeLog (170482 => 170483)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/ChangeLog        2014-06-26 17:01:13 UTC (rev 170482)
+++ trunk/Tools/ChangeLog        2014-06-26 17:22:00 UTC (rev 170483)
</span><span class="lines">@@ -1,3 +1,21 @@
</span><ins>+2014-06-25  Brent Fulgham  &lt;bfulgham@apple.com&gt;
+
+        [Win] Expose Cache Information to WinLauncher
+        https://bugs.webkit.org/show_bug.cgi?id=134318
+
+        Reviewed by Dean Jackson.
+
+        * WinLauncher/Common.cpp: Update for new dialog.
+        * WinLauncher/WinLauncher.cpp: Add support for WebCache
+        and WebCoreStatistics.
+        * WinLauncher/WinLauncher.h:
+        * WinLauncher/WinLauncher.vcxproj/WinLauncherLib.rc:
+        Update for new Cache Dialog.
+        * WinLauncher/WinLauncher.vcxproj/WinLauncherLibCommon.props: Link to
+        WTF.lib
+        * WinLauncher/WinLauncher.vcxproj/WinLauncherLibResource.h: Update
+        for new Dialog.
+
</ins><span class="cx"> 2014-06-26  Brent Fulgham  &lt;bfulgham@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [Win] Unreviewed gardening. Use consistent line-endings in file.
</span></span></pre></div>
<a id="trunkToolsWinLauncherCommoncpp"></a>
<div class="modfile"><h4>Modified: trunk/Tools/WinLauncher/Common.cpp (170482 => 170483)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WinLauncher/Common.cpp        2014-06-26 17:01:13 UTC (rev 170482)
+++ trunk/Tools/WinLauncher/Common.cpp        2014-06-26 17:22:00 UTC (rev 170483)
</span><span class="lines">@@ -34,9 +34,12 @@
</span><span class="cx"> #include &lt;WebKit/WebKitCOMAPI.h&gt;
</span><span class="cx"> #include &lt;wtf/ExportMacros.h&gt;
</span><span class="cx"> #include &lt;wtf/Platform.h&gt;
</span><ins>+#include &lt;wtf/text/CString.h&gt;
+#include &lt;wtf/text/WTFString.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> #if USE(CF)
</span><span class="cx"> #include &lt;CoreFoundation/CFRunLoop.h&gt;
</span><ins>+#include &lt;WebKit/CFDictionaryPropertyBag.h&gt;
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #include &lt;cassert&gt;
</span><span class="lines">@@ -62,7 +65,6 @@
</span><span class="cx"> 
</span><span class="cx"> typedef _com_ptr_t&lt;_com_IIID&lt;IWebFrame, &amp;__uuidof(IWebFrame)&gt;&gt; IWebFramePtr;
</span><span class="cx"> typedef _com_ptr_t&lt;_com_IIID&lt;IWebMutableURLRequest, &amp;__uuidof(IWebMutableURLRequest)&gt;&gt; IWebMutableURLRequestPtr;
</span><del>-typedef _com_ptr_t&lt;_com_IIID&lt;IWebCache, &amp;__uuidof(IWebCache)&gt;&gt; IWebCachePtr;
</del><span class="cx"> 
</span><span class="cx"> // Global Variables:
</span><span class="cx"> HINSTANCE hInst;
</span><span class="lines">@@ -70,6 +72,7 @@
</span><span class="cx"> HWND hURLBarWnd;
</span><span class="cx"> HWND hBackButtonWnd;
</span><span class="cx"> HWND hForwardButtonWnd;
</span><ins>+HWND hCacheWnd;
</ins><span class="cx"> WNDPROC DefEditProc = nullptr;
</span><span class="cx"> WNDPROC DefButtonProc = nullptr;
</span><span class="cx"> WNDPROC DefWebKitProc = nullptr;
</span><span class="lines">@@ -90,8 +93,10 @@
</span><span class="cx"> LRESULT CALLBACK BackButtonProc(HWND, UINT, WPARAM, LPARAM);
</span><span class="cx"> LRESULT CALLBACK ForwardButtonProc(HWND, UINT, WPARAM, LPARAM);
</span><span class="cx"> LRESULT CALLBACK ReloadButtonProc(HWND, UINT, WPARAM, LPARAM);
</span><ins>+INT_PTR CALLBACK Caches(HWND, UINT, WPARAM, LPARAM);
</ins><span class="cx"> 
</span><span class="cx"> static void loadURL(BSTR urlBStr);
</span><ins>+static void updateStatistics(HWND hDlg);
</ins><span class="cx"> 
</span><span class="cx"> static void resizeSubViews()
</span><span class="cx"> {
</span><span class="lines">@@ -155,10 +160,8 @@
</span><span class="cx"> 
</span><span class="cx"> static bool setCacheFolder()
</span><span class="cx"> {
</span><del>-    IWebCachePtr webCache;
-
-    HRESULT hr = WebKitCreateInstance(CLSID_WebCache, 0, __uuidof(webCache), reinterpret_cast&lt;void**&gt;(&amp;webCache.GetInterfacePtr()));
-    if (FAILED(hr))
</del><ins>+    IWebCachePtr webCache = gWinLauncher-&gt;webCache();
+    if (!webCache)
</ins><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     _bstr_t appDataFolder;
</span><span class="lines">@@ -379,6 +382,12 @@
</span><span class="cx">             if (gWinLauncher)
</span><span class="cx">                 gWinLauncher-&gt;launchInspector();
</span><span class="cx">             break;
</span><ins>+        case IDM_CACHES:
+            if (!::IsWindow(hCacheWnd)) {
+                hCacheWnd = CreateDialog(hInst, MAKEINTRESOURCE(IDD_CACHES), hWnd, Caches);
+                ::ShowWindow(hCacheWnd, SW_SHOW);
+            }
+            break;
</ins><span class="cx">         case IDM_HISTORY_BACKWARD:
</span><span class="cx">         case IDM_HISTORY_FORWARD:
</span><span class="cx">             if (gWinLauncher)
</span><span class="lines">@@ -476,6 +485,35 @@
</span><span class="cx">     return (INT_PTR)FALSE;
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+INT_PTR CALLBACK Caches(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
+{
+    UNREFERENCED_PARAMETER(lParam);
+    switch (message) {
+    case WM_INITDIALOG:
+        ::SetTimer(hDlg, IDT_UPDATE_STATS, 1000, nullptr);
+        return (INT_PTR)TRUE;
+
+    case WM_COMMAND:
+        if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL) {
+            ::KillTimer(hDlg, IDT_UPDATE_STATS);
+            ::DestroyWindow(hDlg);
+            hCacheWnd = 0;
+            return (INT_PTR)TRUE;
+        }
+        break;
+
+    case IDT_UPDATE_STATS:
+        ::InvalidateRect(hDlg, nullptr, FALSE);
+        return (INT_PTR)TRUE;
+
+    case WM_PAINT:
+        updateStatistics(hDlg);
+        break;
+    }
+
+    return (INT_PTR)FALSE;
+}
+
</ins><span class="cx"> static void loadURL(BSTR passedURL)
</span><span class="cx"> {
</span><span class="cx">     if (FAILED(gWinLauncher-&gt;loadURL(passedURL)))
</span><span class="lines">@@ -484,6 +522,167 @@
</span><span class="cx">     SetFocus(gViewWindow);
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+static void setWindowText(HWND dialog, UINT field, _bstr_t value)
+{
+    ::SetDlgItemText(dialog, field, value);
+}
+
+static void setWindowText(HWND dialog, UINT field, UINT value)
+{
+    String valueStr = WTF::String::number(value);
+
+    setWindowText(dialog, field, _bstr_t(valueStr.utf8().data()));
+}
+
+typedef _com_ptr_t&lt;_com_IIID&lt;IPropertyBag, &amp;__uuidof(IPropertyBag)&gt;&gt; IPropertyBagPtr;
+
+static void setWindowText(HWND dialog, UINT field, IPropertyBagPtr statistics, const _bstr_t&amp; key)
+{
+    VARIANT var;
+    ::VariantInit(&amp;var);
+    V_VT(&amp;var) = VT_UI8;
+    if (FAILED(statistics-&gt;Read(key, &amp;var, 0))) {
+        ::VariantClear(&amp;var);
+        return;
+    }
+
+    unsigned long long value = V_UI8(&amp;var);
+    String valueStr = WTF::String::number(value);
+
+    setWindowText(dialog, field, _bstr_t(valueStr.utf8().data()));
+    ::VariantClear(&amp;var);
+}
+
+static void setWindowText(HWND dialog, UINT field, CFDictionaryRef dictionary, CFStringRef key, UINT&amp; total)
+{
+    CFNumberRef countNum = static_cast&lt;CFNumberRef&gt;(CFDictionaryGetValue(dictionary, key));
+    if (!countNum)
+        return;
+
+    int count = 0;
+    CFNumberGetValue(countNum, kCFNumberIntType, &amp;count);
+
+    setWindowText(dialog, field, static_cast&lt;UINT&gt;(count));
+    total += count;
+}
+
+static void updateStatistics(HWND dialog)
+{
+    if (!gWinLauncher)
+        return;
+
+    IWebCoreStatisticsPtr webCoreStatistics = gWinLauncher-&gt;statistics();
+    if (!webCoreStatistics)
+        return;
+
+    IPropertyBagPtr statistics;
+    HRESULT hr = webCoreStatistics-&gt;memoryStatistics(&amp;statistics.GetInterfacePtr());
+    if (FAILED(hr))
+        return;
+
+    // FastMalloc.
+    setWindowText(dialog, IDC_RESERVED_VM, statistics, &quot;FastMallocReservedVMBytes&quot;);
+    setWindowText(dialog, IDC_COMMITTED_VM, statistics, &quot;FastMallocCommittedVMBytes&quot;);
+    setWindowText(dialog, IDC_FREE_LIST_BYTES, statistics, &quot;FastMallocFreeListBytes&quot;);
+
+    // WebCore Cache.
+#if USE(CF)
+    IWebCachePtr webCache = gWinLauncher-&gt;webCache();
+
+    int dictCount = 6;
+    IPropertyBag* cacheDict[6] = { 0 };
+    if (FAILED(webCache-&gt;statistics(&amp;dictCount, cacheDict)))
+        return;
+
+    COMPtr&lt;CFDictionaryPropertyBag&gt; counts, sizes, liveSizes, decodedSizes, purgableSizes;
+    counts.adoptRef(reinterpret_cast&lt;CFDictionaryPropertyBag*&gt;(cacheDict[0]));
+    sizes.adoptRef(reinterpret_cast&lt;CFDictionaryPropertyBag*&gt;(cacheDict[1]));
+    liveSizes.adoptRef(reinterpret_cast&lt;CFDictionaryPropertyBag*&gt;(cacheDict[2]));
+    decodedSizes.adoptRef(reinterpret_cast&lt;CFDictionaryPropertyBag*&gt;(cacheDict[3]));
+    purgableSizes.adoptRef(reinterpret_cast&lt;CFDictionaryPropertyBag*&gt;(cacheDict[4]));
+
+    static CFStringRef imagesKey = CFSTR(&quot;images&quot;);
+    static CFStringRef stylesheetsKey = CFSTR(&quot;style sheets&quot;);
+    static CFStringRef xslKey = CFSTR(&quot;xsl&quot;);
+    static CFStringRef scriptsKey = CFSTR(&quot;scripts&quot;);
+
+    if (counts) {
+        UINT totalObjects = 0;
+        setWindowText(dialog, IDC_IMAGES_OBJECT_COUNT, counts-&gt;dictionary(), imagesKey, totalObjects);
+        setWindowText(dialog, IDC_CSS_OBJECT_COUNT, counts-&gt;dictionary(), stylesheetsKey, totalObjects);
+        setWindowText(dialog, IDC_XSL_OBJECT_COUNT, counts-&gt;dictionary(), xslKey, totalObjects);
+        setWindowText(dialog, IDC_JSC_OBJECT_COUNT, counts-&gt;dictionary(), scriptsKey, totalObjects);
+        setWindowText(dialog, IDC_TOTAL_OBJECT_COUNT, totalObjects);
+    }
+
+    if (sizes) {
+        UINT totalBytes = 0;
+        setWindowText(dialog, IDC_IMAGES_BYTES, sizes-&gt;dictionary(), imagesKey, totalBytes);
+        setWindowText(dialog, IDC_CSS_BYTES, sizes-&gt;dictionary(), stylesheetsKey, totalBytes);
+        setWindowText(dialog, IDC_XSL_BYTES, sizes-&gt;dictionary(), xslKey, totalBytes);
+        setWindowText(dialog, IDC_JSC_BYTES, sizes-&gt;dictionary(), scriptsKey, totalBytes);
+        setWindowText(dialog, IDC_TOTAL_BYTES, totalBytes);
+    }
+
+    if (liveSizes) {
+        UINT totalLiveBytes = 0;
+        setWindowText(dialog, IDC_IMAGES_LIVE_COUNT, liveSizes-&gt;dictionary(), imagesKey, totalLiveBytes);
+        setWindowText(dialog, IDC_CSS_LIVE_COUNT, liveSizes-&gt;dictionary(), stylesheetsKey, totalLiveBytes);
+        setWindowText(dialog, IDC_XSL_LIVE_COUNT, liveSizes-&gt;dictionary(), xslKey, totalLiveBytes);
+        setWindowText(dialog, IDC_JSC_LIVE_COUNT, liveSizes-&gt;dictionary(), scriptsKey, totalLiveBytes);
+        setWindowText(dialog, IDC_TOTAL_LIVE_COUNT, totalLiveBytes);
+    }
+
+    if (decodedSizes) {
+        UINT totalDecoded = 0;
+        setWindowText(dialog, IDC_IMAGES_DECODED_COUNT, decodedSizes-&gt;dictionary(), imagesKey, totalDecoded);
+        setWindowText(dialog, IDC_CSS_DECODED_COUNT, decodedSizes-&gt;dictionary(), stylesheetsKey, totalDecoded);
+        setWindowText(dialog, IDC_XSL_DECODED_COUNT, decodedSizes-&gt;dictionary(), xslKey, totalDecoded);
+        setWindowText(dialog, IDC_JSC_DECODED_COUNT, decodedSizes-&gt;dictionary(), scriptsKey, totalDecoded);
+        setWindowText(dialog, IDC_TOTAL_DECODED, totalDecoded);
+    }
+
+    if (purgableSizes) {
+        UINT totalPurgable = 0;
+        setWindowText(dialog, IDC_IMAGES_PURGEABLE_COUNT, purgableSizes-&gt;dictionary(), imagesKey, totalPurgable);
+        setWindowText(dialog, IDC_CSS_PURGEABLE_COUNT, purgableSizes-&gt;dictionary(), stylesheetsKey, totalPurgable);
+        setWindowText(dialog, IDC_XSL_PURGEABLE_COUNT, purgableSizes-&gt;dictionary(), xslKey, totalPurgable);
+        setWindowText(dialog, IDC_JSC_PURGEABLE_COUNT, purgableSizes-&gt;dictionary(), scriptsKey, totalPurgable);
+        setWindowText(dialog, IDC_TOTAL_PURGEABLE, totalPurgable);
+    }
+#endif
+
+    // JavaScript Heap.
+    setWindowText(dialog, IDC_JSC_HEAP_SIZE, statistics, &quot;JavaScriptHeapSize&quot;);
+    setWindowText(dialog, IDC_JSC_HEAP_FREE, statistics, &quot;JavaScriptFreeSize&quot;);
+
+    UINT count;
+    if (SUCCEEDED(webCoreStatistics-&gt;javaScriptObjectsCount(&amp;count)))
+        setWindowText(dialog, IDC_TOTAL_JSC_HEAP_OBJECTS, count);
+    if (SUCCEEDED(webCoreStatistics-&gt;javaScriptGlobalObjectsCount(&amp;count)))
+        setWindowText(dialog, IDC_GLOBAL_JSC_HEAP_OBJECTS, count);
+    if (SUCCEEDED(webCoreStatistics-&gt;javaScriptProtectedObjectsCount(&amp;count)))
+        setWindowText(dialog, IDC_PROTECTED_JSC_HEAP_OBJECTS, count);
+
+    // Font and Glyph Caches.
+    if (SUCCEEDED(webCoreStatistics-&gt;cachedFontDataCount(&amp;count)))
+        setWindowText(dialog, IDC_TOTAL_FONT_OBJECTS, count);
+    if (SUCCEEDED(webCoreStatistics-&gt;cachedFontDataInactiveCount(&amp;count)))
+        setWindowText(dialog, IDC_INACTIVE_FONT_OBJECTS, count);
+    if (SUCCEEDED(webCoreStatistics-&gt;glyphPageCount(&amp;count)))
+        setWindowText(dialog, IDC_GLYPH_PAGES, count);
+
+    // Site Icon Database.
+    if (SUCCEEDED(webCoreStatistics-&gt;iconPageURLMappingCount(&amp;count)))
+        setWindowText(dialog, IDC_PAGE_URL_MAPPINGS, count);
+    if (SUCCEEDED(webCoreStatistics-&gt;iconRetainedPageURLCount(&amp;count)))
+        setWindowText(dialog, IDC_RETAINED_PAGE_URLS, count);
+    if (SUCCEEDED(webCoreStatistics-&gt;iconRecordCount(&amp;count)))
+        setWindowText(dialog, IDC_SITE_ICON_RECORDS, count);
+    if (SUCCEEDED(webCoreStatistics-&gt;iconsWithDataCount(&amp;count)))
+        setWindowText(dialog, IDC_SITE_ICONS_WITH_DATA, count);
+}
+
</ins><span class="cx"> extern &quot;C&quot; __declspec(dllexport) int WINAPI dllLauncherEntryPoint(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpstrCmdLine, int nCmdShow)
</span><span class="cx"> {
</span><span class="cx">     return wWinMain(hInstance, hPrevInstance, lpstrCmdLine, nCmdShow);
</span></span></pre></div>
<a id="trunkToolsWinLauncherWinLaunchercpp"></a>
<div class="modfile"><h4>Modified: trunk/Tools/WinLauncher/WinLauncher.cpp (170482 => 170483)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WinLauncher/WinLauncher.cpp        2014-06-26 17:01:13 UTC (rev 170482)
+++ trunk/Tools/WinLauncher/WinLauncher.cpp        2014-06-26 17:22:00 UTC (rev 170483)
</span><span class="lines">@@ -50,7 +50,6 @@
</span><span class="cx"> static const int maxHistorySize = 10;
</span><span class="cx"> 
</span><span class="cx"> typedef _com_ptr_t&lt;_com_IIID&lt;IWebMutableURLRequest, &amp;__uuidof(IWebMutableURLRequest)&gt;&gt; IWebMutableURLRequestPtr;
</span><del>-typedef _com_ptr_t&lt;_com_IIID&lt;IWebCache, &amp;__uuidof(IWebCache)&gt;&gt; IWebCachePtr;
</del><span class="cx"> 
</span><span class="cx"> WinLauncher::WinLauncher(HWND mainWnd, HWND urlBarWnd, bool useLayeredWebView)
</span><span class="cx">     : m_hMainWnd(mainWnd)
</span><span class="lines">@@ -70,7 +69,15 @@
</span><span class="cx">         return hr;
</span><span class="cx"> 
</span><span class="cx">     hr = WebKitCreateInstance(CLSID_WebHistory, 0, __uuidof(m_webHistory), reinterpret_cast&lt;void**&gt;(&amp;m_webHistory.GetInterfacePtr()));
</span><ins>+    if (FAILED(hr))
+        return hr;
</ins><span class="cx"> 
</span><ins>+    hr = WebKitCreateInstance(CLSID_WebCoreStatistics, 0, __uuidof(m_statistics), reinterpret_cast&lt;void**&gt;(&amp;m_statistics.GetInterfacePtr()));
+    if (FAILED(hr))
+        return hr;
+
+    hr = WebKitCreateInstance(CLSID_WebCache, 0, __uuidof(m_webCache), reinterpret_cast&lt;void**&gt;(&amp;m_webCache.GetInterfacePtr()));
+
</ins><span class="cx">     return hr;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkToolsWinLauncherWinLauncherh"></a>
<div class="modfile"><h4>Modified: trunk/Tools/WinLauncher/WinLauncher.h (170482 => 170483)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WinLauncher/WinLauncher.h        2014-06-26 17:01:13 UTC (rev 170482)
+++ trunk/Tools/WinLauncher/WinLauncher.h        2014-06-26 17:22:00 UTC (rev 170483)
</span><span class="lines">@@ -37,9 +37,10 @@
</span><span class="cx"> typedef _com_ptr_t&lt;_com_IIID&lt;IWebUIDelegate, &amp;__uuidof(IWebUIDelegate)&gt;&gt; IWebUIDelegatePtr;
</span><span class="cx"> typedef _com_ptr_t&lt;_com_IIID&lt;IAccessibilityDelegate, &amp;__uuidof(IAccessibilityDelegate)&gt;&gt; IAccessibilityDelegatePtr;
</span><span class="cx"> typedef _com_ptr_t&lt;_com_IIID&lt;IWebInspector, &amp;__uuidof(IWebInspector)&gt;&gt; IWebInspectorPtr;
</span><ins>+typedef _com_ptr_t&lt;_com_IIID&lt;IWebCoreStatistics, &amp;__uuidof(IWebCoreStatistics)&gt;&gt; IWebCoreStatisticsPtr;
+typedef _com_ptr_t&lt;_com_IIID&lt;IWebCache, &amp;__uuidof(IWebCache)&gt;&gt; IWebCachePtr;
</ins><span class="cx"> 
</span><del>-class WinLauncher
-{
</del><ins>+class WinLauncher {
</ins><span class="cx"> public:
</span><span class="cx">     WinLauncher(HWND mainWnd, HWND urlBarWnd, bool useLayeredWebView = false);
</span><span class="cx"> 
</span><span class="lines">@@ -48,7 +49,7 @@
</span><span class="cx"> 
</span><span class="cx">     HRESULT loadURL(const BSTR&amp; passedURL);
</span><span class="cx"> 
</span><del>-    void showLastVisitedSites(IWebView&amp; webView);
</del><ins>+    void showLastVisitedSites(IWebView&amp;);
</ins><span class="cx">     void launchInspector();
</span><span class="cx">     void navigateForwardOrBackward(HWND hWnd, UINT menuID);
</span><span class="cx">     void navigateToHistory(HWND hWnd, UINT menuID);
</span><span class="lines">@@ -62,6 +63,8 @@
</span><span class="cx">     IWebPreferencesPtr standardPreferences() { return m_standardPreferences;  }
</span><span class="cx">     IWebPreferencesPrivatePtr privatePreferences() { return m_prefsPrivate; }
</span><span class="cx">     IWebFramePtr mainFrame();
</span><ins>+    IWebCoreStatisticsPtr statistics() { return m_statistics; }
+    IWebCachePtr webCache() { return m_webCache;  }
</ins><span class="cx"> 
</span><span class="cx">     bool hasWebView() const { return !!m_webView; }
</span><span class="cx">     bool usesLayeredWebView() const { return m_useLayeredWebView; }
</span><span class="lines">@@ -83,6 +86,9 @@
</span><span class="cx">     IWebUIDelegatePtr m_uiDelegate;
</span><span class="cx">     IAccessibilityDelegatePtr m_accessibilityDelegate;
</span><span class="cx"> 
</span><ins>+    IWebCoreStatisticsPtr m_statistics;
+    IWebCachePtr m_webCache;
+
</ins><span class="cx">     HWND m_hMainWnd;
</span><span class="cx">     HWND m_hURLBarWnd;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkToolsWinLauncherWinLaunchervcxprojWinLauncherLibrc"></a>
<div class="modfile"><h4>Modified: trunk/Tools/WinLauncher/WinLauncher.vcxproj/WinLauncherLib.rc (170482 => 170483)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WinLauncher/WinLauncher.vcxproj/WinLauncherLib.rc        2014-06-26 17:01:13 UTC (rev 170482)
+++ trunk/Tools/WinLauncher/WinLauncher.vcxproj/WinLauncherLib.rc        2014-06-26 17:22:00 UTC (rev 170483)
</span><span class="lines">@@ -1,170 +1,279 @@
</span><del>-// Microsoft Visual C++ generated resource script.
-//
-#include &quot;WinLauncherLibResource.h&quot;
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#define APSTUDIO_HIDDEN_SYMBOLS
-#include &quot;windows.h&quot;
-#undef APSTUDIO_HIDDEN_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Icon
-//
-
-// Icon with lowest ID value placed first to ensure application icon
-// remains consistent on all systems.
-IDI_WINLAUNCHER         ICON                    &quot;WinLauncher.ico&quot;
-IDI_SMALL               ICON                    &quot;small.ico&quot;
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Menu
-//
-
-IDC_WINLAUNCHER MENU 
-BEGIN
-    POPUP &quot;&amp;File&quot;
-    BEGIN
-        MENUITEM &quot;&amp;Print\tCtrl-P&quot;,              IDM_PRINT
-        MENUITEM &quot;E&amp;xit&quot;,                       IDM_EXIT
-    END
-    POPUP &quot;&amp;History&quot;
-    BEGIN
-        MENUITEM &quot;Back&quot;,                        IDM_HISTORY_BACKWARD
-        MENUITEM &quot;Forward&quot;,                     IDM_HISTORY_FORWARD
-        MENUITEM SEPARATOR
-        MENUITEM &quot;Unused History 0&quot;,            IDM_HISTORY_LINK0
-        MENUITEM &quot;Unused History 1&quot;,            IDM_HISTORY_LINK1
-        MENUITEM &quot;Unused History 2&quot;,            IDM_HISTORY_LINK2
-        MENUITEM &quot;Unused History 3&quot;,            IDM_HISTORY_LINK3
-        MENUITEM &quot;Unused History 4&quot;,            IDM_HISTORY_LINK4
-        MENUITEM &quot;Unused History 5&quot;,            IDM_HISTORY_LINK5
-        MENUITEM &quot;Unused History 6&quot;,            IDM_HISTORY_LINK6
-        MENUITEM &quot;Unused History 7&quot;,            IDM_HISTORY_LINK7
-        MENUITEM &quot;Unused History 8&quot;,            IDM_HISTORY_LINK8
-        MENUITEM &quot;Unused History 9&quot;,            IDM_HISTORY_LINK9
-    END
-    POPUP &quot;D&amp;evelop&quot;
-    BEGIN
-        MENUITEM &quot;Show Web Inspector&quot;,          IDM_WEB_INSPECTOR
-        MENUITEM SEPARATOR
-        MENUITEM &quot;Disable Images&quot;,              IDM_DISABLE_IMAGES
-        MENUITEM &quot;Disable Styles&quot;,              IDM_DISABLE_STYLES
-        MENUITEM &quot;Disable JavaScript&quot;,          IDM_DISABLE_JAVASCRIPT
-        MENUITEM &quot;Disable Local File Restrictions&quot;, IDM_DISABLE_LOCAL_FILE_RESTRICTIONS
-    END
-    POPUP &quot;&amp;Help&quot;
-    BEGIN
-        MENUITEM &quot;&amp;About ...&quot;,                  IDM_ABOUT
-    END
-    POPUP &quot;&amp;Debug&quot;
-    BEGIN
-        MENUITEM &quot;Use AVFoundation&quot;,            IDM_AVFOUNDATION, CHECKED
-        MENUITEM &quot;Use Accelerated Compositing&quot;, IDM_ACC_COMPOSITING, CHECKED
-        MENUITEM &quot;Enable WebKit Full Screen&quot;,   IDM_WK_FULLSCREEN, CHECKED
-        MENUITEM SEPARATOR
-        MENUITEM &quot;Show Compositing Borders&quot;,    IDM_COMPOSITING_BORDERS
-    END
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Accelerator
-//
-
-IDC_WINLAUNCHER ACCELERATORS 
-BEGIN
-    &quot;?&quot;,            IDM_ABOUT,              ASCII,  ALT
-    &quot;/&quot;,            IDM_ABOUT,              ASCII,  ALT
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_ABOUTBOX DIALOGEX 22, 17, 230, 75
-STYLE DS_SETFONT | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
-CAPTION &quot;About&quot;
-FONT 8, &quot;System&quot;, 0, 0, 0x0
-BEGIN
-    ICON            IDI_WINLAUNCHER,IDC_MYICON,14,9,20,20
-    LTEXT           &quot;WinLauncher Version 1.2&quot;,IDC_STATIC,49,10,119,8,SS_NOPREFIX
-    LTEXT           &quot;Copyright (C) 2009&quot;,IDC_STATIC,49,20,119,8
-    DEFPUSHBUTTON   &quot;OK&quot;,IDOK,195,6,30,11,WS_GROUP
-END
-
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE 
-BEGIN
-    &quot;WinLauncherLibResource.h\0&quot;
-END
-
-2 TEXTINCLUDE 
-BEGIN
-    &quot;#define APSTUDIO_HIDDEN_SYMBOLS\r\n&quot;
-    &quot;#include &quot;&quot;windows.h&quot;&quot;\r\n&quot;
-    &quot;#undef APSTUDIO_HIDDEN_SYMBOLS\r\n&quot;
-    &quot;\0&quot;
-END
-
-3 TEXTINCLUDE 
-BEGIN
-    &quot;\r\n&quot;
-    &quot;\0&quot;
-END
-
-#endif    // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// String Table
-//
-
-STRINGTABLE 
-BEGIN
-    IDS_APP_TITLE           &quot;WinLauncher&quot;
-    IDC_WINLAUNCHER         &quot;WINLAUNCHER&quot;
-END
-
-#endif    // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif    // not APSTUDIO_INVOKED
-
</del><ins>+// Microsoft Visual C++ generated resource script.
+//
+#include &quot;WinLauncherLibResource.h&quot;
+
+#define APSTUDIO_READONLY_SYMBOLS
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 2 resource.
+//
+#define APSTUDIO_HIDDEN_SYMBOLS
+#include &quot;windows.h&quot;
+#undef APSTUDIO_HIDDEN_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+#undef APSTUDIO_READONLY_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+// English (United States) resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
+LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
+#pragma code_page(1252)
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Icon
+//
+
+// Icon with lowest ID value placed first to ensure application icon
+// remains consistent on all systems.
+IDI_WINLAUNCHER         ICON                    &quot;WinLauncher.ico&quot;
+IDI_SMALL               ICON                    &quot;small.ico&quot;
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Menu
+//
+
+IDC_WINLAUNCHER MENU
+BEGIN
+    POPUP &quot;&amp;File&quot;
+    BEGIN
+        MENUITEM &quot;&amp;Print\tCtrl-P&quot;,              IDM_PRINT
+        MENUITEM &quot;E&amp;xit&quot;,                       IDM_EXIT
+    END
+    POPUP &quot;&amp;History&quot;
+    BEGIN
+        MENUITEM &quot;Back&quot;,                        IDM_HISTORY_BACKWARD
+        MENUITEM &quot;Forward&quot;,                     IDM_HISTORY_FORWARD
+        MENUITEM SEPARATOR
+        MENUITEM &quot;Unused History 0&quot;,            IDM_HISTORY_LINK0
+        MENUITEM &quot;Unused History 1&quot;,            IDM_HISTORY_LINK1
+        MENUITEM &quot;Unused History 2&quot;,            IDM_HISTORY_LINK2
+        MENUITEM &quot;Unused History 3&quot;,            IDM_HISTORY_LINK3
+        MENUITEM &quot;Unused History 4&quot;,            IDM_HISTORY_LINK4
+        MENUITEM &quot;Unused History 5&quot;,            IDM_HISTORY_LINK5
+        MENUITEM &quot;Unused History 6&quot;,            IDM_HISTORY_LINK6
+        MENUITEM &quot;Unused History 7&quot;,            IDM_HISTORY_LINK7
+        MENUITEM &quot;Unused History 8&quot;,            IDM_HISTORY_LINK8
+        MENUITEM &quot;Unused History 9&quot;,            IDM_HISTORY_LINK9
+    END
+    POPUP &quot;D&amp;evelop&quot;
+    BEGIN
+        MENUITEM &quot;Show Web Inspector&quot;,          IDM_WEB_INSPECTOR
+        MENUITEM SEPARATOR
+        MENUITEM &quot;Disable Images&quot;,              IDM_DISABLE_IMAGES
+        MENUITEM &quot;Disable Styles&quot;,              IDM_DISABLE_STYLES
+        MENUITEM &quot;Disable JavaScript&quot;,          IDM_DISABLE_JAVASCRIPT
+        MENUITEM &quot;Disable Local File Restrictions&quot;, IDM_DISABLE_LOCAL_FILE_RESTRICTIONS
+    END
+    POPUP &quot;&amp;Help&quot;
+    BEGIN
+        MENUITEM &quot;&amp;About ...&quot;,                  IDM_ABOUT
+    END
+    POPUP &quot;&amp;Debug&quot;
+    BEGIN
+        MENUITEM &quot;Use AVFoundation&quot;,            IDM_AVFOUNDATION, CHECKED
+        MENUITEM &quot;Use Accelerated Compositing&quot;, IDM_ACC_COMPOSITING, CHECKED
+        MENUITEM &quot;Enable WebKit Full Screen&quot;,   IDM_WK_FULLSCREEN, CHECKED
+        MENUITEM SEPARATOR
+        MENUITEM &quot;Show Compositing Borders&quot;,    IDM_COMPOSITING_BORDERS
+        MENUITEM SEPARATOR
+        MENUITEM &quot;Show Caches Window&quot;,          IDM_CACHES
+    END
+END
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Accelerator
+//
+
+IDC_WINLAUNCHER ACCELERATORS
+BEGIN
+    &quot;?&quot;,            IDM_ABOUT,              ASCII,  ALT
+    &quot;/&quot;,            IDM_ABOUT,              ASCII,  ALT
+END
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Dialog
+//
+
+IDD_ABOUTBOX DIALOGEX 22, 17, 230, 75
+STYLE DS_SETFONT | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
+CAPTION &quot;About&quot;
+FONT 8, &quot;System&quot;, 0, 0, 0x0
+BEGIN
+    ICON            IDI_WINLAUNCHER,IDC_MYICON,14,9,20,20
+    LTEXT           &quot;WinLauncher Version 1.3&quot;,IDC_STATIC,49,10,119,8,SS_NOPREFIX
+    LTEXT           &quot;Copyright (C) 2014&quot;,IDC_STATIC,49,20,119,8
+    DEFPUSHBUTTON   &quot;OK&quot;,IDOK,195,6,30,11,WS_GROUP
+END
+
+IDD_CACHES DIALOGEX 0, 0, 401, 456
+STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION &quot;Dialog&quot;
+FONT 8, &quot;MS Shell Dlg&quot;, 400, 0, 0x1
+BEGIN
+    DEFPUSHBUTTON   &quot;OK&quot;,IDOK,287,435,50,14
+    PUSHBUTTON      &quot;Cancel&quot;,IDCANCEL,344,435,50,14
+    GROUPBOX        &quot;FastMalloc&quot;,IDC_STATIC,208,14,186,67
+    GROUPBOX        &quot;WebCore Cache&quot;,IDC_STATIC,17,83,376,105
+    GROUPBOX        &quot;JavaScript Heap&quot;,IDC_STATIC,18,193,376,168
+    GROUPBOX        &quot;Site Icon Database&quot;,IDC_STATIC,18,366,142,65
+    GROUPBOX        &quot;Font and Glyph Caches&quot;,IDC_STATIC,168,366,226,66
+    GROUPBOX        &quot;CFURLCache&quot;,IDC_STATIC,7,14,197,67
+    PUSHBUTTON      &quot;Empty URLCache&quot;,IDC_EMPTY_URL_CACHE,131,63,69,14,WS_DISABLED
+    PUSHBUTTON      &quot;Return Free Memory&quot;,IDC_RETURN_FREE_MEMORY,308,63,76,14,WS_DISABLED
+    PUSHBUTTON      &quot;Empty WebCore Cache&quot;,IDC_EMPTY_WEBCORE_CACHE,21,170,83,14,WS_DISABLED
+    CONTROL         &quot;Disable WebCore Cache&quot;,IDC_CHECK1,&quot;Button&quot;,BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,119,172,93,10
+    PUSHBUTTON      &quot;Garbage Collect JavaScript Objects&quot;,IDC_GC_JSC,253,343,135,14,WS_DISABLED
+    RTEXT           &quot;Reserved VM&quot;,IDC_STATIC,212,26,67,9
+    RTEXT           &quot;0&quot;,IDC_RESERVED_VM,290,26,94,8
+    RTEXT           &quot;Committed VM&quot;,IDC_STATIC,211,39,67,8
+    RTEXT           &quot;0&quot;,IDC_COMMITTED_VM,290,39,94,8
+    RTEXT           &quot;Free List Bytes&quot;,IDC_STATIC,211,52,67,8
+    RTEXT           &quot;0&quot;,IDC_FREE_LIST_BYTES,290,52,94,8
+    RTEXT           &quot;Images&quot;,IDC_STATIC,37,106,24,8
+    RTEXT           &quot;CSS&quot;,IDC_STATIC,47,116,14,8
+    RTEXT           &quot;XSL&quot;,IDC_STATIC,49,126,12,8
+    RTEXT           &quot;JavaScript&quot;,IDC_STATIC,27,135,34,8
+    RTEXT           &quot;Total&quot;,IDC_STATIC,43,146,17,8
+    LTEXT           &quot;Objects&quot;,IDC_STATIC,111,96,26,8
+    LTEXT           &quot;Bytes&quot;,IDC_STATIC,175,96,19,8
+    LTEXT           &quot;Live&quot;,IDC_STATIC,232,96,14,8
+    LTEXT           &quot;Decoded&quot;,IDC_STATIC,284,96,29,8
+    LTEXT           &quot;Purgeable&quot;,IDC_STATIC,351,96,33,8
+    RTEXT           &quot;0&quot;,IDC_IMAGES_OBJECT_COUNT,100,106,32,8
+    RTEXT           &quot;0&quot;,IDC_CSS_OBJECT_COUNT,100,116,32,8
+    RTEXT           &quot;0&quot;,IDC_XSL_OBJECT_COUNT,100,126,32,8
+    RTEXT           &quot;0&quot;,IDC_JSC_OBJECT_COUNT,100,135,32,8
+    RTEXT           &quot;0&quot;,IDC_TOTAL_OBJECT_COUNT,100,146,32,8
+    RTEXT           &quot;0&quot;,IDC_IMAGES_BYTES,162,106,32,8
+    RTEXT           &quot;0&quot;,IDC_CSS_BYTES,162,116,32,8
+    RTEXT           &quot;0&quot;,IDC_XSL_BYTES,162,126,32,8
+    RTEXT           &quot;0&quot;,IDC_JSC_BYTES,162,135,32,8
+    RTEXT           &quot;0&quot;,IDC_TOTAL_BYTES,162,146,32,8
+    RTEXT           &quot;0&quot;,IDC_IMAGES_LIVE_COUNT,221,106,32,8
+    RTEXT           &quot;0&quot;,IDC_CSS_LIVE_COUNT,221,116,32,8
+    RTEXT           &quot;0&quot;,IDC_XSL_LIVE_COUNT,221,126,32,8
+    RTEXT           &quot;0&quot;,IDC_JSC_LIVE_COUNT,221,135,32,8
+    RTEXT           &quot;0&quot;,IDC_TOTAL_LIVE_COUNT,221,146,32,8
+    RTEXT           &quot;0&quot;,IDC_IMAGES_DECODED_COUNT,284,106,32,8
+    RTEXT           &quot;0&quot;,IDC_CSS_DECODED_COUNT,284,116,32,8
+    RTEXT           &quot;0&quot;,IDC_XSL_DECODED_COUNT,284,126,32,8
+    RTEXT           &quot;0&quot;,IDC_JSC_DECODED_COUNT,284,135,32,8
+    RTEXT           &quot;0&quot;,IDC_TOTAL_DECODED,284,146,32,8
+    RTEXT           &quot;0&quot;,IDC_IMAGES_PURGEABLE_COUNT,354,106,32,8
+    RTEXT           &quot;0&quot;,IDC_CSS_PURGEABLE_COUNT,354,116,32,8
+    RTEXT           &quot;0&quot;,IDC_XSL_PURGEABLE_COUNT,354,126,32,8
+    RTEXT           &quot;0&quot;,IDC_JSC_PURGEABLE_COUNT,354,135,32,8
+    RTEXT           &quot;0&quot;,IDC_TOTAL_PURGEABLE,354,146,32,8
+    RTEXT           &quot;Total Objects&quot;,IDC_STATIC,63,207,44,8
+    RTEXT           &quot;Global Objects&quot;,IDC_STATIC,56,217,51,8
+    RTEXT           &quot;Protected Objects&quot;,IDC_STATIC,48,227,59,8
+    RTEXT           &quot;0&quot;,IDC_TOTAL_JSC_HEAP_OBJECTS,127,207,56,8
+    RTEXT           &quot;0&quot;,IDC_GLOBAL_JSC_HEAP_OBJECTS,127,217,56,8
+    RTEXT           &quot;0&quot;,IDC_PROTECTED_JSC_HEAP_OBJECTS,127,227,56,8
+    RTEXT           &quot;Size&quot;,IDC_STATIC56,223,207,14,8
+    RTEXT           &quot;Free&quot;,IDC_STATIC57,222,217,16,8
+    RTEXT           &quot;0&quot;,IDC_JSC_HEAP_SIZE,270,207,56,8
+    RTEXT           &quot;0&quot;,IDC_JSC_HEAP_FREE,270,217,56,8
+    PUSHBUTTON      &quot;Purge Inactive Font Data&quot;,IDC_BUTTON5,293,415,95,14,WS_DISABLED
+    LTEXT           &quot;Total Font Data Objects&quot;,IDC_STATIC,208,379,78,8
+    LTEXT           &quot;Inactive Font Data Objects&quot;,IDC_STATIC,198,390,88,8
+    LTEXT           &quot;Glyph Pages&quot;,IDC_STATIC,246,402,40,8
+    RTEXT           &quot;0&quot;,IDC_TOTAL_FONT_OBJECTS,329,379,56,8
+    RTEXT           &quot;0&quot;,IDC_INACTIVE_FONT_OBJECTS,329,390,56,8
+    RTEXT           &quot;0&quot;,IDC_GLYPH_PAGES,329,402,56,8
+    LTEXT           &quot;Page URL Mappings&quot;,IDC_STATIC,33,380,64,8
+    LTEXT           &quot;Retained Page URLs&quot;,IDC_STATIC,31,390,66,8
+    LTEXT           &quot;Site Icon Records&quot;,IDC_STATIC,40,400,57,8
+    LTEXT           &quot;Site Icons with Data&quot;,IDC_STATIC,32,410,65,8
+    RTEXT           &quot;0&quot;,IDC_PAGE_URL_MAPPINGS,101,380,52,8
+    RTEXT           &quot;0&quot;,IDC_RETAINED_PAGE_URLS,101,390,52,8
+    RTEXT           &quot;0&quot;,IDC_SITE_ICON_RECORDS,101,400,52,8
+    RTEXT           &quot;0&quot;,IDC_SITE_ICONS_WITH_DATA,101,410,52,8
+END
+
+
+#ifdef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// TEXTINCLUDE
+//
+
+1 TEXTINCLUDE 
+BEGIN
+    &quot;WinLauncherLibResource.h\0&quot;
+END
+
+2 TEXTINCLUDE 
+BEGIN
+    &quot;#define APSTUDIO_HIDDEN_SYMBOLS\r\n&quot;
+    &quot;#include &quot;&quot;windows.h&quot;&quot;\r\n&quot;
+    &quot;#undef APSTUDIO_HIDDEN_SYMBOLS\r\n&quot;
+    &quot;\0&quot;
+END
+
+3 TEXTINCLUDE 
+BEGIN
+    &quot;\r\n&quot;
+    &quot;\0&quot;
+END
+
+#endif    // APSTUDIO_INVOKED
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// DESIGNINFO
+//
+
+#ifdef APSTUDIO_INVOKED
+GUIDELINES DESIGNINFO
+BEGIN
+    IDD_ABOUTBOX, DIALOG
+    BEGIN
+    END
+
+    IDD_CACHES, DIALOG
+    BEGIN
+        LEFTMARGIN, 7
+        RIGHTMARGIN, 394
+        TOPMARGIN, 7
+        BOTTOMMARGIN, 449
+    END
+END
+#endif    // APSTUDIO_INVOKED
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// String Table
+//
+
+STRINGTABLE
+BEGIN
+    IDS_APP_TITLE           &quot;WinLauncher&quot;
+    IDC_WINLAUNCHER         &quot;WINLAUNCHER&quot;
+END
+
+#endif    // English (United States) resources
+/////////////////////////////////////////////////////////////////////////////
+
+
+
+#ifndef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 3 resource.
+//
+
+
+/////////////////////////////////////////////////////////////////////////////
+#endif    // not APSTUDIO_INVOKED
+
</ins></span></pre></div>
<a id="trunkToolsWinLauncherWinLaunchervcxprojWinLauncherLibCommonprops"></a>
<div class="modfile"><h4>Modified: trunk/Tools/WinLauncher/WinLauncher.vcxproj/WinLauncherLibCommon.props (170482 => 170483)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WinLauncher/WinLauncher.vcxproj/WinLauncherLibCommon.props        2014-06-26 17:01:13 UTC (rev 170482)
+++ trunk/Tools/WinLauncher/WinLauncher.vcxproj/WinLauncherLibCommon.props        2014-06-26 17:22:00 UTC (rev 170483)
</span><span class="lines">@@ -10,7 +10,7 @@
</span><span class="cx">       &lt;PrecompiledHeaderFile&gt;StdAfx.h&lt;/PrecompiledHeaderFile&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><span class="cx">     &lt;Link&gt;
</span><del>-      &lt;AdditionalDependencies&gt;Wininet.lib;DbgHelp.lib;comdlg32.lib;comsuppw.lib;gdi32.lib;comctl32.lib;shlwapi.lib;user32.lib;ole32.lib;oleaut32.lib;WebKitGUID$(DebugSuffix).lib;WebKit$(DebugSuffix).lib;%(AdditionalDependencies)&lt;/AdditionalDependencies&gt;
</del><ins>+      &lt;AdditionalDependencies&gt;Wininet.lib;DbgHelp.lib;comdlg32.lib;comsuppw.lib;gdi32.lib;comctl32.lib;shlwapi.lib;user32.lib;ole32.lib;oleaut32.lib;WebKitGUID$(DebugSuffix).lib;WebKit$(DebugSuffix).lib;WTF$(DebugSuffix).lib;%(AdditionalDependencies)&lt;/AdditionalDependencies&gt;
</ins><span class="cx">     &lt;/Link&gt;
</span><span class="cx">   &lt;/ItemDefinitionGroup&gt;
</span><span class="cx"> &lt;/Project&gt;
</span><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkToolsWinLauncherWinLaunchervcxprojWinLauncherLibResourceh"></a>
<div class="modfile"><h4>Modified: trunk/Tools/WinLauncher/WinLauncher.vcxproj/WinLauncherLibResource.h (170482 => 170483)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WinLauncher/WinLauncher.vcxproj/WinLauncherLibResource.h        2014-06-26 17:01:13 UTC (rev 170482)
+++ trunk/Tools/WinLauncher/WinLauncher.vcxproj/WinLauncherLibResource.h        2014-06-26 17:22:00 UTC (rev 170483)
</span><span class="lines">@@ -1,6 +1,6 @@
</span><del>-//{{NO_DEPENDENCIES}}
</del><ins>+// {{NO_DEPENDENCIES}}
</ins><span class="cx"> // Microsoft Visual C++ generated include file.
</span><del>-// Used by WinLauncher.rc
</del><ins>+// Used by WinLauncherLib.rc
</ins><span class="cx"> //
</span><span class="cx"> #define IDC_MYICON                      2
</span><span class="cx"> #define IDD_WINLAUNCHER_DIALOG          102
</span><span class="lines">@@ -16,11 +16,14 @@
</span><span class="cx"> #define IDM_ACC_COMPOSITING             111
</span><span class="cx"> #define IDM_WK_FULLSCREEN               112
</span><span class="cx"> #define IDM_COMPOSITING_BORDERS         113
</span><ins>+#define IDM_CACHES                      114
</ins><span class="cx"> #define IDM_WEB_INSPECTOR               120
</span><span class="cx"> #define IDM_DISABLE_IMAGES              121
</span><span class="cx"> #define IDM_DISABLE_STYLES              122
</span><span class="cx"> #define IDM_DISABLE_JAVASCRIPT          123
</span><span class="cx"> #define IDM_DISABLE_LOCAL_FILE_RESTRICTIONS 124
</span><ins>+#define IDR_MAINFRAME                   128
+#define IDD_CACHES                      129
</ins><span class="cx"> #define IDM_HISTORY_BACKWARD            130
</span><span class="cx"> #define IDM_HISTORY_FORWARD             131
</span><span class="cx"> #define IDM_HISTORY_LINK0               150
</span><span class="lines">@@ -33,8 +36,57 @@
</span><span class="cx"> #define IDM_HISTORY_LINK7               157
</span><span class="cx"> #define IDM_HISTORY_LINK8               158
</span><span class="cx"> #define IDM_HISTORY_LINK9               159
</span><del>-
-#define IDR_MAINFRAME                   128
</del><ins>+#define IDT_UPDATE_STATS                160
+#define IDC_EMPTY_URL_CACHE             1000
+#define IDC_RETURN_FREE_MEMORY          1001
+#define IDC_EMPTY_WEBCORE_CACHE         1002
+#define IDC_CHECK1                      1003
+#define IDC_HEAP_OBJECTS                1005
+#define IDC_GC_JSC                      1006
+#define IDC_RESERVED_VM                 1007
+#define IDC_COMMITTED_VM                1008
+#define IDC_FREE_LIST_BYTES             1009
+#define IDC_IMAGES_OBJECT_COUNT         1011
+#define IDC_CSS_OBJECT_COUNT            1012
+#define IDC_XSL_OBJECT_COUNT            1013
+#define IDC_JSC_OBJECT_COUNT            1014
+#define IDC_TOTAL_OBJECT_COUNT          1015
+#define IDC_IMAGES_BYTES                1016
+#define IDC_CSS_BYTES                   1017
+#define IDC_XSL_BYTES                   1018
+#define IDC_JSC_BYTES                   1019
+#define IDC_TOTAL_BYTES                 1020
+#define IDC_IMAGES_LIVE_COUNT           1021
+#define IDC_CSS_LIVE_COUNT              1022
+#define IDC_XSL_LIVE_COUNT              1023
+#define IDC_JSC_LIVE_COUNT              1024
+#define IDC_TOTAL_LIVE_COUNT            1025
+#define IDC_IMAGES_DECODED_COUNT        1026
+#define IDC_CSS_DECODED_COUNT           1027
+#define IDC_XSL_DECODED_COUNT           1028
+#define IDC_JSC_DECODED_COUNT           1029
+#define IDC_TOTAL_DECODED               1030
+#define IDC_IMAGES_PURGEABLE_COUNT      1031
+#define IDC_CSS_PURGEABLE_COUNT         1032
+#define IDC_XSL_PURGEABLE_COUNT         1033
+#define IDC_JSC_PURGEABLE_COUNT         1034
+#define IDC_TOTAL_PURGEABLE             1035
+#define IDC_TOTAL_JSC_HEAP_OBJECTS      1036
+#define IDC_GLOBAL_JSC_HEAP_OBJECTS     1037
+#define IDC_PROTECTED_JSC_HEAP_OBJECTS  1038
+#define IDC_STATIC56                    1039
+#define IDC_STATIC57                    1040
+#define IDC_JSC_HEAP_SIZE               1041
+#define IDC_JSC_HEAP_FREE               1042
+#define IDC_BUTTON5                     1043
+#define IDC_TOTAL_FONT_OBJECTS          1044
+#define IDC_INACTIVE_FONT_OBJECTS       1045
+#define IDC_GLYPH_PAGES                 1046
+#define IDC_PAGE_URL_MAPPINGS           1047
+#define IDC_RETAINED_PAGE_URLS          1048
+#define IDC_SITE_ICON_RECORDS           1049
+#define IDC_TOTAL_FONT_OBJECTS5         1050
+#define IDC_SITE_ICONS_WITH_DATA        1050
</ins><span class="cx"> #define IDC_STATIC                      -1
</span><span class="cx"> 
</span><span class="cx"> // Next default values for new objects
</span><span class="lines">@@ -42,9 +94,9 @@
</span><span class="cx"> #ifdef APSTUDIO_INVOKED
</span><span class="cx"> #ifndef APSTUDIO_READONLY_SYMBOLS
</span><span class="cx"> #define _APS_NO_MFC                     1
</span><del>-#define _APS_NEXT_RESOURCE_VALUE        129
</del><ins>+#define _APS_NEXT_RESOURCE_VALUE        130
</ins><span class="cx"> #define _APS_NEXT_COMMAND_VALUE         32771
</span><del>-#define _APS_NEXT_CONTROL_VALUE         1000
</del><ins>+#define _APS_NEXT_CONTROL_VALUE         1044
</ins><span class="cx"> #define _APS_NEXT_SYMED_VALUE           110
</span><span class="cx"> #endif
</span><span class="cx"> #endif
</span></span></pre>
</div>
</div>

</body>
</html>