<!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>[81788] trunk/Source/WebKit2</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/81788">81788</a></dd>
<dt>Author</dt> <dd>bweinstein@apple.com</dd>
<dt>Date</dt> <dd>2011-03-23 11:17:47 -0700 (Wed, 23 Mar 2011)</dd>
</dl>

<h3>Log Message</h3>
<pre>WebKit2: Need API to manage the Media Cache
https://bugs.webkit.org/show_bug.cgi?id=56878
<rdar://problem/9082503>

Reviewed by Darin Adler.

Project File Fun:
* GNUmakefile.am:
* WebKit2.pri:
* WebKit2.pro:
* WebKit2.xcodeproj/project.pbxproj:
* win/WebKit2.vcproj:
* win/WebKit2Common.vsprops:
* win/WebKit2Generated.make:
        
Derived Sources and API fun:
* DerivedSources.make:
* DerivedSources.pro:
* Platform/CoreIPC/MessageID.h:
* Shared/API/c/WKBase.h:
* Shared/APIObject.h:
* UIProcess/API/C/WKAPICast.h:
        
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::didReceiveMessage): Add a case for MediaCache messages.
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::didReceiveMessage): Ditto.
        
* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext): Initialize the WebMediaCacheManagerProxy member variable.
(WebKit::WebContext::~WebContext): Invalidate the WebMediaCacheManagerProxy.
(WebKit::WebContext::disconnectProcess): Ditto.
(WebKit::WebContext::didReceiveMessage): Add a case for MediaCache messages.
* UIProcess/WebContext.h:
(WebKit::WebContext::mediaCacheManagerProxy):

* UIProcess/API/C/WKContext.cpp:
(WKContextGetMediaCacheManager): Returns the context's WebMediaCacheManager.
* UIProcess/API/C/WKContext.h:

* UIProcess/API/C/WKMediaCacheManager.cpp: Added.
(WKMediaCacheManagerGetTypeID): Returns the WebMediaCacheManagerProxy type.
(WKMediaCacheManagerGetHostnamesWithMediaCache): Calls down to the WebMediaCacheManagerProxy.
(WKMediaCacheManagerClearCacheForHostname): Ditto.
(WKMediaCacheManagerClearCacheForAllHostnames): Ditto.
* UIProcess/API/C/WKMediaCacheManager.h: Added.

* UIProcess/WebMediaCacheManagerProxy.cpp: Added.
(WebKit::WebMediaCacheManagerProxy::create):
(WebKit::WebMediaCacheManagerProxy::WebMediaCacheManagerProxy):
(WebKit::WebMediaCacheManagerProxy::~WebMediaCacheManagerProxy):
(WebKit::WebMediaCacheManagerProxy::invalidate):
(WebKit::WebMediaCacheManagerProxy::didReceiveMessage):
(WebKit::WebMediaCacheManagerProxy::getHostnamesWithMediaCache): Call through to the WebProcess.
(WebKit::WebMediaCacheManagerProxy::didGetHostnamesWithMediaCache): Process the WebProcess response,
    and call the callback.
(WebKit::WebMediaCacheManagerProxy::clearCacheForHostname): Call through to the WebProcess.
(WebKit::WebMediaCacheManagerProxy::clearCacheForAllHostnames): Call through to the WebProcess.
* UIProcess/WebMediaCacheManagerProxy.h: Added.
(WebKit::WebMediaCacheManagerProxy::clearContext):
(WebKit::WebMediaCacheManagerProxy::type):
* UIProcess/WebMediaCacheManagerProxy.messages.in: Added.

* WebProcess/MediaCache: Added.
* WebProcess/MediaCache/WebMediaCacheManager.cpp: Added.
(WebKit::WebMediaCacheManager::shared):
(WebKit::WebMediaCacheManager::WebMediaCacheManager):
(WebKit::WebMediaCacheManager::didReceiveMessage):
(WebKit::WebMediaCacheManager::getHostnamesWithMediaCache): Added a FIXME to call through to WebCore.
(WebKit::WebMediaCacheManager::clearCacheForHostname): Ditto.
(WebKit::WebMediaCacheManager::clearCacheForAllHostnames): Ditto.
* WebProcess/MediaCache/WebMediaCacheManager.h: Added.
* WebProcess/MediaCache/WebMediaCacheManager.messages.in: Added.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2DerivedSourcesmake">trunk/Source/WebKit2/DerivedSources.make</a></li>
<li><a href="#trunkSourceWebKit2DerivedSourcespro">trunk/Source/WebKit2/DerivedSources.pro</a></li>
<li><a href="#trunkSourceWebKit2GNUmakefileam">trunk/Source/WebKit2/GNUmakefile.am</a></li>
<li><a href="#trunkSourceWebKit2PlatformCoreIPCMessageIDh">trunk/Source/WebKit2/Platform/CoreIPC/MessageID.h</a></li>
<li><a href="#trunkSourceWebKit2SharedAPIcWKBaseh">trunk/Source/WebKit2/Shared/API/c/WKBase.h</a></li>
<li><a href="#trunkSourceWebKit2SharedAPIObjecth">trunk/Source/WebKit2/Shared/APIObject.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICWKAPICasth">trunk/Source/WebKit2/UIProcess/API/C/WKAPICast.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICWKContextcpp">trunk/Source/WebKit2/UIProcess/API/C/WKContext.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICWKContexth">trunk/Source/WebKit2/UIProcess/API/C/WKContext.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebContextcpp">trunk/Source/WebKit2/UIProcess/WebContext.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebContexth">trunk/Source/WebKit2/UIProcess/WebContext.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebProcessProxycpp">trunk/Source/WebKit2/UIProcess/WebProcessProxy.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebKit2pri">trunk/Source/WebKit2/WebKit2.pri</a></li>
<li><a href="#trunkSourceWebKit2WebKit2pro">trunk/Source/WebKit2/WebKit2.pro</a></li>
<li><a href="#trunkSourceWebKit2WebKit2xcodeprojprojectpbxproj">trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebProcesscpp">trunk/Source/WebKit2/WebProcess/WebProcess.cpp</a></li>
<li><a href="#trunkSourceWebKit2winWebKit2vcproj">trunk/Source/WebKit2/win/WebKit2.vcproj</a></li>
<li><a href="#trunkSourceWebKit2winWebKit2Commonvsprops">trunk/Source/WebKit2/win/WebKit2Common.vsprops</a></li>
<li><a href="#trunkSourceWebKit2winWebKit2Generatedmake">trunk/Source/WebKit2/win/WebKit2Generated.make</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#trunkSourceWebKit2UIProcessAPICWKMediaCacheManagercpp">trunk/Source/WebKit2/UIProcess/API/C/WKMediaCacheManager.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICWKMediaCacheManagerh">trunk/Source/WebKit2/UIProcess/API/C/WKMediaCacheManager.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebMediaCacheManagerProxycpp">trunk/Source/WebKit2/UIProcess/WebMediaCacheManagerProxy.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebMediaCacheManagerProxyh">trunk/Source/WebKit2/UIProcess/WebMediaCacheManagerProxy.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebMediaCacheManagerProxymessagesin">trunk/Source/WebKit2/UIProcess/WebMediaCacheManagerProxy.messages.in</a></li>
<li>trunk/Source/WebKit2/WebProcess/MediaCache/</li>
<li><a href="#trunkSourceWebKit2WebProcessMediaCacheWebMediaCacheManagercpp">trunk/Source/WebKit2/WebProcess/MediaCache/WebMediaCacheManager.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessMediaCacheWebMediaCacheManagerh">trunk/Source/WebKit2/WebProcess/MediaCache/WebMediaCacheManager.h</a></li>
<li><a href="#trunkSourceWebKit2WebProcessMediaCacheWebMediaCacheManagermessagesin">trunk/Source/WebKit2/WebProcess/MediaCache/WebMediaCacheManager.messages.in</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (81787 => 81788)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog   2011-03-23 17:58:29 UTC (rev 81787)
+++ trunk/Source/WebKit2/ChangeLog      2011-03-23 18:17:47 UTC (rev 81788)
</span><span class="lines">@@ -1,3 +1,79 @@
</span><ins>+2011-03-22  Brian Weinstein  <bweinstein@apple.com>
+
+        Reviewed by Darin Adler.
+
+        WebKit2: Need API to manage the Media Cache
+        https://bugs.webkit.org/show_bug.cgi?id=56878
+        <rdar://problem/9082503>
+
+        Project File Fun:
+        * GNUmakefile.am:
+        * WebKit2.pri:
+        * WebKit2.pro:
+        * WebKit2.xcodeproj/project.pbxproj:
+        * win/WebKit2.vcproj:
+        * win/WebKit2Common.vsprops:
+        * win/WebKit2Generated.make:
+        
+        Derived Sources and API fun:
+        * DerivedSources.make:
+        * DerivedSources.pro:
+        * Platform/CoreIPC/MessageID.h:
+        * Shared/API/c/WKBase.h:
+        * Shared/APIObject.h:
+        * UIProcess/API/C/WKAPICast.h:
+        
+        * UIProcess/WebProcessProxy.cpp:
+        (WebKit::WebProcessProxy::didReceiveMessage): Add a case for MediaCache messages.
+        * WebProcess/WebProcess.cpp:
+        (WebKit::WebProcess::didReceiveMessage): Ditto.
+        
+        * UIProcess/WebContext.cpp:
+        (WebKit::WebContext::WebContext): Initialize the WebMediaCacheManagerProxy member variable.
+        (WebKit::WebContext::~WebContext): Invalidate the WebMediaCacheManagerProxy.
+        (WebKit::WebContext::disconnectProcess): Ditto.
+        (WebKit::WebContext::didReceiveMessage): Add a case for MediaCache messages.
+        * UIProcess/WebContext.h:
+        (WebKit::WebContext::mediaCacheManagerProxy):
+
+        * UIProcess/API/C/WKContext.cpp:
+        (WKContextGetMediaCacheManager): Returns the context's WebMediaCacheManager.
+        * UIProcess/API/C/WKContext.h:
+
+        * UIProcess/API/C/WKMediaCacheManager.cpp: Added.
+        (WKMediaCacheManagerGetTypeID): Returns the WebMediaCacheManagerProxy type.
+        (WKMediaCacheManagerGetHostnamesWithMediaCache): Calls down to the WebMediaCacheManagerProxy.
+        (WKMediaCacheManagerClearCacheForHostname): Ditto.
+        (WKMediaCacheManagerClearCacheForAllHostnames): Ditto.
+        * UIProcess/API/C/WKMediaCacheManager.h: Added.
+
+        * UIProcess/WebMediaCacheManagerProxy.cpp: Added.
+        (WebKit::WebMediaCacheManagerProxy::create):
+        (WebKit::WebMediaCacheManagerProxy::WebMediaCacheManagerProxy):
+        (WebKit::WebMediaCacheManagerProxy::~WebMediaCacheManagerProxy):
+        (WebKit::WebMediaCacheManagerProxy::invalidate):
+        (WebKit::WebMediaCacheManagerProxy::didReceiveMessage):
+        (WebKit::WebMediaCacheManagerProxy::getHostnamesWithMediaCache): Call through to the WebProcess.
+        (WebKit::WebMediaCacheManagerProxy::didGetHostnamesWithMediaCache): Process the WebProcess response,
+            and call the callback.
+        (WebKit::WebMediaCacheManagerProxy::clearCacheForHostname): Call through to the WebProcess.
+        (WebKit::WebMediaCacheManagerProxy::clearCacheForAllHostnames): Call through to the WebProcess.
+        * UIProcess/WebMediaCacheManagerProxy.h: Added.
+        (WebKit::WebMediaCacheManagerProxy::clearContext):
+        (WebKit::WebMediaCacheManagerProxy::type):
+        * UIProcess/WebMediaCacheManagerProxy.messages.in: Added.
+
+        * WebProcess/MediaCache: Added.
+        * WebProcess/MediaCache/WebMediaCacheManager.cpp: Added.
+        (WebKit::WebMediaCacheManager::shared):
+        (WebKit::WebMediaCacheManager::WebMediaCacheManager):
+        (WebKit::WebMediaCacheManager::didReceiveMessage):
+        (WebKit::WebMediaCacheManager::getHostnamesWithMediaCache): Added a FIXME to call through to WebCore.
+        (WebKit::WebMediaCacheManager::clearCacheForHostname): Ditto.
+        (WebKit::WebMediaCacheManager::clearCacheForAllHostnames): Ditto.
+        * WebProcess/MediaCache/WebMediaCacheManager.h: Added.
+        * WebProcess/MediaCache/WebMediaCacheManager.messages.in: Added.
+
</ins><span class="cx"> 2011-03-22  Brady Eidson  <beidson@apple.com>
</span><span class="cx"> 
</span><span class="cx">         Reviewed by Sam Weinig.
</span></span></pre></div>
<a id="trunkSourceWebKit2DerivedSourcesmake"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/DerivedSources.make (81787 => 81788)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/DerivedSources.make 2011-03-23 17:58:29 UTC (rev 81787)
+++ trunk/Source/WebKit2/DerivedSources.make    2011-03-23 18:17:47 UTC (rev 81788)
</span><span class="lines">@@ -30,6 +30,7 @@
</span><span class="cx">     $(WebKit2)/WebProcess/Geolocation \
</span><span class="cx">     $(WebKit2)/WebProcess/IconDatabase \
</span><span class="cx">     $(WebKit2)/WebProcess/KeyValueStorage \
</span><ins>+    $(WebKit2)/WebProcess/MediaCache \
</ins><span class="cx">     $(WebKit2)/WebProcess/Plugins \
</span><span class="cx">     $(WebKit2)/WebProcess/ResourceCache \
</span><span class="cx">     $(WebKit2)/WebProcess/WebCoreSupport \
</span><span class="lines">@@ -67,6 +68,8 @@
</span><span class="cx">     WebInspectorProxy \
</span><span class="cx">     WebKeyValueStorageManager \
</span><span class="cx">     WebKeyValueStorageManagerProxy \
</span><ins>+    WebMediaCacheManager \
+    WebMediaCacheManagerProxy \
</ins><span class="cx">     WebPage \
</span><span class="cx">     WebPageProxy \
</span><span class="cx">     WebProcess \
</span></span></pre></div>
<a id="trunkSourceWebKit2DerivedSourcespro"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/DerivedSources.pro (81787 => 81788)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/DerivedSources.pro  2011-03-23 17:58:29 UTC (rev 81787)
+++ trunk/Source/WebKit2/DerivedSources.pro     2011-03-23 18:17:47 UTC (rev 81788)
</span><span class="lines">@@ -82,6 +82,7 @@
</span><span class="cx">     WebProcess/Geolocation \
</span><span class="cx">     WebProcess/IconDatabase \
</span><span class="cx">     WebProcess/KeyValueStorage \
</span><ins>+    WebProcess/MemoryCache \
</ins><span class="cx">     WebProcess/Plugins \
</span><span class="cx">     WebProcess/ResourceCache \
</span><span class="cx">     WebProcess/WebCoreSupport \
</span><span class="lines">@@ -113,6 +114,8 @@
</span><span class="cx">     WebInspectorProxy.messages.in \
</span><span class="cx">     WebKeyValueStorageManager.messages.in \
</span><span class="cx">     WebKeyValueStorageManagerProxy.messages.in \
</span><ins>+    WebMediaCacheManager.messages.in \
+    WebMediaCacheManagerProxy.messages.in \
</ins><span class="cx">     WebFullScreenManager.messages.in \
</span><span class="cx">     WebFullScreenManagerProxy.messages.in \
</span><span class="cx">     WebPage/WebInspector.messages.in \
</span></span></pre></div>
<a id="trunkSourceWebKit2GNUmakefileam"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/GNUmakefile.am (81787 => 81788)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/GNUmakefile.am      2011-03-23 17:58:29 UTC (rev 81787)
+++ trunk/Source/WebKit2/GNUmakefile.am 2011-03-23 18:17:47 UTC (rev 81788)
</span><span class="lines">@@ -55,6 +55,7 @@
</span><span class="cx">  $(WebKit2)/UIProcess/API/C/WKFramePolicyListener.h \
</span><span class="cx">  $(WebKit2)/UIProcess/API/C/WKInspector.h \
</span><span class="cx">  $(WebKit2)/UIProcess/API/C/WKKeyValueStorageManager.h \
</span><ins>+       $(WebKit2)/UIProcess/API/C/WKMediaCacheManager.h \
</ins><span class="cx">   $(WebKit2)/UIProcess/API/C/WKNativeEvent.h \
</span><span class="cx">  $(WebKit2)/UIProcess/API/C/WKNavigationData.h \
</span><span class="cx">  $(WebKit2)/UIProcess/API/C/WKOpenPanelParameters.h \
</span><span class="lines">@@ -324,6 +325,8 @@
</span><span class="cx">  Source/WebKit2/UIProcess/API/C/WKInspector.h \
</span><span class="cx">  Source/WebKit2/UIProcess/API/C/WKKeyValueStorageManager.cpp \
</span><span class="cx">  Source/WebKit2/UIProcess/API/C/WKKeyValueStorageManager.h \
</span><ins>+       Source/WebKit2/UIProcess/API/C/WKMediaCacheManager.cpp \
+       Source/WebKit2/UIProcess/API/C/WKMediaCacheManager.h \
</ins><span class="cx">   Source/WebKit2/UIProcess/API/C/WKNativeEvent.h \
</span><span class="cx">  Source/WebKit2/UIProcess/API/C/WKNavigationData.cpp \
</span><span class="cx">  Source/WebKit2/UIProcess/API/C/WKNavigationData.h \
</span><span class="lines">@@ -453,6 +456,8 @@
</span><span class="cx">  Source/WebKit2/UIProcess/WebInspectorProxy.h \
</span><span class="cx">  Source/WebKit2/UIProcess/WebKeyValueStorageManagerProxy.cpp \
</span><span class="cx">  Source/WebKit2/UIProcess/WebKeyValueStorageManagerProxy.h \
</span><ins>+       Source/WebKit2/UIProcess/WebMediaCacheManagerProxy.cpp \
+       Source/WebKit2/UIProcess/WebMediaCacheManagerProxy.h \
</ins><span class="cx">   Source/WebKit2/UIProcess/WebLoaderClient.cpp \
</span><span class="cx">  Source/WebKit2/UIProcess/WebLoaderClient.h \
</span><span class="cx">  Source/WebKit2/UIProcess/WebNavigationData.cpp \
</span><span class="lines">@@ -570,6 +575,8 @@
</span><span class="cx">  Source/WebKit2/WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h \
</span><span class="cx">  Source/WebKit2/WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp \
</span><span class="cx">  Source/WebKit2/WebProcess/KeyValueStorage/WebKeyValueStorageManager.h \
</span><ins>+       Source/WebKit2/WebProcess/MediaCache/WebMediaCacheManager.cpp \
+       Source/WebKit2/WebProcess/MediaCache/WebMediaCacheManager.h \
</ins><span class="cx">   Source/WebKit2/WebProcess/Plugins/Netscape/JSNPMethod.cpp \
</span><span class="cx">  Source/WebKit2/WebProcess/Plugins/Netscape/JSNPMethod.h \
</span><span class="cx">  Source/WebKit2/WebProcess/Plugins/Netscape/JSNPObject.cpp \
</span><span class="lines">@@ -713,6 +720,7 @@
</span><span class="cx">  -I$(srcdir)/Source/WebKit2/WebProcess/InjectedBundle/gtk \
</span><span class="cx">  -I$(srcdir)/Source/WebKit2/WebProcess/KeyValueStorage \
</span><span class="cx">  -I$(srcdir)/Source/WebKit2/WebProcess/Launching \
</span><ins>+       -I$(srcdir)/Source/WebKit2/WebProcess/MediaCache \
</ins><span class="cx">   -I$(srcdir)/Source/WebKit2/WebProcess/ResourceCache \
</span><span class="cx">  -I$(srcdir)/Source/WebKit2/WebProcess/Plugins \
</span><span class="cx">  -I$(srcdir)/Source/WebKit2/WebProcess/Plugins/Netscape \
</span><span class="lines">@@ -887,6 +895,10 @@
</span><span class="cx">  DerivedSources/WebKit2/WebKeyValueStorageManagerMessages.h \
</span><span class="cx">  DerivedSources/WebKit2/WebKeyValueStorageManagerProxyMessageReceiver.cpp \
</span><span class="cx">  DerivedSources/WebKit2/WebKeyValueStorageManagerProxyMessages.h \
</span><ins>+       DerivedSources/WebKit2/WebMediaCacheManagerMessageReceiver.cpp \
+       DerivedSources/WebKit2/WebMediaCacheManagerMessages.h \
+       DerivedSources/WebKit2/WebMediaCacheManagerProxyMessageReceiver.cpp \
+       DerivedSources/WebKit2/WebMediaCacheManagerProxyMessages.h \
</ins><span class="cx">   DerivedSources/WebKit2/WebPageProxyMessageReceiver.cpp \
</span><span class="cx">  DerivedSources/WebKit2/WebPageProxyMessages.h \
</span><span class="cx">  DerivedSources/WebKit2/WebPageMessageReceiver.cpp \
</span><span class="lines">@@ -928,6 +940,7 @@
</span><span class="cx">  $(WebKit2)/WebProcess/Geolocation \
</span><span class="cx">  $(WebKit2)/WebProcess/IconDatabase \
</span><span class="cx">  $(WebKit2)/WebProcess/KeyValueStorage \
</span><ins>+       $(WebKit2)/WebProcess/MediaCache \
</ins><span class="cx">   $(WebKit2)/WebProcess/Plugins \
</span><span class="cx">  $(WebKit2)/WebProcess/ResourceCache \
</span><span class="cx">  $(WebKit2)/WebProcess/WebCoreSupport \
</span></span></pre></div>
<a id="trunkSourceWebKit2PlatformCoreIPCMessageIDh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Platform/CoreIPC/MessageID.h (81787 => 81788)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Platform/CoreIPC/MessageID.h        2011-03-23 17:58:29 UTC (rev 81787)
+++ trunk/Source/WebKit2/Platform/CoreIPC/MessageID.h   2011-03-23 18:17:47 UTC (rev 81788)
</span><span class="lines">@@ -47,6 +47,7 @@
</span><span class="cx">     MessageClassWebIconDatabaseProxy,
</span><span class="cx">     MessageClassWebInspector,
</span><span class="cx">     MessageClassWebKeyValueStorageManager,
</span><ins>+    MessageClassWebMediaCacheManager,
</ins><span class="cx">     MessageClassWebPage,
</span><span class="cx">     MessageClassWebProcess,
</span><span class="cx">     MessageClassWebResourceCacheManager,
</span><span class="lines">@@ -65,6 +66,7 @@
</span><span class="cx">     MessageClassWebIconDatabase,
</span><span class="cx">     MessageClassWebInspectorProxy,
</span><span class="cx">     MessageClassWebKeyValueStorageManagerProxy,
</span><ins>+    MessageClassWebMediaCacheManagerProxy,
</ins><span class="cx">     MessageClassWebPageProxy,
</span><span class="cx">     MessageClassWebProcessProxy,
</span><span class="cx">     MessageClassWebProcessProxyLegacy,
</span></span></pre></div>
<a id="trunkSourceWebKit2SharedAPIcWKBaseh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Shared/API/c/WKBase.h (81787 => 81788)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Shared/API/c/WKBase.h       2011-03-23 17:58:29 UTC (rev 81787)
+++ trunk/Source/WebKit2/Shared/API/c/WKBase.h  2011-03-23 18:17:47 UTC (rev 81788)
</span><span class="lines">@@ -86,6 +86,7 @@
</span><span class="cx"> typedef const struct OpaqueWKGeolocationPosition* WKGeolocationPositionRef;
</span><span class="cx"> typedef const struct OpaqueWKInspector* WKInspectorRef;
</span><span class="cx"> typedef const struct OpaqueWKKeyValueStorageManager* WKKeyValueStorageManagerRef;
</span><ins>+typedef const struct OpaqueWKMediaCacheManager* WKMediaCacheManagerRef;
</ins><span class="cx"> typedef const struct OpaqueWKNavigationData* WKNavigationDataRef;
</span><span class="cx"> typedef const struct OpaqueWKOpenPanelParameters* WKOpenPanelParametersRef;
</span><span class="cx"> typedef const struct OpaqueWKOpenPanelResultListener* WKOpenPanelResultListenerRef;
</span></span></pre></div>
<a id="trunkSourceWebKit2SharedAPIObjecth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Shared/APIObject.h (81787 => 81788)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Shared/APIObject.h  2011-03-23 17:58:29 UTC (rev 81787)
+++ trunk/Source/WebKit2/Shared/APIObject.h     2011-03-23 18:17:47 UTC (rev 81788)
</span><span class="lines">@@ -79,6 +79,7 @@
</span><span class="cx">         TypeIconDatabase,
</span><span class="cx">         TypeInspector,
</span><span class="cx">         TypeKeyValueStorageManager,
</span><ins>+        TypeMediaCacheManager,
</ins><span class="cx">         TypeNavigationData,
</span><span class="cx">         TypeOpenPanelParameters,
</span><span class="cx">         TypeOpenPanelResultListener,
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICWKAPICasth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/C/WKAPICast.h (81787 => 81788)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/C/WKAPICast.h 2011-03-23 17:58:29 UTC (rev 81787)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKAPICast.h    2011-03-23 18:17:47 UTC (rev 81788)
</span><span class="lines">@@ -61,6 +61,7 @@
</span><span class="cx"> class WebGeolocationPosition;
</span><span class="cx"> class WebInspectorProxy;
</span><span class="cx"> class WebKeyValueStorageManagerProxy;
</span><ins>+class WebMediaCacheManagerProxy;
</ins><span class="cx"> class WebNavigationData;
</span><span class="cx"> class WebOpenPanelParameters;
</span><span class="cx"> class WebOpenPanelResultListenerProxy;
</span><span class="lines">@@ -88,6 +89,7 @@
</span><span class="cx"> WK_ADD_API_MAPPING(WKGeolocationPermissionRequestRef, GeolocationPermissionRequestProxy)
</span><span class="cx"> WK_ADD_API_MAPPING(WKGeolocationPositionRef, WebGeolocationPosition)
</span><span class="cx"> WK_ADD_API_MAPPING(WKKeyValueStorageManagerRef, WebKeyValueStorageManagerProxy)
</span><ins>+WK_ADD_API_MAPPING(WKMediaCacheManagerRef, WebMediaCacheManagerProxy)
</ins><span class="cx"> WK_ADD_API_MAPPING(WKNavigationDataRef, WebNavigationData)
</span><span class="cx"> WK_ADD_API_MAPPING(WKOpenPanelParametersRef, WebOpenPanelParameters)
</span><span class="cx"> WK_ADD_API_MAPPING(WKOpenPanelResultListenerRef, WebOpenPanelResultListenerProxy)
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICWKContextcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/C/WKContext.cpp (81787 => 81788)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/C/WKContext.cpp       2011-03-23 17:58:29 UTC (rev 81787)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKContext.cpp  2011-03-23 18:17:47 UTC (rev 81788)
</span><span class="lines">@@ -183,6 +183,11 @@
</span><span class="cx">     return toAPI(toImpl(contextRef)->keyValueStorageManagerProxy());
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+WKMediaCacheManagerRef WKContextGetMediaCacheManager(WKContextRef contextRef)
+{
+    return toAPI(toImpl(contextRef)->mediaCacheManagerProxy());
+}
+
</ins><span class="cx"> WKPluginSiteDataManagerRef WKContextGetPluginSiteDataManager(WKContextRef contextRef)
</span><span class="cx"> {
</span><span class="cx">     return toAPI(toImpl(contextRef)->pluginSiteDataManager());
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICWKContexth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/C/WKContext.h (81787 => 81788)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/C/WKContext.h 2011-03-23 17:58:29 UTC (rev 81787)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKContext.h    2011-03-23 18:17:47 UTC (rev 81788)
</span><span class="lines">@@ -134,6 +134,7 @@
</span><span class="cx"> WK_EXPORT WKDatabaseManagerRef WKContextGetDatabaseManager(WKContextRef context);
</span><span class="cx"> WK_EXPORT WKGeolocationManagerRef WKContextGetGeolocationManager(WKContextRef context);
</span><span class="cx"> WK_EXPORT WKKeyValueStorageManagerRef WKContextGetKeyValueStorageManager(WKContextRef context);
</span><ins>+WK_EXPORT WKMediaCacheManagerRef WKContextGetMediaCacheManager(WKContextRef context);
</ins><span class="cx"> WK_EXPORT WKPluginSiteDataManagerRef WKContextGetPluginSiteDataManager(WKContextRef context);
</span><span class="cx"> WK_EXPORT WKResourceCacheManagerRef WKContextGetResourceCacheManager(WKContextRef context);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICWKMediaCacheManagercpp"></a>
<div class="addfile"><h4>Added: trunk/Source/WebKit2/UIProcess/API/C/WKMediaCacheManager.cpp (0 => 81788)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/C/WKMediaCacheManager.cpp                             (rev 0)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKMediaCacheManager.cpp        2011-03-23 18:17:47 UTC (rev 81788)
</span><span class="lines">@@ -0,0 +1,52 @@
</span><ins>+/*
+ * Copyright (C) 2011 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "WKMediaCacheManager.h"
+
+#include "WKAPICast.h"
+#include "WebMediaCacheManagerProxy.h"
+
+using namespace WebKit;
+
+WKTypeID WKMediaCacheManagerGetTypeID()
+{
+    return toAPI(WebMediaCacheManagerProxy::APIType);
+}
+
+void WKMediaCacheManagerGetHostnamesWithMediaCache(WKMediaCacheManagerRef mediaCacheManagerRef, void* context, WKMediaCacheManagerGetHostnamesWithMediaCacheFunction callback)
+{
+    toImpl(mediaCacheManagerRef)->getHostnamesWithMediaCache(ArrayCallback::create(context, callback));
+}
+
+void WKMediaCacheManagerClearCacheForHostname(WKMediaCacheManagerRef mediaCacheManagerRef, WKStringRef hostname)
+{
+    toImpl(mediaCacheManagerRef)->clearCacheForHostname(toWTFString(hostname));
+}
+
+void WKMediaCacheManagerClearCacheForAllHostnames(WKMediaCacheManagerRef mediaCacheManagerRef)
+{
+    toImpl(mediaCacheManagerRef)->clearCacheForAllHostnames();
+}
</ins></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICWKMediaCacheManagerh"></a>
<div class="addfile"><h4>Added: trunk/Source/WebKit2/UIProcess/API/C/WKMediaCacheManager.h (0 => 81788)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/C/WKMediaCacheManager.h                               (rev 0)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKMediaCacheManager.h  2011-03-23 18:17:47 UTC (rev 81788)
</span><span class="lines">@@ -0,0 +1,47 @@
</span><ins>+/*
+ * Copyright (C) 2011 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef WKMediaCacheManager_h
+#define WKMediaCacheManager_h
+
+#include <WebKit2/WKBase.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+WK_EXPORT WKTypeID WKMediaCacheManagerGetTypeID();
+
+typedef void (*WKMediaCacheManagerGetHostnamesWithMediaCacheFunction)(WKArrayRef, WKErrorRef, void*);
+WK_EXPORT void WKMediaCacheManagerGetHostnamesWithMediaCache(WKMediaCacheManagerRef mediaCacheManager, void* context, WKMediaCacheManagerGetHostnamesWithMediaCacheFunction function);
+
+WK_EXPORT void WKMediaCacheManagerClearCacheForHostname(WKMediaCacheManagerRef mediaCacheManager, WKStringRef hostname);
+WK_EXPORT void WKMediaCacheManagerClearCacheForAllHostnames(WKMediaCacheManagerRef mediaCacheManager);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // WKMediaCacheManager_h
</ins></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebContextcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebContext.cpp (81787 => 81788)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebContext.cpp    2011-03-23 17:58:29 UTC (rev 81787)
+++ trunk/Source/WebKit2/UIProcess/WebContext.cpp       2011-03-23 18:17:47 UTC (rev 81788)
</span><span class="lines">@@ -43,6 +43,7 @@
</span><span class="cx"> #include "WebGeolocationManagerProxy.h"
</span><span class="cx"> #include "WebIconDatabase.h"
</span><span class="cx"> #include "WebKeyValueStorageManagerProxy.h"
</span><ins>+#include "WebMediaCacheManagerProxy.h"
</ins><span class="cx"> #include "WebPluginSiteDataManager.h"
</span><span class="cx"> #include "WebPageGroup.h"
</span><span class="cx"> #include "WebMemorySampler.h"
</span><span class="lines">@@ -120,6 +121,7 @@
</span><span class="cx">     , m_geolocationManagerProxy(WebGeolocationManagerProxy::create(this))
</span><span class="cx">     , m_iconDatabase(WebIconDatabase::create(this))
</span><span class="cx">     , m_keyValueStorageManagerProxy(WebKeyValueStorageManagerProxy::create(this))
</span><ins>+    , m_mediaCacheManagerProxy(WebMediaCacheManagerProxy::create(this))
</ins><span class="cx">     , m_pluginSiteDataManager(WebPluginSiteDataManager::create(this))
</span><span class="cx">     , m_resourceCacheManagerProxy(WebResourceCacheManagerProxy::create(this))
</span><span class="cx"> #if PLATFORM(WIN)
</span><span class="lines">@@ -166,6 +168,9 @@
</span><span class="cx">     m_keyValueStorageManagerProxy->invalidate();
</span><span class="cx">     m_keyValueStorageManagerProxy->clearContext();
</span><span class="cx"> 
</span><ins>+    m_mediaCacheManagerProxy->invalidate();
+    m_mediaCacheManagerProxy->clearContext();
+
</ins><span class="cx">     m_pluginSiteDataManager->invalidate();
</span><span class="cx">     m_pluginSiteDataManager->clearContext();
</span><span class="cx"> 
</span><span class="lines">@@ -321,6 +326,7 @@
</span><span class="cx">     m_databaseManagerProxy->invalidate();
</span><span class="cx">     m_geolocationManagerProxy->invalidate();
</span><span class="cx">     m_keyValueStorageManagerProxy->invalidate();
</span><ins>+    m_mediaCacheManagerProxy->invalidate();
</ins><span class="cx">     m_resourceCacheManagerProxy->invalidate();
</span><span class="cx"> 
</span><span class="cx">     // When out of process plug-ins are enabled, we don't want to invalidate the plug-in site data
</span><span class="lines">@@ -616,6 +622,11 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><ins>+    if (messageID.is<CoreIPC::MessageClassWebMediaCacheManagerProxy>()) {
+        m_mediaCacheManagerProxy->didReceiveMessage(connection, messageID, arguments);
+        return;
+    }
+
</ins><span class="cx">     if (messageID.is<CoreIPC::MessageClassWebResourceCacheManagerProxy>()) {
</span><span class="cx">         m_resourceCacheManagerProxy->didReceiveWebResourceCacheManagerProxyMessage(connection, messageID, arguments);
</span><span class="cx">         return;
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebContexth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebContext.h (81787 => 81788)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebContext.h      2011-03-23 17:58:29 UTC (rev 81787)
+++ trunk/Source/WebKit2/UIProcess/WebContext.h 2011-03-23 18:17:47 UTC (rev 81788)
</span><span class="lines">@@ -51,6 +51,7 @@
</span><span class="cx"> class WebGeolocationManagerProxy;
</span><span class="cx"> class WebIconDatabase;
</span><span class="cx"> class WebKeyValueStorageManagerProxy;
</span><ins>+class WebMediaCacheManagerProxy;
</ins><span class="cx"> class WebPageGroup;
</span><span class="cx"> class WebPageProxy;
</span><span class="cx"> class WebResourceCacheManagerProxy;
</span><span class="lines">@@ -145,6 +146,7 @@
</span><span class="cx">     WebDatabaseManagerProxy* databaseManagerProxy() const { return m_databaseManagerProxy.get(); }
</span><span class="cx">     WebGeolocationManagerProxy* geolocationManagerProxy() const { return m_geolocationManagerProxy.get(); }
</span><span class="cx">     WebKeyValueStorageManagerProxy* keyValueStorageManagerProxy() const { return m_keyValueStorageManagerProxy.get(); }
</span><ins>+    WebMediaCacheManagerProxy* mediaCacheManagerProxy() const { return m_mediaCacheManagerProxy.get(); }
</ins><span class="cx">     WebPluginSiteDataManager* pluginSiteDataManager() const { return m_pluginSiteDataManager.get(); }
</span><span class="cx">     WebResourceCacheManagerProxy* resourceCacheManagerProxy() const { return m_resourceCacheManagerProxy.get(); }
</span><span class="cx"> 
</span><span class="lines">@@ -242,6 +244,7 @@
</span><span class="cx">     RefPtr<WebGeolocationManagerProxy> m_geolocationManagerProxy;
</span><span class="cx">     RefPtr<WebIconDatabase> m_iconDatabase;
</span><span class="cx">     RefPtr<WebKeyValueStorageManagerProxy> m_keyValueStorageManagerProxy;
</span><ins>+    RefPtr<WebMediaCacheManagerProxy> m_mediaCacheManagerProxy;
</ins><span class="cx">     RefPtr<WebPluginSiteDataManager> m_pluginSiteDataManager;
</span><span class="cx">     RefPtr<WebResourceCacheManagerProxy> m_resourceCacheManagerProxy;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebMediaCacheManagerProxycpp"></a>
<div class="addfile"><h4>Added: trunk/Source/WebKit2/UIProcess/WebMediaCacheManagerProxy.cpp (0 => 81788)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebMediaCacheManagerProxy.cpp                             (rev 0)
+++ trunk/Source/WebKit2/UIProcess/WebMediaCacheManagerProxy.cpp        2011-03-23 18:17:47 UTC (rev 81788)
</span><span class="lines">@@ -0,0 +1,105 @@
</span><ins>+/*
+ * Copyright (C) 2011 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "WebMediaCacheManagerProxy.h"
+
+#include "WebContext.h"
+#include "WebMediaCacheManagerMessages.h"
+#include "WebSecurityOrigin.h"
+
+namespace WebKit {
+
+PassRefPtr<WebMediaCacheManagerProxy> WebMediaCacheManagerProxy::create(WebContext* context)
+{
+    return adoptRef(new WebMediaCacheManagerProxy(context));
+}
+
+WebMediaCacheManagerProxy::WebMediaCacheManagerProxy(WebContext* context)
+    : m_webContext(context)
+{
+}
+
+WebMediaCacheManagerProxy::~WebMediaCacheManagerProxy()
+{
+}
+
+void WebMediaCacheManagerProxy::invalidate()
+{
+    invalidateCallbackMap(m_arrayCallbacks);
+}
+
+void WebMediaCacheManagerProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments)
+{
+    didReceiveWebMediaCacheManagerProxyMessage(connection, messageID, arguments);
+}
+
+void WebMediaCacheManagerProxy::getHostnamesWithMediaCache(PassRefPtr<ArrayCallback> prpCallback)
+{
+    RefPtr<ArrayCallback> callback = prpCallback;
+    if (!m_webContext->hasValidProcess()) {
+        callback->invalidate();
+        return;
+    }
+    
+    uint64_t callbackID = callback->callbackID();
+    m_arrayCallbacks.set(callbackID, callback.release());
+    m_webContext->process()->send(Messages::WebMediaCacheManager::GetHostnamesWithMediaCache(callbackID), 0);
+}
+    
+void WebMediaCacheManagerProxy::didGetHostnamesWithMediaCache(const Vector<String>& hostnameList, uint64_t callbackID)
+{
+    RefPtr<ArrayCallback> callback = m_arrayCallbacks.take(callbackID);
+    if (!callback) {
+        // FIXME: Log error or assert.
+        return;
+    }
+
+    size_t hostnameCount = hostnameList.size();
+    Vector<RefPtr<APIObject> > hostnames(hostnameCount);
+
+    for (size_t i = 0; i < hostnameCount; ++i)
+        hostnames[i] = WebString::create(hostnameList[i]);
+
+    callback->performCallbackWithReturnValue(ImmutableArray::adopt(hostnames).get());
+}
+
+void WebMediaCacheManagerProxy::clearCacheForHostname(const String& hostname)
+{
+    if (!m_webContext->hasValidProcess())
+        return;
+
+    m_webContext->process()->send(Messages::WebMediaCacheManager::ClearCacheForHostname(hostname), 0);
+}
+
+void WebMediaCacheManagerProxy::clearCacheForAllHostnames()
+{
+    if (!m_webContext->hasValidProcess())
+        return;
+
+    m_webContext->process()->send(Messages::WebMediaCacheManager::ClearCacheForAllHostnames(), 0);
+}
+
+} // namespace WebKit
</ins></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebMediaCacheManagerProxyh"></a>
<div class="addfile"><h4>Added: trunk/Source/WebKit2/UIProcess/WebMediaCacheManagerProxy.h (0 => 81788)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebMediaCacheManagerProxy.h                               (rev 0)
+++ trunk/Source/WebKit2/UIProcess/WebMediaCacheManagerProxy.h  2011-03-23 18:17:47 UTC (rev 81788)
</span><span class="lines">@@ -0,0 +1,80 @@
</span><ins>+/*
+ * Copyright (C) 2011 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef WebMediaCacheManagerProxy_h
+#define WebMediaCacheManagerProxy_h
+
+#include "APIObject.h"
+#include "GenericCallback.h"
+#include "ImmutableArray.h"
+
+#include <wtf/PassRefPtr.h>
+#include <wtf/RefPtr.h>
+#include <wtf/Vector.h>
+
+namespace CoreIPC {
+    class ArgumentDecoder;
+    class Connection;
+    class MessageID;
+}
+
+namespace WebKit {
+
+class WebContext;
+
+typedef GenericCallback<WKArrayRef> ArrayCallback;
+
+class WebMediaCacheManagerProxy : public APIObject {
+public:
+    static const Type APIType = TypeMediaCacheManager;
+
+    static PassRefPtr<WebMediaCacheManagerProxy> create(WebContext*);
+    virtual ~WebMediaCacheManagerProxy();
+
+    void invalidate();
+    void clearContext() { m_webContext = 0; }
+    
+    void getHostnamesWithMediaCache(PassRefPtr<ArrayCallback>);
+    void clearCacheForHostname(const String&);
+    void clearCacheForAllHostnames();
+
+    void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*);
+
+private:
+    WebMediaCacheManagerProxy(WebContext*);
+
+    virtual Type type() const { return APIType; }
+
+    void didGetHostnamesWithMediaCache(const Vector<String>&, uint64_t callbackID);
+    
+    void didReceiveWebMediaCacheManagerProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*);
+
+    WebContext* m_webContext;
+    HashMap<uint64_t, RefPtr<ArrayCallback> > m_arrayCallbacks;
+};
+
+} // namespace WebKit
+
+#endif // WebMediaCacheManagerProxy_h
</ins></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebMediaCacheManagerProxymessagesin"></a>
<div class="addfile"><h4>Added: trunk/Source/WebKit2/UIProcess/WebMediaCacheManagerProxy.messages.in (0 => 81788)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebMediaCacheManagerProxy.messages.in                             (rev 0)
+++ trunk/Source/WebKit2/UIProcess/WebMediaCacheManagerProxy.messages.in        2011-03-23 18:17:47 UTC (rev 81788)
</span><span class="lines">@@ -0,0 +1,25 @@
</span><ins>+# Copyright (C) 2011 Apple Inc. All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1.  Redistributions of source code must retain the above copyright
+#     notice, this list of conditions and the following disclaimer.
+# 2.  Redistributions in binary form must reproduce the above copyright
+#     notice, this list of conditions and the following disclaimer in the
+#     documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+# DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR
+# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+messages -> WebMediaCacheManagerProxy {
+    DidGetHostnamesWithMediaCache(Vector<WTF::String> hostnames, uint64_t callbackID);
+}
</ins></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebProcessProxycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebProcessProxy.cpp (81787 => 81788)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebProcessProxy.cpp       2011-03-23 17:58:29 UTC (rev 81787)
+++ trunk/Source/WebKit2/UIProcess/WebProcessProxy.cpp  2011-03-23 18:17:47 UTC (rev 81788)
</span><span class="lines">@@ -254,6 +254,7 @@
</span><span class="cx">         || messageID.is<CoreIPC::MessageClassWebGeolocationManagerProxy>()
</span><span class="cx">         || messageID.is<CoreIPC::MessageClassWebIconDatabase>()
</span><span class="cx">         || messageID.is<CoreIPC::MessageClassWebKeyValueStorageManagerProxy>()
</span><ins>+        || messageID.is<CoreIPC::MessageClassWebMediaCacheManagerProxy>()
</ins><span class="cx">         || messageID.is<CoreIPC::MessageClassWebResourceCacheManagerProxy>()) {
</span><span class="cx">         m_context->didReceiveMessage(connection, messageID, arguments);
</span><span class="cx">         return;
</span></span></pre></div>
<a id="trunkSourceWebKit2WebKit2pri"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebKit2.pri (81787 => 81788)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebKit2.pri 2011-03-23 17:58:29 UTC (rev 81787)
+++ trunk/Source/WebKit2/WebKit2.pri    2011-03-23 18:17:47 UTC (rev 81788)
</span><span class="lines">@@ -50,6 +50,7 @@
</span><span class="cx">     $$SOURCE_DIR/WebKit2/WebProcess/InjectedBundle/DOM \
</span><span class="cx">     $$SOURCE_DIR/WebKit2/WebProcess/InjectedBundle/API/c \
</span><span class="cx">     $$SOURCE_DIR/WebKit2/WebProcess/KeyValueStorage \
</span><ins>+    $$SOURCE_DIR/WebKit2/WebProcess/MediaCache \
</ins><span class="cx">     $$SOURCE_DIR/WebKit2/WebProcess/Plugins \
</span><span class="cx">     $$SOURCE_DIR/WebKit2/WebProcess/Plugins/Netscape \
</span><span class="cx">     $$SOURCE_DIR/WebKit2/WebProcess/ResourceCache \
</span></span></pre></div>
<a id="trunkSourceWebKit2WebKit2pro"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebKit2.pro (81787 => 81788)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebKit2.pro 2011-03-23 17:58:29 UTC (rev 81787)
+++ trunk/Source/WebKit2/WebKit2.pro    2011-03-23 18:17:47 UTC (rev 81788)
</span><span class="lines">@@ -43,6 +43,8 @@
</span><span class="cx">     $$WEBKIT2_GENERATED_SOURCES_DIR/WebInspectorProxyMessages.h \
</span><span class="cx">     $$WEBKIT2_GENERATED_SOURCES_DIR/WebKeyValueStorageManagerMessages.h \
</span><span class="cx">     $$WEBKIT2_GENERATED_SOURCES_DIR/WebKeyValueStorageManagerProxyMessages.h \
</span><ins>+    $$WEBKIT2_GENERATED_SOURCES_DIR/WebMediaCacheManagerMessages.h \
+    $$WEBKIT2_GENERATED_SOURCES_DIR/WebMediaCacheManagerProxyMessages.h \
</ins><span class="cx">     $$WEBKIT2_GENERATED_SOURCES_DIR/WebPageMessages.h \
</span><span class="cx">     $$WEBKIT2_GENERATED_SOURCES_DIR/WebPageProxyMessages.h \
</span><span class="cx">     $$WEBKIT2_GENERATED_SOURCES_DIR/WebProcessConnectionMessages.h \
</span><span class="lines">@@ -76,6 +78,8 @@
</span><span class="cx">     $$WEBKIT2_GENERATED_SOURCES_DIR/WebInspectorProxyMessageReceiver.cpp \
</span><span class="cx">     $$WEBKIT2_GENERATED_SOURCES_DIR/WebKeyValueStorageManagerMessageReceiver.cpp \
</span><span class="cx">     $$WEBKIT2_GENERATED_SOURCES_DIR/WebKeyValueStorageManagerProxyMessageReceiver.cpp \
</span><ins>+    $$WEBKIT2_GENERATED_SOURCES_DIR/WebMediaCacheManagerMessageReceiver.cpp \
+    $$WEBKIT2_GENERATED_SOURCES_DIR/WebMediaCacheManagerProxyMessageReceiver.cpp \
</ins><span class="cx">     $$WEBKIT2_GENERATED_SOURCES_DIR/WebPageMessageReceiver.cpp \
</span><span class="cx">     $$WEBKIT2_GENERATED_SOURCES_DIR/WebPageProxyMessageReceiver.cpp \
</span><span class="cx">     $$WEBKIT2_GENERATED_SOURCES_DIR/WebProcessConnectionMessageReceiver.cpp \
</span><span class="lines">@@ -206,6 +210,7 @@
</span><span class="cx">     UIProcess/WebInspectorProxy.h \
</span><span class="cx">     UIProcess/WebKeyValueStorageManagerProxy.h \
</span><span class="cx">     UIProcess/WebLoaderClient.h \
</span><ins>+    UIProcess/WebMediaCacheManagerProxy.h \
</ins><span class="cx">     UIProcess/WebNavigationData.h \
</span><span class="cx">     UIProcess/WebOpenPanelResultListenerProxy.h \
</span><span class="cx">     UIProcess/WebPageContextMenuClient.h \
</span><span class="lines">@@ -241,6 +246,7 @@
</span><span class="cx">     WebProcess/InjectedBundle/InjectedBundleScriptWorld.h \
</span><span class="cx">     WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h \
</span><span class="cx">     WebProcess/KeyValueStorage/WebKeyValueStorageManager.h \
</span><ins>+    WebProcess/MediaCache/WebMediaCacheManager.h \
</ins><span class="cx">     WebProcess/ResourceCache/WebResourceCacheManager.h \
</span><span class="cx">     WebProcess/Plugins/Netscape/JSNPMethod.h \
</span><span class="cx">     WebProcess/Plugins/Netscape/JSNPObject.h \
</span><span class="lines">@@ -400,6 +406,7 @@
</span><span class="cx">     UIProcess/WebInspectorProxy.cpp \
</span><span class="cx">     UIProcess/WebKeyValueStorageManagerProxy.cpp \
</span><span class="cx">     UIProcess/WebLoaderClient.cpp \
</span><ins>+    UIProcess/WebMediaCacheManagerProxy.cpp \
</ins><span class="cx">     UIProcess/WebNavigationData.cpp \
</span><span class="cx">     UIProcess/WebOpenPanelResultListenerProxy.cpp \
</span><span class="cx">     UIProcess/WebPageContextMenuClient.cpp \
</span><span class="lines">@@ -449,6 +456,7 @@
</span><span class="cx">     WebProcess/InjectedBundle/InjectedBundleScriptWorld.cpp \
</span><span class="cx">     WebProcess/InjectedBundle/qt/InjectedBundleQt.cpp \
</span><span class="cx">     WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp \
</span><ins>+    WebProcess/MediaCache/WebMediaCacheManager.cpp \
</ins><span class="cx">     WebProcess/ResourceCache/WebResourceCacheManager.cpp \
</span><span class="cx">     WebProcess/Plugins/Netscape/JSNPMethod.cpp \
</span><span class="cx">     WebProcess/Plugins/Netscape/JSNPObject.cpp \
</span></span></pre></div>
<a id="trunkSourceWebKit2WebKit2xcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj (81787 => 81788)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj   2011-03-23 17:58:29 UTC (rev 81787)
+++ trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj      2011-03-23 18:17:47 UTC (rev 81788)
</span><span class="lines">@@ -262,6 +262,16 @@
</span><span class="cx">          33367658130C9ECB006C9DE2 /* WebResourceCacheManagerProxyMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = 33367654130C9ECA006C9DE2 /* WebResourceCacheManagerProxyMessages.h */; };
</span><span class="cx">          33AA1066131F060000D4A575 /* WebCookieManagerProxyClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 33AA1064131F060000D4A575 /* WebCookieManagerProxyClient.cpp */; };
</span><span class="cx">          33AA1067131F060000D4A575 /* WebCookieManagerProxyClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 33AA1065131F060000D4A575 /* WebCookieManagerProxyClient.h */; };
</span><ins>+               33D3A3B51339600B00709BE4 /* WKMediaCacheManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 33D3A3B31339600B00709BE4 /* WKMediaCacheManager.cpp */; };
+               33D3A3B61339600B00709BE4 /* WKMediaCacheManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 33D3A3B41339600B00709BE4 /* WKMediaCacheManager.h */; settings = {ATTRIBUTES = (Private, ); }; };
+               33D3A3BA1339606200709BE4 /* WebMediaCacheManagerProxy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 33D3A3B71339606200709BE4 /* WebMediaCacheManagerProxy.cpp */; };
+               33D3A3BB1339606200709BE4 /* WebMediaCacheManagerProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 33D3A3B81339606200709BE4 /* WebMediaCacheManagerProxy.h */; };
+               33D3A3C1133960B000709BE4 /* WebMediaCacheManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 33D3A3BE133960B000709BE4 /* WebMediaCacheManager.cpp */; };
+               33D3A3C2133960B000709BE4 /* WebMediaCacheManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 33D3A3BF133960B000709BE4 /* WebMediaCacheManager.h */; };
+               33D3A3C81339617900709BE4 /* WebMediaCacheManagerMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 33D3A3C41339617900709BE4 /* WebMediaCacheManagerMessageReceiver.cpp */; };
+               33D3A3C91339617900709BE4 /* WebMediaCacheManagerMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = 33D3A3C51339617900709BE4 /* WebMediaCacheManagerMessages.h */; };
+               33D3A3CA1339617900709BE4 /* WebMediaCacheManagerProxyMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 33D3A3C61339617900709BE4 /* WebMediaCacheManagerProxyMessageReceiver.cpp */; };
+               33D3A3CB1339617900709BE4 /* WebMediaCacheManagerProxyMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = 33D3A3C71339617900709BE4 /* WebMediaCacheManagerProxyMessages.h */; };
</ins><span class="cx">           33F9D5B91312F1EE000D683F /* WebResourceCacheManagerCFNet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 33F9D5B81312F1EE000D683F /* WebResourceCacheManagerCFNet.cpp */; };
</span><span class="cx">          37C4E9F6131C6E7E0029BD5A /* config.h in Headers */ = {isa = PBXBuildFile; fileRef = B396EA5512E0ED2D00F4FEB7 /* config.h */; };
</span><span class="cx">          37F623B812A57B6200E3FDF6 /* WKFindOptions.h in Headers */ = {isa = PBXBuildFile; fileRef = 37F623B712A57B6200E3FDF6 /* WKFindOptions.h */; settings = {ATTRIBUTES = (Public, ); }; };
</span><span class="lines">@@ -1118,6 +1128,18 @@
</span><span class="cx">          33367654130C9ECA006C9DE2 /* WebResourceCacheManagerProxyMessages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebResourceCacheManagerProxyMessages.h; sourceTree = "<group>"; };
</span><span class="cx">          33AA1064131F060000D4A575 /* WebCookieManagerProxyClient.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebCookieManagerProxyClient.cpp; sourceTree = "<group>"; };
</span><span class="cx">          33AA1065131F060000D4A575 /* WebCookieManagerProxyClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebCookieManagerProxyClient.h; sourceTree = "<group>"; };
</span><ins>+               33D3A3B31339600B00709BE4 /* WKMediaCacheManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WKMediaCacheManager.cpp; sourceTree = "<group>"; };
+               33D3A3B41339600B00709BE4 /* WKMediaCacheManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKMediaCacheManager.h; sourceTree = "<group>"; };
+               33D3A3B71339606200709BE4 /* WebMediaCacheManagerProxy.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebMediaCacheManagerProxy.cpp; sourceTree = "<group>"; };
+               33D3A3B81339606200709BE4 /* WebMediaCacheManagerProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebMediaCacheManagerProxy.h; sourceTree = "<group>"; };
+               33D3A3B91339606200709BE4 /* WebMediaCacheManagerProxy.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebMediaCacheManagerProxy.messages.in; sourceTree = "<group>"; };
+               33D3A3BE133960B000709BE4 /* WebMediaCacheManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = WebMediaCacheManager.cpp; path = MediaCache/WebMediaCacheManager.cpp; sourceTree = "<group>"; };
+               33D3A3BF133960B000709BE4 /* WebMediaCacheManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WebMediaCacheManager.h; path = MediaCache/WebMediaCacheManager.h; sourceTree = "<group>"; };
+               33D3A3C0133960B000709BE4 /* WebMediaCacheManager.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = WebMediaCacheManager.messages.in; path = MediaCache/WebMediaCacheManager.messages.in; sourceTree = "<group>"; };
+               33D3A3C41339617900709BE4 /* WebMediaCacheManagerMessageReceiver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebMediaCacheManagerMessageReceiver.cpp; sourceTree = "<group>"; };
+               33D3A3C51339617900709BE4 /* WebMediaCacheManagerMessages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebMediaCacheManagerMessages.h; sourceTree = "<group>"; };
+               33D3A3C61339617900709BE4 /* WebMediaCacheManagerProxyMessageReceiver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebMediaCacheManagerProxyMessageReceiver.cpp; sourceTree = "<group>"; };
+               33D3A3C71339617900709BE4 /* WebMediaCacheManagerProxyMessages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebMediaCacheManagerProxyMessages.h; sourceTree = "<group>"; };
</ins><span class="cx">           33F9D5B81312F1EE000D683F /* WebResourceCacheManagerCFNet.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 4; name = WebResourceCacheManagerCFNet.cpp; path = ResourceCache/cf/WebResourceCacheManagerCFNet.cpp; sourceTree = "<group>"; };
</span><span class="cx">          37F623B712A57B6200E3FDF6 /* WKFindOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKFindOptions.h; sourceTree = "<group>"; };
</span><span class="cx">          51021E9B12B16788005C033C /* WebContextMenuClientMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebContextMenuClientMac.mm; sourceTree = "<group>"; };
</span><span class="lines">@@ -2220,6 +2242,16 @@
</span><span class="cx">                  name = ResourceCache;
</span><span class="cx">                  sourceTree = "<group>";
</span><span class="cx">          };
</span><ins>+               33D3A3BD1339609800709BE4 /* MediaCache */ = {
+                       isa = PBXGroup;
+                       children = (
+                               33D3A3BE133960B000709BE4 /* WebMediaCacheManager.cpp */,
+                               33D3A3BF133960B000709BE4 /* WebMediaCacheManager.h */,
+                               33D3A3C0133960B000709BE4 /* WebMediaCacheManager.messages.in */,
+                       );
+                       name = MediaCache;
+                       sourceTree = "<group>";
+               };
</ins><span class="cx">           33F9D5B71312F1B1000D683F /* cf */ = {
</span><span class="cx">                  isa = PBXGroup;
</span><span class="cx">                  children = (
</span><span class="lines">@@ -2306,6 +2338,7 @@
</span><span class="cx">                          BC204EDF11C83E72008F3375 /* InjectedBundle */,
</span><span class="cx">                          51A9E0FB1315CC0E009E7031 /* KeyValueStorage */,
</span><span class="cx">                          1A6FA01C11E1526300DB1371 /* mac */,
</span><ins>+                               33D3A3BD1339609800709BE4 /* MediaCache */,
</ins><span class="cx">                           1A6FB7AA11E64B4900DB1371 /* Plugins */,
</span><span class="cx">                          3336762B130C9978006C9DE2 /* ResourceCache */,
</span><span class="cx">                          BC032D5D10F437220058C15A /* WebCoreSupport */,
</span><span class="lines">@@ -2491,6 +2524,9 @@
</span><span class="cx">                          51A9E1041315CCFC009E7031 /* WebKeyValueStorageManagerProxy.messages.in */,
</span><span class="cx">                          BCB9E76111232B9E00A137E0 /* WebLoaderClient.cpp */,
</span><span class="cx">                          BC59534010FC04520098F82D /* WebLoaderClient.h */,
</span><ins>+                               33D3A3B71339606200709BE4 /* WebMediaCacheManagerProxy.cpp */,
+                               33D3A3B81339606200709BE4 /* WebMediaCacheManagerProxy.h */,
+                               33D3A3B91339606200709BE4 /* WebMediaCacheManagerProxy.messages.in */,
</ins><span class="cx">                           BCF69FA11176D01400471A52 /* WebNavigationData.cpp */,
</span><span class="cx">                          BCF69FA01176D01400471A52 /* WebNavigationData.h */,
</span><span class="cx">                          BC1DFEA312B31F87005DF730 /* WebOpenPanelResultListenerProxy.cpp */,
</span><span class="lines">@@ -2576,6 +2612,8 @@
</span><span class="cx">                          1C8E293712761E5B00BC7BD0 /* WKInspector.h */,
</span><span class="cx">                          51A9E1081315CD18009E7031 /* WKKeyValueStorageManager.cpp */,
</span><span class="cx">                          51A9E1091315CD18009E7031 /* WKKeyValueStorageManager.h */,
</span><ins>+                               33D3A3B31339600B00709BE4 /* WKMediaCacheManager.cpp */,
+                               33D3A3B41339600B00709BE4 /* WKMediaCacheManager.h */,
</ins><span class="cx">                           C09AE5E8125257C20025825D /* WKNativeEvent.h */,
</span><span class="cx">                          BCF69FA81176D1CB00471A52 /* WKNavigationData.cpp */,
</span><span class="cx">                          BCF69FA71176D1CB00471A52 /* WKNavigationData.h */,
</span><span class="lines">@@ -3085,6 +3123,10 @@
</span><span class="cx">                          51A9E1251315ED35009E7031 /* WebKeyValueStorageManagerMessages.h */,
</span><span class="cx">                          51A9E1261315ED35009E7031 /* WebKeyValueStorageManagerProxyMessageReceiver.cpp */,
</span><span class="cx">                          51A9E1271315ED35009E7031 /* WebKeyValueStorageManagerProxyMessages.h */,
</span><ins>+                               33D3A3C41339617900709BE4 /* WebMediaCacheManagerMessageReceiver.cpp */,
+                               33D3A3C51339617900709BE4 /* WebMediaCacheManagerMessages.h */,
+                               33D3A3C61339617900709BE4 /* WebMediaCacheManagerProxyMessageReceiver.cpp */,
+                               33D3A3C71339617900709BE4 /* WebMediaCacheManagerProxyMessages.h */,
</ins><span class="cx">                           C0CE729E1247E71D00BC0EC4 /* WebPageMessageReceiver.cpp */,
</span><span class="cx">                          C0CE729F1247E71D00BC0EC4 /* WebPageMessages.h */,
</span><span class="cx">                          BCBD3912125BB1A800D2C29F /* WebPageProxyMessageReceiver.cpp */,
</span><span class="lines">@@ -3537,6 +3579,11 @@
</span><span class="cx">                          511B24AB132E097200065A0C /* WebIconDatabase.h in Headers */,
</span><span class="cx">                          51D02F6A132EC73700BEAA96 /* WebIconDatabaseMessages.h in Headers */,
</span><span class="cx">                          51D02F6C132EC73700BEAA96 /* WebIconDatabaseProxyMessages.h in Headers */,
</span><ins>+                               33D3A3B61339600B00709BE4 /* WKMediaCacheManager.h in Headers */,
+                               33D3A3BB1339606200709BE4 /* WebMediaCacheManagerProxy.h in Headers */,
+                               33D3A3C2133960B000709BE4 /* WebMediaCacheManager.h in Headers */,
+                               33D3A3C91339617900709BE4 /* WebMediaCacheManagerMessages.h in Headers */,
+                               33D3A3CB1339617900709BE4 /* WebMediaCacheManagerProxyMessages.h in Headers */,
</ins><span class="cx">                   );
</span><span class="cx">                  runOnlyForDeploymentPostprocessing = 0;
</span><span class="cx">          };
</span><span class="lines">@@ -4149,6 +4196,11 @@
</span><span class="cx">                          511B24AA132E097200065A0C /* WebIconDatabase.cpp in Sources */,
</span><span class="cx">                          51D02F64132EC5B900BEAA96 /* WebIconDatabaseMessageReceiver.cpp in Sources */,
</span><span class="cx">                          51D02F6B132EC73700BEAA96 /* WebIconDatabaseProxyMessageReceiver.cpp in Sources */,
</span><ins>+                               33D3A3B51339600B00709BE4 /* WKMediaCacheManager.cpp in Sources */,
+                               33D3A3BA1339606200709BE4 /* WebMediaCacheManagerProxy.cpp in Sources */,
+                               33D3A3C1133960B000709BE4 /* WebMediaCacheManager.cpp in Sources */,
+                               33D3A3C81339617900709BE4 /* WebMediaCacheManagerMessageReceiver.cpp in Sources */,
+                               33D3A3CA1339617900709BE4 /* WebMediaCacheManagerProxyMessageReceiver.cpp in Sources */,
</ins><span class="cx">                           5160BFE113381DF900918999 /* Logging.mac.mm in Sources */,
</span><span class="cx">                  );
</span><span class="cx">                  runOnlyForDeploymentPostprocessing = 0;
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessMediaCacheWebMediaCacheManagercpp"></a>
<div class="addfile"><h4>Added: trunk/Source/WebKit2/WebProcess/MediaCache/WebMediaCacheManager.cpp (0 => 81788)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/MediaCache/WebMediaCacheManager.cpp                              (rev 0)
+++ trunk/Source/WebKit2/WebProcess/MediaCache/WebMediaCacheManager.cpp 2011-03-23 18:17:47 UTC (rev 81788)
</span><span class="lines">@@ -0,0 +1,76 @@
</span><ins>+/*
+ * Copyright (C) 2011 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "WebMediaCacheManager.h"
+
+#include "MessageID.h"
+#include "SecurityOriginData.h"
+#include "WebMediaCacheManagerProxyMessages.h"
+#include "WebProcess.h"
+#include <WebCore/NotImplemented.h>
+
+using namespace WebCore;
+
+namespace WebKit {
+
+WebMediaCacheManager& WebMediaCacheManager::shared()
+{
+    static WebMediaCacheManager& shared = *new WebMediaCacheManager;
+    return shared;
+}
+
+WebMediaCacheManager::WebMediaCacheManager()
+{
+}
+
+void WebMediaCacheManager::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments)
+{
+    didReceiveWebMediaCacheManagerMessage(connection, messageID, arguments);
+}
+
+void WebMediaCacheManager::getHostnamesWithMediaCache(uint64_t callbackID)
+{
+    Vector<String> mediaCacheHostnames;
+
+    // FIXME: Popuplate the list of hosts that have entries in the media cache.
+    notImplemented();
+
+    WebProcess::shared().connection()->send(Messages::WebMediaCacheManagerProxy::DidGetHostnamesWithMediaCache(mediaCacheHostnames, callbackID), 0);
+}
+
+void WebMediaCacheManager::clearCacheForHostname(const String& hostname)
+{
+    // FIXME: Delete the media cache entries for this hostname.
+    notImplemented();
+}
+
+void WebMediaCacheManager::clearCacheForAllHostnames()
+{
+    // FIXME: Delete all media cache entries.
+    notImplemented();
+}
+
+} // namespace WebKit
</ins></span></pre></div>
<a id="trunkSourceWebKit2WebProcessMediaCacheWebMediaCacheManagerh"></a>
<div class="addfile"><h4>Added: trunk/Source/WebKit2/WebProcess/MediaCache/WebMediaCacheManager.h (0 => 81788)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/MediaCache/WebMediaCacheManager.h                                (rev 0)
+++ trunk/Source/WebKit2/WebProcess/MediaCache/WebMediaCacheManager.h   2011-03-23 18:17:47 UTC (rev 81788)
</span><span class="lines">@@ -0,0 +1,60 @@
</span><ins>+/*
+ * Copyright (C) 2011 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef WebMediaCacheManager_h
+#define WebMediaCacheManager_h
+
+#include <wtf/Noncopyable.h>
+#include <wtf/text/WTFString.h>
+
+namespace CoreIPC {
+    class ArgumentDecoder;
+    class Connection;
+    class MessageID;
+}
+
+namespace WebKit {
+
+class WebMediaCacheManager {
+    WTF_MAKE_NONCOPYABLE(WebMediaCacheManager);
+
+public:
+    static WebMediaCacheManager& shared();
+
+    void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*);
+
+private:
+    WebMediaCacheManager();
+    
+    void getHostnamesWithMediaCache(uint64_t callbackID);
+    void clearCacheForHostname(const String&);
+    void clearCacheForAllHostnames();
+
+    void didReceiveWebMediaCacheManagerMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*);
+};
+
+} // namespace WebKit
+
+#endif // WebMediaCacheManager_h
</ins></span></pre></div>
<a id="trunkSourceWebKit2WebProcessMediaCacheWebMediaCacheManagermessagesin"></a>
<div class="addfile"><h4>Added: trunk/Source/WebKit2/WebProcess/MediaCache/WebMediaCacheManager.messages.in (0 => 81788)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/MediaCache/WebMediaCacheManager.messages.in                              (rev 0)
+++ trunk/Source/WebKit2/WebProcess/MediaCache/WebMediaCacheManager.messages.in 2011-03-23 18:17:47 UTC (rev 81788)
</span><span class="lines">@@ -0,0 +1,27 @@
</span><ins>+# Copyright (C) 2011 Apple Inc. All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1.  Redistributions of source code must retain the above copyright
+#     notice, this list of conditions and the following disclaimer.
+# 2.  Redistributions in binary form must reproduce the above copyright
+#     notice, this list of conditions and the following disclaimer in the
+#     documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+# DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR
+# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+messages -> WebMediaCacheManager {
+    void GetHostnamesWithMediaCache(uint64_t callbackID)
+    void ClearCacheForHostname(WTF::String hostname)
+    void ClearCacheForAllHostnames()
+}
</ins></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebProcesscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebProcess.cpp (81787 => 81788)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebProcess.cpp   2011-03-23 17:58:29 UTC (rev 81787)
+++ trunk/Source/WebKit2/WebProcess/WebProcess.cpp      2011-03-23 18:17:47 UTC (rev 81788)
</span><span class="lines">@@ -41,6 +41,7 @@
</span><span class="cx"> #include "WebFrame.h"
</span><span class="cx"> #include "WebGeolocationManagerMessages.h"
</span><span class="cx"> #include "WebKeyValueStorageManager.h"
</span><ins>+#include "WebMediaCacheManager.h"
</ins><span class="cx"> #include "WebMemorySampler.h"
</span><span class="cx"> #include "WebPage.h"
</span><span class="cx"> #include "WebPageCreationParameters.h"
</span><span class="lines">@@ -598,6 +599,11 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><ins>+    if (messageID.is<CoreIPC::MessageClassWebMediaCacheManager>()) {
+        WebMediaCacheManager::shared().didReceiveMessage(connection, messageID, arguments);
+        return;
+    }
+
</ins><span class="cx">     if (messageID.is<CoreIPC::MessageClassWebResourceCacheManager>()) {
</span><span class="cx">         WebResourceCacheManager::shared().didReceiveMessage(connection, messageID, arguments);
</span><span class="cx">         return;
</span></span></pre></div>
<a id="trunkSourceWebKit2winWebKit2vcproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/win/WebKit2.vcproj (81787 => 81788)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/win/WebKit2.vcproj  2011-03-23 17:58:29 UTC (rev 81787)
+++ trunk/Source/WebKit2/win/WebKit2.vcproj     2011-03-23 18:17:47 UTC (rev 81788)
</span><span class="lines">@@ -1491,6 +1491,22 @@
</span><span class="cx">                          </File>
</span><span class="cx">                  </Filter>
</span><span class="cx">                  <Filter
</span><ins>+                               Name="MediaCache"
+                               >
+                               <File
+                                       RelativePath="..\WebProcess\MediaCache\WebMediaCacheManager.cpp"
+                                       >
+                               </File>
+                               <File
+                                       RelativePath="..\WebProcess\MediaCache\WebMediaCacheManager.h"
+                                       >
+                               </File>
+                               <File
+                                       RelativePath="..\WebProcess\MediaCache\WebMediaCacheManager.messages.in"
+                                       >
+                               </File>
+                       </Filter>
+                       <Filter
</ins><span class="cx">                           Name="ResourceCache"
</span><span class="cx">                          >
</span><span class="cx">                          <File
</span><span class="lines">@@ -2651,6 +2667,18 @@
</span><span class="cx">                          >
</span><span class="cx">                  </File>
</span><span class="cx">                  <File
</span><ins>+                               RelativePath="..\UIProcess\WebMediaCacheManagerProxy.cpp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\UIProcess\WebMediaCacheManagerProxy.h"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\UIProcess\WebMediaCacheManagerProxy.messages.in"
+                               >
+                       </File>
+                       <File
</ins><span class="cx">                           RelativePath="..\UIProcess\WebNavigationData.cpp"
</span><span class="cx">                          >
</span><span class="cx">                  </File>
</span><span class="lines">@@ -2925,6 +2953,14 @@
</span><span class="cx">                                          >
</span><span class="cx">                                  </File>
</span><span class="cx">                                  <File
</span><ins>+                                               RelativePath="..\UIProcess\API\C\WKMediaCacheManager.cpp"
+                                               >
+                                       </File>
+                                       <File
+                                               RelativePath="..\UIProcess\API\C\WKMediaCacheManager.h"
+                                               >
+                                       </File>
+                                       <File
</ins><span class="cx">                                           RelativePath="..\UIProcess\API\C\WKNativeEvent.h"
</span><span class="cx">                                          >
</span><span class="cx">                                  </File>
</span><span class="lines">@@ -3715,6 +3751,22 @@
</span><span class="cx">                          >
</span><span class="cx">                  </File>
</span><span class="cx">                  <File
</span><ins>+                               RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebMediaCacheManagerMessageReceiver.cpp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebMediaCacheManagerMessages.h"
+                               >
+                       </File>
+                       <File
+                               RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebMediaCacheManagerProxyMessageReceiver.cpp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebMediaCacheManagerProxyMessages.h"
+                               >
+                       </File>
+                       <File
</ins><span class="cx">                           RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebPageMessageReceiver.cpp"
</span><span class="cx">                          >
</span><span class="cx">                  </File>
</span></span></pre></div>
<a id="trunkSourceWebKit2winWebKit2Commonvsprops"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/win/WebKit2Common.vsprops (81787 => 81788)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/win/WebKit2Common.vsprops   2011-03-23 17:58:29 UTC (rev 81787)
+++ trunk/Source/WebKit2/win/WebKit2Common.vsprops      2011-03-23 18:17:47 UTC (rev 81788)
</span><span class="lines">@@ -6,7 +6,7 @@
</span><span class="cx">  >
</span><span class="cx">  <Tool
</span><span class="cx">          Name="VCCLCompilerTool"
</span><del>-               AdditionalIncludeDirectories="&quot;$(ProjectDir)&quot;;&quot;$(ProjectDir)\..&quot;;&quot;$(ProjectDir)\..\Platform&quot;;&quot;$(ProjectDir)\..\Platform\cg&quot;;&quot;$(ProjectDir)\..\Platform\CoreIPC&quot;;&quot;$(ProjectDir)\..\PluginProcess&quot;;&quot;$(ProjectDir)\..\Shared&quot;;&quot;$(ProjectDir)\..\Shared\win&quot;;&quot;$(ProjectDir)\..\Shared\cf&quot;;&quot;$(ProjectDir)\..\Shared\API\c&quot;;&quot;$(ProjectDir)\..\Shared\API\c\cf&quot;;&quot;$(ProjectDir)\..\Shared\API\c\win&quot;;&quot;$(ProjectDir)\..\Shared\CoreIPCSupport&quot;;&quot;$(ProjectDir)\..\Shared\Plugins&quot;;&quot;$(ProjectDir)\..\Shared\Plugins\Netscape&quot;;&quot;$(ProjectDir)\..\UIProcess&quot;;&quot;$(ProjectDir)\..\UIProcess\API\C&quot;;&quot;$(ProjectDir)\..\UIProcess\API\C\win&quot;;&quot;$(ProjectDir)\..\UIProcess\API\cpp&quot;;&quot;$(ProjectDir)\..\UIProcess\API\win&quot;;&quot;$(ProjectDir)\..\UIProcess\Authentication&quot;;&quot;$(ProjectDir)\..\UIProcess\Downloads&quot;;&quot;$(ProjectDir)\..\UIProcess\Launcher&quot;;&quot;$(ProjectDir)\..\UIProcess\Plugins&quot;;&quot;$(ProjectDir)\..\UIProcess\win&quot;;&quot;$(ProjectDir)\..\WebProcess&quot;;&quot;$(ProjectDir)\..\WebProcess\WebCoreSupport&quot;;&quot;$(ProjectDir)\..\WebProcess\WebCoreSupport\win&quot;;&quot;$(ProjectDir)\..\WebProcess\WebPage&quot;;&quot;$(ProjectDir)\..\WebProcess\WebPage\win&quot;;&quot;$(ProjectDir)\..\WebProcess\IconDatabase&quot;;&quot;$(ProjectDir)\..\WebProcess\InjectedBundle&quot;;&quot;$(ProjectDir)\..\WebProcess\InjectedBundle\API\c&quot;;&quot;$(ProjectDir)\..\WebProcess\InjectedBundle\DOM&quot;;&quot;$(ProjectDir)\..\WebProcess\InjectedBundle\win&quot;;&quot;$(ProjectDir)\..\WebProcess\Plugins&quot;;&quot;$(ProjectDir)\..\WebProcess\Plugins\Netscape&quot;;&quot;$(ProjectDir)\..\WebProcess\win&quot;;&quot;$(ProjectDir)\..\WebProcess\ApplicationCache&quot;;&quot;$(ProjectDir)\..\WebProcess\Authentication&quot;;&quot;$(ProjectDir)\..\WebProcess\Cookies&quot;;&quot;$(ProjectDir)\..\WebProcess\Downloads&quot;;&quot;$(ProjectDir)\..\WebProcess\Downloads\cf&quot;;&quot;$(ProjectDir)\..\WebProcess\FullScreen&quot;;&quot;$(ProjectDir)\..\WebProcess\Geolocation&quot;;&quot;$(ProjectDir)\..\WebProcess\KeyValueStorage&quot;;&quot;$(ProjectDir)\..\WebProcess\ResourceCache&quot;;&quot;$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources&quot;;&quot;$(ConfigurationBuildDir)\Include&quot;;&quot;$(ConfigurationBuildDir)\Include\private&quot;;&quot;$(WebKitLibrariesDir)\Include&quot;;&quot;$(WebKitLibrariesDir)\Include\private&quot;;&quot;$(WebKitLibrariesDir)\Include\pthreads&quot;;&quot;$(ConfigurationBuildDir)\Include\JavaScriptCore&quot;;&quot;$(ConfigurationBuildDir)\Include\private\JavaScriptCore&quot;;&quot;$(WebKitLibrariesDir)\Include\JavaScriptCore&quot;;&quot;$(WebKitLibrariesDir)\Include\private\JavaScriptCore&quot;;&quot;$(ConfigurationBuildDir)\Include\WebCore\ForwardingHeaders&quot;;&quot;$(WebKitLibrariesDir)\Include\WebCore\ForwardingHeaders&quot;"
</del><ins>+                AdditionalIncludeDirectories="&quot;$(ProjectDir)&quot;;&quot;$(ProjectDir)\..&quot;;&quot;$(ProjectDir)\..\Platform&quot;;&quot;$(ProjectDir)\..\Platform\cg&quot;;&quot;$(ProjectDir)\..\Platform\CoreIPC&quot;;&quot;$(ProjectDir)\..\PluginProcess&quot;;&quot;$(ProjectDir)\..\Shared&quot;;&quot;$(ProjectDir)\..\Shared\win&quot;;&quot;$(ProjectDir)\..\Shared\cf&quot;;&quot;$(ProjectDir)\..\Shared\API\c&quot;;&quot;$(ProjectDir)\..\Shared\API\c\cf&quot;;&quot;$(ProjectDir)\..\Shared\API\c\win&quot;;&quot;$(ProjectDir)\..\Shared\CoreIPCSupport&quot;;&quot;$(ProjectDir)\..\Shared\Plugins&quot;;&quot;$(ProjectDir)\..\Shared\Plugins\Netscape&quot;;&quot;$(ProjectDir)\..\UIProcess&quot;;&quot;$(ProjectDir)\..\UIProcess\API\C&quot;;&quot;$(ProjectDir)\..\UIProcess\API\C\win&quot;;&quot;$(ProjectDir)\..\UIProcess\API\cpp&quot;;&quot;$(ProjectDir)\..\UIProcess\API\win&quot;;&quot;$(ProjectDir)\..\UIProcess\Authentication&quot;;&quot;$(ProjectDir)\..\UIProcess\Downloads&quot;;&quot;$(ProjectDir)\..\UIProcess\Launcher&quot;;&quot;$(ProjectDir)\..\UIProcess\Plugins&quot;;&quot;$(ProjectDir)\..\UIProcess\win&quot;;&quot;$(ProjectDir)\..\WebProcess&quot;;&quot;$(ProjectDir)\..\WebProcess\WebCoreSupport&quot;;&quot;$(ProjectDir)\..\WebProcess\WebCoreSupport\win&quot;;&quot;$(ProjectDir)\..\WebProcess\WebPage&quot;;&quot;$(ProjectDir)\..\WebProcess\WebPage\win&quot;;&quot;$(ProjectDir)\..\WebProcess\IconDatabase&quot;;&quot;$(ProjectDir)\..\WebProcess\InjectedBundle&quot;;&quot;$(ProjectDir)\..\WebProcess\InjectedBundle\API\c&quot;;&quot;$(ProjectDir)\..\WebProcess\InjectedBundle\DOM&quot;;&quot;$(ProjectDir)\..\WebProcess\InjectedBundle\win&quot;;&quot;$(ProjectDir)\..\WebProcess\Plugins&quot;;&quot;$(ProjectDir)\..\WebProcess\Plugins\Netscape&quot;;&quot;$(ProjectDir)\..\WebProcess\win&quot;;&quot;$(ProjectDir)\..\WebProcess\ApplicationCache&quot;;&quot;$(ProjectDir)\..\WebProcess\Authentication&quot;;&quot;$(ProjectDir)\..\WebProcess\Cookies&quot;;&quot;$(ProjectDir)\..\WebProcess\Downloads&quot;;&quot;$(ProjectDir)\..\WebProcess\Downloads\cf&quot;;&quot;$(ProjectDir)\..\WebProcess\FullScreen&quot;;&quot;$(ProjectDir)\..\WebProcess\Geolocation&quot;;&quot;$(ProjectDir)\..\WebProcess\KeyValueStorage&quot;;&quot;$(ProjectDir)\..\WebProcess\MediaCache&quot;;&quot;$(ProjectDir)\..\WebProcess\ResourceCache&quot;;&quot;$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources&quot;;&quot;$(ConfigurationBuildDir)\Include&quot;;&quot;$(ConfigurationBuildDir)\Include\private&quot;;&quot;$(WebKitLibrariesDir)\Include&quot;;&quot;$(WebKitLibrariesDir)\Include\private&quot;;&quot;$(WebKitLibrariesDir)\Include\pthreads&quot;;&quot;$(ConfigurationBuildDir)\Include\JavaScriptCore&quot;;&quot;$(ConfigurationBuildDir)\Include\private\JavaScriptCore&quot;;&quot;$(WebKitLibrariesDir)\Include\JavaScriptCore&quot;;&quot;$(WebKitLibrariesDir)\Include\private\JavaScriptCore&quot;;&quot;$(ConfigurationBuildDir)\Include\WebCore\ForwardingHeaders&quot;;&quot;$(WebKitLibrariesDir)\Include\WebCore\ForwardingHeaders&quot;"
</ins><span class="cx">           PreprocessorDefinitions="_USRDLL;WEBKIT_EXPORTS;FRAMEWORK_NAME=WebKit;BUILDING_WEBKIT"
</span><span class="cx">          UsePrecompiledHeader="2"
</span><span class="cx">          PrecompiledHeaderThrough="WebKit2Prefix.h"
</span></span></pre></div>
<a id="trunkSourceWebKit2winWebKit2Generatedmake"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/win/WebKit2Generated.make (81787 => 81788)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/win/WebKit2Generated.make   2011-03-23 17:58:29 UTC (rev 81787)
+++ trunk/Source/WebKit2/win/WebKit2Generated.make      2011-03-23 18:17:47 UTC (rev 81788)
</span><span class="lines">@@ -58,6 +58,7 @@
</span><span class="cx">     xcopy /y /d "..\UIProcess\API\C\WKGeolocationPosition.h" "%ConfigurationBuildDir%\include\WebKit2"
</span><span class="cx">     xcopy /y /d "..\UIProcess\API\C\WKInspector.h" "%ConfigurationBuildDir%\include\WebKit2"
</span><span class="cx">     xcopy /y /d "..\UIProcess\API\C\WKKeyValueStorageManager.h" "%ConfigurationBuildDir%\include\WebKit2"
</span><ins>+    xcopy /y /d "..\UIProcess\API\C\WKMediaCacheManager.h" "%ConfigurationBuildDir%\include\WebKit2"
</ins><span class="cx">     xcopy /y /d "..\UIProcess\API\C\WKNativeEvent.h" "%ConfigurationBuildDir%\include\WebKit2"
</span><span class="cx">     xcopy /y /d "..\UIProcess\API\C\WKNavigationData.h" "%ConfigurationBuildDir%\include\WebKit2"
</span><span class="cx">     xcopy /y /d "..\UIProcess\API\C\WKOpenPanelParameters.h" "%ConfigurationBuildDir%\include\WebKit2"
</span></span></pre>
</div>
</div>

</body>
</html>