<!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>[171636] tags/Safari-600.1.3/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/171636">171636</a></dd>
<dt>Author</dt> <dd>matthew_hanson@apple.com</dd>
<dt>Date</dt> <dd>2014-07-25 17:46:50 -0700 (Fri, 25 Jul 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>Merge <a href="http://trac.webkit.org/projects/webkit/changeset/171622">r171622</a>. &lt;rdar://problem/15917314&gt;</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#tagsSafari60013SourceWebKit2ChangeLog">tags/Safari-600.1.3/Source/WebKit2/ChangeLog</a></li>
<li><a href="#tagsSafari60013SourceWebKit2DatabaseProcessDatabaseProcesscpp">tags/Safari-600.1.3/Source/WebKit2/DatabaseProcess/DatabaseProcess.cpp</a></li>
<li><a href="#tagsSafari60013SourceWebKit2DatabaseProcessDatabaseProcessh">tags/Safari-600.1.3/Source/WebKit2/DatabaseProcess/DatabaseProcess.h</a></li>
<li><a href="#tagsSafari60013SourceWebKit2DatabaseProcessDatabaseProcessmessagesin">tags/Safari-600.1.3/Source/WebKit2/DatabaseProcess/DatabaseProcess.messages.in</a></li>
<li><a href="#tagsSafari60013SourceWebKit2UIProcessAPICWKOriginDataManagercpp">tags/Safari-600.1.3/Source/WebKit2/UIProcess/API/C/WKOriginDataManager.cpp</a></li>
<li><a href="#tagsSafari60013SourceWebKit2UIProcessAPICWKOriginDataManagerh">tags/Safari-600.1.3/Source/WebKit2/UIProcess/API/C/WKOriginDataManager.h</a></li>
<li><a href="#tagsSafari60013SourceWebKit2UIProcessDatabasesDatabaseProcessProxycpp">tags/Safari-600.1.3/Source/WebKit2/UIProcess/Databases/DatabaseProcessProxy.cpp</a></li>
<li><a href="#tagsSafari60013SourceWebKit2UIProcessDatabasesDatabaseProcessProxyh">tags/Safari-600.1.3/Source/WebKit2/UIProcess/Databases/DatabaseProcessProxy.h</a></li>
<li><a href="#tagsSafari60013SourceWebKit2UIProcessDatabasesDatabaseProcessProxymessagesin">tags/Safari-600.1.3/Source/WebKit2/UIProcess/Databases/DatabaseProcessProxy.messages.in</a></li>
<li><a href="#tagsSafari60013SourceWebKit2UIProcessWebContextcpp">tags/Safari-600.1.3/Source/WebKit2/UIProcess/WebContext.cpp</a></li>
<li><a href="#tagsSafari60013SourceWebKit2UIProcessWebContexth">tags/Safari-600.1.3/Source/WebKit2/UIProcess/WebContext.h</a></li>
<li><a href="#tagsSafari60013SourceWebKit2UIProcessWebOriginDataManagerProxycpp">tags/Safari-600.1.3/Source/WebKit2/UIProcess/WebOriginDataManagerProxy.cpp</a></li>
<li><a href="#tagsSafari60013SourceWebKit2UIProcessWebOriginDataManagerProxyh">tags/Safari-600.1.3/Source/WebKit2/UIProcess/WebOriginDataManagerProxy.h</a></li>
<li><a href="#tagsSafari60013SourceWebKit2UIProcessWebOriginDataManagerProxymessagesin">tags/Safari-600.1.3/Source/WebKit2/UIProcess/WebOriginDataManagerProxy.messages.in</a></li>
<li><a href="#tagsSafari60013SourceWebKit2WebKit2xcodeprojprojectpbxproj">tags/Safari-600.1.3/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj</a></li>
<li><a href="#tagsSafari60013SourceWebKit2WebProcessOriginDataWebOriginDataManagercpp">tags/Safari-600.1.3/Source/WebKit2/WebProcess/OriginData/WebOriginDataManager.cpp</a></li>
<li><a href="#tagsSafari60013SourceWebKit2WebProcessOriginDataWebOriginDataManagerh">tags/Safari-600.1.3/Source/WebKit2/WebProcess/OriginData/WebOriginDataManager.h</a></li>
<li><a href="#tagsSafari60013SourceWebKit2WebProcessOriginDataWebOriginDataManagermessagesin">tags/Safari-600.1.3/Source/WebKit2/WebProcess/OriginData/WebOriginDataManager.messages.in</a></li>
</ul>

<h3>Removed Paths</h3>
<ul>
<li><a href="#tagsSafari60013SourceWebKit2UIProcessWebOriginDataManagerProxyChangeClientcpp">tags/Safari-600.1.3/Source/WebKit2/UIProcess/WebOriginDataManagerProxyChangeClient.cpp</a></li>
<li><a href="#tagsSafari60013SourceWebKit2UIProcessWebOriginDataManagerProxyChangeClienth">tags/Safari-600.1.3/Source/WebKit2/UIProcess/WebOriginDataManagerProxyChangeClient.h</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="tagsSafari60013SourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: tags/Safari-600.1.3/Source/WebKit2/ChangeLog (171635 => 171636)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-600.1.3/Source/WebKit2/ChangeLog        2014-07-26 00:43:13 UTC (rev 171635)
+++ tags/Safari-600.1.3/Source/WebKit2/ChangeLog        2014-07-26 00:46:50 UTC (rev 171636)
</span><span class="lines">@@ -1,5 +1,71 @@
</span><span class="cx"> 2014-07-25  Matthew Hanson  &lt;matthew_hanson@apple.com&gt;
</span><span class="cx"> 
</span><ins>+        Merge r171622. &lt;rdar://problem/15917314&gt;
+
+    2014-07-25  Brady Eidson  &lt;beidson@apple.com&gt;
+
+            Clean up WKOriginDataManager and get it messaging to the DatabaseProcess
+            https://bugs.webkit.org/show_bug.cgi?id=135035
+
+            Reviewed by Sam Weinig.
+
+            * DatabaseProcess/DatabaseProcess.cpp:
+            (WebKit::DatabaseProcess::DatabaseProcess): Instantiate the WebOriginDataManager, installing its message handler.
+            (WebKit::DatabaseProcess::didReceiveMessage): Try the message receiver map, which will try the WebOriginDataManager.
+            * DatabaseProcess/DatabaseProcess.h:
+            * DatabaseProcess/DatabaseProcess.messages.in:
+
+            * UIProcess/API/C/WKOriginDataManager.cpp:
+            (WKOriginDataManagerDeleteEntriesForOrigin): Updated to also take a callback.
+            (WKOriginDataManagerDeleteEntriesModifiedBetweenDates): Added.
+            (WKOriginDataManagerDeleteAllEntries): Updated to also take a callback.
+            (WKOriginDataManagerStartObservingChanges): Deleted.
+            (WKOriginDataManagerStopObservingChanges): Deleted.
+            (WKOriginDataManagerSetChangeClient): Deleted.
+            * UIProcess/API/C/WKOriginDataManager.h:
+
+            * UIProcess/Databases/DatabaseProcessProxy.cpp:
+            (WebKit::DatabaseProcessProxy::didReceiveMessage): Send messages to the WebOriginDataManagerProxy supplement if appropriate.
+            * UIProcess/Databases/DatabaseProcessProxy.h:
+            * UIProcess/Databases/DatabaseProcessProxy.messages.in:
+
+            * UIProcess/WebContext.cpp:
+            (WebKit::WebContext::WebContext): Instantiate the WebOriginDataManagerProxy supplement.
+            * UIProcess/WebContext.h:
+            (WebKit::WebContext::sendToDatabaseProcessRelaunchingIfNecessary):
+
+            * UIProcess/WebOriginDataManagerProxy.cpp:
+            (WebKit::WebOriginDataManagerProxy::contextDestroyed):
+            (WebKit::WebOriginDataManagerProxy::processDidClose):
+            (WebKit::WebOriginDataManagerProxy::getOrigins):
+            (WebKit::WebOriginDataManagerProxy::deleteEntriesForOrigin): Setup a callback with the message.
+            (WebKit::WebOriginDataManagerProxy::deleteEntriesModifiedBetweenDates): Added
+            (WebKit::WebOriginDataManagerProxy::didDeleteEntries): Call the callback.
+            (WebKit::WebOriginDataManagerProxy::deleteAllEntries): Setup a callback with the message.
+            (WebKit::WebOriginDataManagerProxy::didDeleteAllEntries): Call the callback.
+            (WebKit::WebOriginDataManagerProxy::startObservingChanges): Deleted.
+            (WebKit::WebOriginDataManagerProxy::stopObservingChanges): Deleted.
+            (WebKit::WebOriginDataManagerProxy::setChangeClient): Deleted.
+            (WebKit::WebOriginDataManagerProxy::didChange): Deleted.
+            * UIProcess/WebOriginDataManagerProxy.h:
+            * UIProcess/WebOriginDataManagerProxy.messages.in:
+
+            * UIProcess/WebOriginDataManagerProxyChangeClient.cpp: Removed.
+            * UIProcess/WebOriginDataManagerProxyChangeClient.h: Removed.
+
+            * WebKit2.xcodeproj/project.pbxproj:
+
+            * WebProcess/OriginData/WebOriginDataManager.cpp:
+            (WebKit::WebOriginDataManager::deleteEntriesForOrigin): Send the callback reply.
+            (WebKit::WebOriginDataManager::deleteEntriesModifiedBetweenDates): Added.
+            (WebKit::WebOriginDataManager::deleteAllEntries): Send the callback reply.
+            (WebKit::WebOriginDataManager::startObservingChanges): Deleted.
+            (WebKit::WebOriginDataManager::stopObservingChanges): Deleted.
+            * WebProcess/OriginData/WebOriginDataManager.h:
+            * WebProcess/OriginData/WebOriginDataManager.messages.in:
+
+2014-07-25  Matthew Hanson  &lt;matthew_hanson@apple.com&gt;
+
</ins><span class="cx">         Merge r171629. &lt;rdar://problem/17654369&gt;
</span><span class="cx"> 
</span><span class="cx">     2014-07-25  Oliver Hunt  &lt;oliver@apple.com&gt;
</span></span></pre></div>
<a id="tagsSafari60013SourceWebKit2DatabaseProcessDatabaseProcesscpp"></a>
<div class="modfile"><h4>Modified: tags/Safari-600.1.3/Source/WebKit2/DatabaseProcess/DatabaseProcess.cpp (171635 => 171636)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-600.1.3/Source/WebKit2/DatabaseProcess/DatabaseProcess.cpp        2014-07-26 00:43:13 UTC (rev 171635)
+++ tags/Safari-600.1.3/Source/WebKit2/DatabaseProcess/DatabaseProcess.cpp        2014-07-26 00:46:50 UTC (rev 171636)
</span><span class="lines">@@ -30,9 +30,12 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;AsyncTask.h&quot;
</span><span class="cx"> #include &quot;DatabaseProcessCreationParameters.h&quot;
</span><ins>+#include &quot;DatabaseProcessMessages.h&quot;
</ins><span class="cx"> #include &quot;DatabaseProcessProxyMessages.h&quot;
</span><span class="cx"> #include &quot;DatabaseToWebProcessConnection.h&quot;
</span><span class="cx"> #include &quot;UniqueIDBDatabase.h&quot;
</span><ins>+#include &quot;WebOriginDataManager.h&quot;
+#include &quot;WebOriginDataManagerMessages.h&quot;
</ins><span class="cx"> #include &lt;WebCore/FileSystem.h&gt;
</span><span class="cx"> #include &lt;wtf/MainThread.h&gt;
</span><span class="cx"> 
</span><span class="lines">@@ -48,6 +51,7 @@
</span><span class="cx"> 
</span><span class="cx"> DatabaseProcess::DatabaseProcess()
</span><span class="cx">     : m_queue(adoptRef(*WorkQueue::create(&quot;com.apple.WebKit.DatabaseProcess&quot;).leakRef()))
</span><ins>+    , m_webOriginDataManager(std::make_unique&lt;WebOriginDataManager&gt;(this))
</ins><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -70,6 +74,17 @@
</span><span class="cx">     RunLoop::current().stop();
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+void DatabaseProcess::didReceiveMessage(IPC::Connection* connection, IPC::MessageDecoder&amp; decoder)
+{
+    if (messageReceiverMap().dispatchMessage(connection, decoder))
+        return;
+
+    if (decoder.messageReceiverName() == Messages::DatabaseProcess::messageReceiverName()) {
+        didReceiveDatabaseProcessMessage(connection, decoder);
+        return;
+    }
+}
+
</ins><span class="cx"> void DatabaseProcess::didReceiveInvalidMessage(IPC::Connection*, IPC::StringReference, IPC::StringReference)
</span><span class="cx"> {
</span><span class="cx">     RunLoop::current().stop();
</span></span></pre></div>
<a id="tagsSafari60013SourceWebKit2DatabaseProcessDatabaseProcessh"></a>
<div class="modfile"><h4>Modified: tags/Safari-600.1.3/Source/WebKit2/DatabaseProcess/DatabaseProcess.h (171635 => 171636)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-600.1.3/Source/WebKit2/DatabaseProcess/DatabaseProcess.h        2014-07-26 00:43:13 UTC (rev 171635)
+++ tags/Safari-600.1.3/Source/WebKit2/DatabaseProcess/DatabaseProcess.h        2014-07-26 00:46:50 UTC (rev 171636)
</span><span class="lines">@@ -39,6 +39,7 @@
</span><span class="cx"> class AsyncTask;
</span><span class="cx"> class DatabaseToWebProcessConnection;
</span><span class="cx"> class UniqueIDBDatabase;
</span><ins>+class WebOriginDataManager;
</ins><span class="cx"> 
</span><span class="cx"> struct DatabaseProcessCreationParameters;
</span><span class="cx"> 
</span><span class="lines">@@ -47,6 +48,7 @@
</span><span class="cx">     friend class NeverDestroyed&lt;DatabaseProcess&gt;;
</span><span class="cx"> public:
</span><span class="cx">     static DatabaseProcess&amp; shared();
</span><ins>+    ~DatabaseProcess();
</ins><span class="cx"> 
</span><span class="cx">     const String&amp; indexedDatabaseDirectory() const { return m_indexedDatabaseDirectory; }
</span><span class="cx"> 
</span><span class="lines">@@ -58,8 +60,6 @@
</span><span class="cx"> 
</span><span class="cx">     WorkQueue&amp; queue() { return m_queue.get(); }
</span><span class="cx"> 
</span><del>-    ~DatabaseProcess();
-
</del><span class="cx"> private:
</span><span class="cx">     DatabaseProcess();
</span><span class="cx"> 
</span><span class="lines">@@ -74,6 +74,7 @@
</span><span class="cx">     virtual void didReceiveMessage(IPC::Connection*, IPC::MessageDecoder&amp;) override;
</span><span class="cx">     virtual void didClose(IPC::Connection*) override;
</span><span class="cx">     virtual void didReceiveInvalidMessage(IPC::Connection*, IPC::StringReference messageReceiverName, IPC::StringReference messageName) override;
</span><ins>+    void didReceiveDatabaseProcessMessage(IPC::Connection*, IPC::MessageDecoder&amp;);
</ins><span class="cx"> 
</span><span class="cx">     // Message Handlers
</span><span class="cx">     void initializeDatabaseProcess(const DatabaseProcessCreationParameters&amp;);
</span><span class="lines">@@ -95,6 +96,8 @@
</span><span class="cx"> 
</span><span class="cx">     Deque&lt;std::unique_ptr&lt;AsyncTask&gt;&gt; m_databaseTasks;
</span><span class="cx">     Mutex m_databaseTaskMutex;
</span><ins>+
+    std::unique_ptr&lt;WebOriginDataManager&gt; m_webOriginDataManager;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebKit
</span></span></pre></div>
<a id="tagsSafari60013SourceWebKit2DatabaseProcessDatabaseProcessmessagesin"></a>
<div class="modfile"><h4>Modified: tags/Safari-600.1.3/Source/WebKit2/DatabaseProcess/DatabaseProcess.messages.in (171635 => 171636)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-600.1.3/Source/WebKit2/DatabaseProcess/DatabaseProcess.messages.in        2014-07-26 00:43:13 UTC (rev 171635)
+++ tags/Safari-600.1.3/Source/WebKit2/DatabaseProcess/DatabaseProcess.messages.in        2014-07-26 00:46:50 UTC (rev 171636)
</span><span class="lines">@@ -22,7 +22,7 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(DATABASE_PROCESS)
</span><span class="cx"> 
</span><del>-messages -&gt; DatabaseProcess {
</del><ins>+messages -&gt; DatabaseProcess LegacyReceiver {
</ins><span class="cx">     # Initializes the DatabaseProcess with the correct parameters
</span><span class="cx">     InitializeDatabaseProcess(WebKit::DatabaseProcessCreationParameters processCreationParameters)
</span><span class="cx"> 
</span></span></pre></div>
<a id="tagsSafari60013SourceWebKit2UIProcessAPICWKOriginDataManagercpp"></a>
<div class="modfile"><h4>Modified: tags/Safari-600.1.3/Source/WebKit2/UIProcess/API/C/WKOriginDataManager.cpp (171635 => 171636)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-600.1.3/Source/WebKit2/UIProcess/API/C/WKOriginDataManager.cpp        2014-07-26 00:43:13 UTC (rev 171635)
+++ tags/Safari-600.1.3/Source/WebKit2/UIProcess/API/C/WKOriginDataManager.cpp        2014-07-26 00:46:50 UTC (rev 171636)
</span><span class="lines">@@ -41,27 +41,23 @@
</span><span class="cx">     toImpl(originDataManagerRef)-&gt;getOrigins(types, toGenericCallbackFunction(context, callback));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WKOriginDataManagerDeleteEntriesForOrigin(WKOriginDataManagerRef originDataManagerRef, WKOriginDataTypes types, WKSecurityOriginRef originRef)
</del><ins>+void WKOriginDataManagerDeleteEntriesForOrigin(WKOriginDataManagerRef originDataManagerRef, WKOriginDataTypes types, WKSecurityOriginRef originRef, void* context, WKOriginDataManagerDeleteEntriesCallbackFunction callback)
</ins><span class="cx"> {
</span><del>-    toImpl(originDataManagerRef)-&gt;deleteEntriesForOrigin(types, toImpl(originRef));
</del><ins>+    toImpl(originDataManagerRef)-&gt;deleteEntriesForOrigin(types, toImpl(originRef), [context, callback](CallbackBase::Error error) {
+        callback(error != CallbackBase::Error::None ? toAPI(API::Error::create().get()) : 0, context);
+    });
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WKOriginDataManagerDeleteAllEntries(WKOriginDataManagerRef originDataManagerRef, WKOriginDataTypes types)
</del><ins>+void WKOriginDataManagerDeleteEntriesModifiedBetweenDates(WKOriginDataManagerRef originDataManagerRef, WKOriginDataTypes types, double startDate, double endDate, void* context, WKOriginDataManagerDeleteEntriesCallbackFunction callback)
</ins><span class="cx"> {
</span><del>-    toImpl(originDataManagerRef)-&gt;deleteAllEntries(types);
</del><ins>+    toImpl(originDataManagerRef)-&gt;deleteEntriesModifiedBetweenDates(types, startDate, endDate, [context, callback](CallbackBase::Error error) {
+        callback(error != CallbackBase::Error::None ? toAPI(API::Error::create().get()) : 0, context);
+    });
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WKOriginDataManagerStartObservingChanges(WKOriginDataManagerRef originDataManagerRef, WKOriginDataTypes types)
</del><ins>+void WKOriginDataManagerDeleteAllEntries(WKOriginDataManagerRef originDataManagerRef, WKOriginDataTypes types, void* context, WKOriginDataManagerDeleteEntriesCallbackFunction callback)
</ins><span class="cx"> {
</span><del>-    toImpl(originDataManagerRef)-&gt;startObservingChanges(types);
</del><ins>+    toImpl(originDataManagerRef)-&gt;deleteAllEntries(types, [context, callback](CallbackBase::Error error) {
+        callback(error != CallbackBase::Error::None ? toAPI(API::Error::create().get()) : 0, context);
+    });
</ins><span class="cx"> }
</span><del>-
-void WKOriginDataManagerStopObservingChanges(WKOriginDataManagerRef originDataManagerRef, WKOriginDataTypes types)
-{
-    toImpl(originDataManagerRef)-&gt;stopObservingChanges(types);
-}
-
-void WKOriginDataManagerSetChangeClient(WKOriginDataManagerRef originDataManagerRef, const WKOriginDataManagerChangeClientBase *client)
-{
-    toImpl(originDataManagerRef)-&gt;setChangeClient(client);
-}
</del></span></pre></div>
<a id="tagsSafari60013SourceWebKit2UIProcessAPICWKOriginDataManagerh"></a>
<div class="modfile"><h4>Modified: tags/Safari-600.1.3/Source/WebKit2/UIProcess/API/C/WKOriginDataManager.h (171635 => 171636)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-600.1.3/Source/WebKit2/UIProcess/API/C/WKOriginDataManager.h        2014-07-26 00:43:13 UTC (rev 171635)
+++ tags/Safari-600.1.3/Source/WebKit2/UIProcess/API/C/WKOriginDataManager.h        2014-07-26 00:46:50 UTC (rev 171636)
</span><span class="lines">@@ -35,13 +35,14 @@
</span><span class="cx"> enum {
</span><span class="cx">     kWKApplicationCacheOriginData = 1 &lt;&lt; 0,
</span><span class="cx">     kWKCookieOriginData = 1 &lt;&lt; 1,
</span><del>-    kWKDatabaseOriginData = 1 &lt;&lt; 2,
</del><ins>+    kWKIndexedDatabaseData = 1 &lt;&lt; 2,
</ins><span class="cx">     kWKKeyValueStorageOriginData = 1 &lt;&lt; 3,
</span><span class="cx">     kWKMediaCacheOriginData = 1 &lt;&lt; 4,
</span><span class="cx">     kWKPluginDataOriginData = 1 &lt;&lt; 5,
</span><span class="cx">     kWKResourceCacheOriginData = 1 &lt;&lt; 6,
</span><ins>+    kWKWebSQLDatabaseOriginData = 1 &lt;&lt; 7,
</ins><span class="cx"> 
</span><del>-    kWKAllOriginData = (1 &lt;&lt; 7) - 1
</del><ins>+    kWKAllOriginData = 0xFFFFFFFF
</ins><span class="cx"> };
</span><span class="cx"> typedef uint32_t WKOriginDataTypes;
</span><span class="cx"> 
</span><span class="lines">@@ -50,36 +51,11 @@
</span><span class="cx"> typedef void (*WKOriginDataManagerGetOriginsFunction)(WKArrayRef, WKErrorRef, void*);
</span><span class="cx"> WK_EXPORT void WKOriginDataManagerGetOrigins(WKOriginDataManagerRef originDataManager, WKOriginDataTypes types, void* context, WKOriginDataManagerGetOriginsFunction function);
</span><span class="cx"> 
</span><del>-WK_EXPORT void WKOriginDataManagerDeleteEntriesForOrigin(WKOriginDataManagerRef originDataManager, WKOriginDataTypes types, WKSecurityOriginRef origin);
-WK_EXPORT void WKOriginDataManagerDeleteAllEntries(WKOriginDataManagerRef originDataManager, WKOriginDataTypes types);
</del><ins>+typedef void (*WKOriginDataManagerDeleteEntriesCallbackFunction)(WKErrorRef, void*);
+WK_EXPORT void WKOriginDataManagerDeleteEntriesForOrigin(WKOriginDataManagerRef originDataManager, WKOriginDataTypes types, WKSecurityOriginRef origin, void* context, WKOriginDataManagerDeleteEntriesCallbackFunction function);
+WK_EXPORT void WKOriginDataManagerDeleteEntriesModifiedBetweenDates(WKOriginDataManagerRef originDataManager, WKOriginDataTypes types, double startDate, double endDate, void* context, WKOriginDataManagerDeleteEntriesCallbackFunction function);
+WK_EXPORT void WKOriginDataManagerDeleteAllEntries(WKOriginDataManagerRef originDataManager, WKOriginDataTypes types, void* context, WKOriginDataManagerDeleteEntriesCallbackFunction function);
</ins><span class="cx"> 
</span><del>-// OriginDataManager Client
-typedef void (*WKOriginDataManagerChangeCallback)(WKOriginDataManagerRef originDataManager, const void *clientInfo);
-
-typedef struct WKOriginDataManagerChangeClientBase {
-    const void *                                                        clientInfo;
-    int                                                                 version;
-} WKOriginDataManagerChangeClientBase;
-
-typedef struct WKOriginDataManagerChangeClientV0 {
-    WKOriginDataManagerChangeClientBase                                 base;
-
-    // Version 0.
-    WKOriginDataManagerChangeCallback                                   didChange;
-} WKOriginDataManagerChangeClientV0;
-
-enum { kWKOriginDataManagerChangeClientVersion = 0 };
-typedef struct WKOriginDataManagerChangeClient {
-    int                                                                 version;
-    const void *                                                        clientInfo;
-
-    // Version 0.
-    WKOriginDataManagerChangeCallback                                   didChange;
-} WKOriginDataManagerChangeClient WK_DEPRECATED(&quot;Use an explicit versioned struct instead&quot;);
-
-WK_EXPORT void WKOriginDataManagerStartObservingChanges(WKOriginDataManagerRef originDataManager, WKOriginDataTypes types);
-WK_EXPORT void WKOriginDataManagerStopObservingChanges(WKOriginDataManagerRef originDataManager, WKOriginDataTypes types);
-WK_EXPORT void WKOriginDataManagerSetChangeClient(WKOriginDataManagerRef originDataManger, const WKOriginDataManagerChangeClientBase* client);
</del><span class="cx"> #ifdef __cplusplus
</span><span class="cx"> }
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="tagsSafari60013SourceWebKit2UIProcessDatabasesDatabaseProcessProxycpp"></a>
<div class="modfile"><h4>Modified: tags/Safari-600.1.3/Source/WebKit2/UIProcess/Databases/DatabaseProcessProxy.cpp (171635 => 171636)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-600.1.3/Source/WebKit2/UIProcess/Databases/DatabaseProcessProxy.cpp        2014-07-26 00:43:13 UTC (rev 171635)
+++ tags/Safari-600.1.3/Source/WebKit2/UIProcess/Databases/DatabaseProcessProxy.cpp        2014-07-26 00:46:50 UTC (rev 171636)
</span><span class="lines">@@ -27,7 +27,10 @@
</span><span class="cx"> #include &quot;DatabaseProcessProxy.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &quot;DatabaseProcessMessages.h&quot;
</span><ins>+#include &quot;DatabaseProcessProxyMessages.h&quot;
</ins><span class="cx"> #include &quot;WebContext.h&quot;
</span><ins>+#include &quot;WebOriginDataManagerProxy.h&quot;
+#include &quot;WebOriginDataManagerProxyMessages.h&quot;
</ins><span class="cx"> 
</span><span class="cx"> #if ENABLE(DATABASE_PROCESS)
</span><span class="cx"> 
</span><span class="lines">@@ -66,6 +69,19 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+void DatabaseProcessProxy::didReceiveMessage(IPC::Connection* connection, IPC::MessageDecoder&amp; decoder)
+{
+    if (decoder.messageReceiverName() == Messages::DatabaseProcessProxy::messageReceiverName()) {
+        didReceiveDatabaseProcessProxyMessage(connection, decoder);
+        return;
+    }
+
+    if (decoder.messageReceiverName() == Messages::WebOriginDataManagerProxy::messageReceiverName()) {
+        m_webContext-&gt;supplement&lt;WebOriginDataManagerProxy&gt;()-&gt;didReceiveMessage(connection, decoder);
+        return;
+    }
+}
+
</ins><span class="cx"> void DatabaseProcessProxy::getDatabaseProcessConnection(PassRefPtr&lt;Messages::WebProcessProxy::GetDatabaseProcessConnection::DelayedReply&gt; reply)
</span><span class="cx"> {
</span><span class="cx">     m_pendingConnectionReplies.append(reply);
</span></span></pre></div>
<a id="tagsSafari60013SourceWebKit2UIProcessDatabasesDatabaseProcessProxyh"></a>
<div class="modfile"><h4>Modified: tags/Safari-600.1.3/Source/WebKit2/UIProcess/Databases/DatabaseProcessProxy.h (171635 => 171636)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-600.1.3/Source/WebKit2/UIProcess/Databases/DatabaseProcessProxy.h        2014-07-26 00:43:13 UTC (rev 171635)
+++ tags/Safari-600.1.3/Source/WebKit2/UIProcess/Databases/DatabaseProcessProxy.h        2014-07-26 00:46:50 UTC (rev 171636)
</span><span class="lines">@@ -57,6 +57,8 @@
</span><span class="cx">     virtual void didClose(IPC::Connection*) override;
</span><span class="cx">     virtual void didReceiveInvalidMessage(IPC::Connection*, IPC::StringReference messageReceiverName, IPC::StringReference messageName) override;
</span><span class="cx"> 
</span><ins>+    void didReceiveDatabaseProcessProxyMessage(IPC::Connection*, IPC::MessageDecoder&amp;);
+
</ins><span class="cx">     // Message handlers
</span><span class="cx">     void didCreateDatabaseToWebProcessConnection(const IPC::Attachment&amp;);
</span><span class="cx"> 
</span></span></pre></div>
<a id="tagsSafari60013SourceWebKit2UIProcessDatabasesDatabaseProcessProxymessagesin"></a>
<div class="modfile"><h4>Modified: tags/Safari-600.1.3/Source/WebKit2/UIProcess/Databases/DatabaseProcessProxy.messages.in (171635 => 171636)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-600.1.3/Source/WebKit2/UIProcess/Databases/DatabaseProcessProxy.messages.in        2014-07-26 00:43:13 UTC (rev 171635)
+++ tags/Safari-600.1.3/Source/WebKit2/UIProcess/Databases/DatabaseProcessProxy.messages.in        2014-07-26 00:46:50 UTC (rev 171636)
</span><span class="lines">@@ -22,7 +22,7 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(DATABASE_PROCESS)
</span><span class="cx"> 
</span><del>-messages -&gt; DatabaseProcessProxy {
</del><ins>+messages -&gt; DatabaseProcessProxy LegacyReceiver {
</ins><span class="cx">     DidCreateDatabaseToWebProcessConnection(IPC::Attachment connectionIdentifier)
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="tagsSafari60013SourceWebKit2UIProcessWebContextcpp"></a>
<div class="modfile"><h4>Modified: tags/Safari-600.1.3/Source/WebKit2/UIProcess/WebContext.cpp (171635 => 171636)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-600.1.3/Source/WebKit2/UIProcess/WebContext.cpp        2014-07-26 00:43:13 UTC (rev 171635)
+++ tags/Safari-600.1.3/Source/WebKit2/UIProcess/WebContext.cpp        2014-07-26 00:46:50 UTC (rev 171636)
</span><span class="lines">@@ -78,6 +78,7 @@
</span><span class="cx"> #if ENABLE(DATABASE_PROCESS)
</span><span class="cx"> #include &quot;DatabaseProcessCreationParameters.h&quot;
</span><span class="cx"> #include &quot;DatabaseProcessMessages.h&quot;
</span><ins>+#include &quot;WebOriginDataManagerProxy.h&quot;
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(NETWORK_PROCESS)
</span><span class="lines">@@ -217,6 +218,9 @@
</span><span class="cx"> #if ENABLE(BATTERY_STATUS)
</span><span class="cx">     addSupplement&lt;WebBatteryManagerProxy&gt;();
</span><span class="cx"> #endif
</span><ins>+#if ENABLE(DATABASE_PROCESS)
+    addSupplement&lt;WebOriginDataManagerProxy&gt;();
+#endif
</ins><span class="cx"> 
</span><span class="cx">     contexts().append(this);
</span><span class="cx"> 
</span></span></pre></div>
<a id="tagsSafari60013SourceWebKit2UIProcessWebContexth"></a>
<div class="modfile"><h4>Modified: tags/Safari-600.1.3/Source/WebKit2/UIProcess/WebContext.h (171635 => 171636)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-600.1.3/Source/WebKit2/UIProcess/WebContext.h        2014-07-26 00:43:13 UTC (rev 171635)
+++ tags/Safari-600.1.3/Source/WebKit2/UIProcess/WebContext.h        2014-07-26 00:46:50 UTC (rev 171636)
</span><span class="lines">@@ -303,6 +303,7 @@
</span><span class="cx">     void ensureDatabaseProcess();
</span><span class="cx">     void getDatabaseProcessConnection(PassRefPtr&lt;Messages::WebProcessProxy::GetDatabaseProcessConnection::DelayedReply&gt;);
</span><span class="cx">     void databaseProcessCrashed(DatabaseProcessProxy*);
</span><ins>+    template&lt;typename T&gt; void sendToDatabaseProcessRelaunchingIfNecessary(T&amp;&amp; message);
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(COCOA)
</span><span class="lines">@@ -615,7 +616,16 @@
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+#if ENABLE(DATABASE_PROCESS)
</ins><span class="cx"> template&lt;typename T&gt;
</span><ins>+void WebContext::sendToDatabaseProcessRelaunchingIfNecessary(T&amp;&amp; message)
+{
+    ensureDatabaseProcess();
+    m_databaseProcess-&gt;send(std::forward&lt;T&gt;(message), 0);
+}
+#endif
+
+template&lt;typename T&gt;
</ins><span class="cx"> void WebContext::sendToAllProcesses(const T&amp; message)
</span><span class="cx"> {
</span><span class="cx">     size_t processCount = m_processes.size();
</span></span></pre></div>
<a id="tagsSafari60013SourceWebKit2UIProcessWebOriginDataManagerProxycpp"></a>
<div class="modfile"><h4>Modified: tags/Safari-600.1.3/Source/WebKit2/UIProcess/WebOriginDataManagerProxy.cpp (171635 => 171636)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-600.1.3/Source/WebKit2/UIProcess/WebOriginDataManagerProxy.cpp        2014-07-26 00:43:13 UTC (rev 171635)
+++ tags/Safari-600.1.3/Source/WebKit2/UIProcess/WebOriginDataManagerProxy.cpp        2014-07-26 00:46:50 UTC (rev 171636)
</span><span class="lines">@@ -102,53 +102,87 @@
</span><span class="cx">     performAPICallbackWithSecurityOriginDataVector(originDatas, callback.get());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebOriginDataManagerProxy::deleteEntriesForOrigin(WKOriginDataTypes types, WebSecurityOrigin* origin)
</del><ins>+void WebOriginDataManagerProxy::deleteEntriesForOrigin(WKOriginDataTypes types, WebSecurityOrigin* origin, std::function&lt;void (CallbackBase::Error)&gt; callbackFunction)
</ins><span class="cx"> {
</span><del>-    if (!context())
</del><ins>+    if (!(types &amp; kWKIndexedDatabaseData))
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><ins>+    // FIXME: Right now we only support IndexedDatabase data so we know that we're only sending this request to the DatabaseProcess.
+    // That's why having one single callback works.
+    // In the future when we message N-processes we'll have to wait for all N replies before responding to the client.
+
+    RefPtr&lt;VoidCallback&gt; callback = VoidCallback::create(WTF::move(callbackFunction));
+
+    if (!context()) {
+        callback-&gt;invalidate();
+        return;
+    }
+
+    uint64_t callbackID = callback-&gt;callbackID();
+    m_voidCallbacks.set(callbackID, callback.release());
+
</ins><span class="cx">     SecurityOriginData securityOriginData;
</span><span class="cx">     securityOriginData.protocol = origin-&gt;securityOrigin().protocol();
</span><span class="cx">     securityOriginData.host = origin-&gt;securityOrigin().host();
</span><span class="cx">     securityOriginData.port = origin-&gt;securityOrigin().port();
</span><span class="cx"> 
</span><del>-    // FIXME (Multi-WebProcess): &lt;rdar://problem/12239765&gt; Make manipulating cache information work with per-tab WebProcess.
-    context()-&gt;sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebOriginDataManager::DeleteEntriesForOrigin(types, securityOriginData));
</del><ins>+    context()-&gt;sendToDatabaseProcessRelaunchingIfNecessary(Messages::WebOriginDataManager::DeleteEntriesForOrigin(types, securityOriginData, callbackID));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebOriginDataManagerProxy::deleteAllEntries(WKOriginDataTypes types)
</del><ins>+void WebOriginDataManagerProxy::deleteEntriesModifiedBetweenDates(WKOriginDataTypes types, double startDate, double endDate, std::function&lt;void (CallbackBase::Error)&gt; callbackFunction)
</ins><span class="cx"> {
</span><del>-    if (!context())
</del><ins>+    if (!(types &amp; kWKIndexedDatabaseData))
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    // FIXME (Multi-WebProcess): &lt;rdar://problem/12239765&gt; Make manipulating cache information work with per-tab WebProcess.
-    context()-&gt;sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebOriginDataManager::DeleteAllEntries(types));
-}
</del><ins>+    // FIXME: Right now we only support IndexedDatabase data so we know that we're only sending this request to the DatabaseProcess.
+    // That's why having one single callback works.
+    // In the future when we message N-processes we'll have to wait for all N replies before responding to the client.
</ins><span class="cx"> 
</span><del>-void WebOriginDataManagerProxy::startObservingChanges(WKOriginDataTypes types)
-{
-    if (!context())
</del><ins>+    RefPtr&lt;VoidCallback&gt; callback = VoidCallback::create(WTF::move(callbackFunction));
+
+    if (!context()) {
+        callback-&gt;invalidate();
</ins><span class="cx">         return;
</span><ins>+    }
</ins><span class="cx"> 
</span><del>-    context()-&gt;sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebOriginDataManager::StartObservingChanges(types));
</del><ins>+    uint64_t callbackID = callback-&gt;callbackID();
+    m_voidCallbacks.set(callbackID, callback.release());
+
+    context()-&gt;sendToDatabaseProcessRelaunchingIfNecessary(Messages::WebOriginDataManager::DeleteEntriesModifiedBetweenDates(types, startDate, endDate, callbackID));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebOriginDataManagerProxy::stopObservingChanges(WKOriginDataTypes types)
</del><ins>+void WebOriginDataManagerProxy::didDeleteEntries(uint64_t callbackID)
</ins><span class="cx"> {
</span><del>-    if (!context())
</del><ins>+    RefPtr&lt;VoidCallback&gt; callback = m_voidCallbacks.take(callbackID);
+    callback-&gt;performCallback();
+}
+
+void WebOriginDataManagerProxy::deleteAllEntries(WKOriginDataTypes types, std::function&lt;void (CallbackBase::Error)&gt; callbackFunction)
+{
+    if (!(types &amp; kWKIndexedDatabaseData))
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    context()-&gt;sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebOriginDataManager::StartObservingChanges(types));
-}
</del><ins>+    // FIXME: Right now we only support IndexedDatabase data so we know that we're only sending this request to the DatabaseProcess.
+    // That's why having one single callback works.
+    // In the future when we message N-processes we'll have to wait for all N replies before responding to the client.
</ins><span class="cx"> 
</span><del>-void WebOriginDataManagerProxy::setChangeClient(const WKOriginDataManagerChangeClientBase *client)
-{
-    m_client.initialize(client);
</del><ins>+    RefPtr&lt;VoidCallback&gt; callback = VoidCallback::create(WTF::move(callbackFunction));
+
+    if (!context()) {
+        callback-&gt;invalidate();
+        return;
+    }
+
+    uint64_t callbackID = callback-&gt;callbackID();
+    m_voidCallbacks.set(callbackID, callback.release());
+
+    context()-&gt;sendToDatabaseProcessRelaunchingIfNecessary(Messages::WebOriginDataManager::DeleteAllEntries(types, callbackID));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebOriginDataManagerProxy::didChange()
</del><ins>+void WebOriginDataManagerProxy::didDeleteAllEntries(uint64_t callbackID)
</ins><span class="cx"> {
</span><del>-    m_client.didChange(this);
</del><ins>+    RefPtr&lt;VoidCallback&gt; callback = m_voidCallbacks.take(callbackID);
+    callback-&gt;performCallback();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebKit
</span></span></pre></div>
<a id="tagsSafari60013SourceWebKit2UIProcessWebOriginDataManagerProxyh"></a>
<div class="modfile"><h4>Modified: tags/Safari-600.1.3/Source/WebKit2/UIProcess/WebOriginDataManagerProxy.h (171635 => 171636)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-600.1.3/Source/WebKit2/UIProcess/WebOriginDataManagerProxy.h        2014-07-26 00:43:13 UTC (rev 171635)
+++ tags/Safari-600.1.3/Source/WebKit2/UIProcess/WebOriginDataManagerProxy.h        2014-07-26 00:46:50 UTC (rev 171636)
</span><span class="lines">@@ -31,7 +31,6 @@
</span><span class="cx"> #include &quot;MessageReceiver.h&quot;
</span><span class="cx"> #include &quot;WKOriginDataManager.h&quot;
</span><span class="cx"> #include &quot;WebContextSupplement.h&quot;
</span><del>-#include &quot;WebOriginDataManagerProxyChangeClient.h&quot;
</del><span class="cx"> #include &lt;wtf/PassRefPtr.h&gt;
</span><span class="cx"> #include &lt;wtf/RefPtr.h&gt;
</span><span class="cx"> #include &lt;wtf/Vector.h&gt;
</span><span class="lines">@@ -55,21 +54,22 @@
</span><span class="cx">     virtual ~WebOriginDataManagerProxy();
</span><span class="cx"> 
</span><span class="cx">     void getOrigins(WKOriginDataTypes, std::function&lt;void (API::Array*, CallbackBase::Error)&gt;);
</span><del>-    void deleteEntriesForOrigin(WKOriginDataTypes, WebSecurityOrigin*);
-    void deleteAllEntries(WKOriginDataTypes);
</del><ins>+    void deleteEntriesForOrigin(WKOriginDataTypes, WebSecurityOrigin*, std::function&lt;void (CallbackBase::Error)&gt;);
+    void deleteEntriesModifiedBetweenDates(WKOriginDataTypes, double startDate, double endDate, std::function&lt;void (CallbackBase::Error)&gt;);
+    void deleteAllEntries(WKOriginDataTypes, std::function&lt;void (CallbackBase::Error)&gt;);
</ins><span class="cx"> 
</span><del>-    void startObservingChanges(WKOriginDataTypes);
-    void stopObservingChanges(WKOriginDataTypes);
-    void setChangeClient(const WKOriginDataManagerChangeClientBase*);
-
</del><span class="cx">     using API::Object::ref;
</span><span class="cx">     using API::Object::deref;
</span><span class="cx"> 
</span><ins>+    // IPC::MessageReceiver
+    virtual void didReceiveMessage(IPC::Connection*, IPC::MessageDecoder&amp;) override;
+
</ins><span class="cx"> private:
</span><span class="cx">     explicit WebOriginDataManagerProxy(WebContext*);
</span><span class="cx"> 
</span><span class="cx">     void didGetOrigins(const Vector&lt;SecurityOriginData&gt;&amp;, uint64_t callbackID);
</span><del>-    void didChange();
</del><ins>+    void didDeleteEntries(uint64_t callbackID);
+    void didDeleteAllEntries(uint64_t callbackID);
</ins><span class="cx"> 
</span><span class="cx">     // WebContextSupplement
</span><span class="cx">     virtual void contextDestroyed() override;
</span><span class="lines">@@ -78,12 +78,8 @@
</span><span class="cx">     virtual void refWebContextSupplement() override;
</span><span class="cx">     virtual void derefWebContextSupplement() override;
</span><span class="cx"> 
</span><del>-    // IPC::MessageReceiver
-    virtual void didReceiveMessage(IPC::Connection*, IPC::MessageDecoder&amp;) override;
-
</del><span class="cx">     HashMap&lt;uint64_t, RefPtr&lt;ArrayCallback&gt;&gt; m_arrayCallbacks;
</span><del>-
-    WebOriginDataManagerProxyChangeClient m_client;
</del><ins>+    HashMap&lt;uint64_t, RefPtr&lt;VoidCallback&gt;&gt; m_voidCallbacks;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebKit
</span></span></pre></div>
<a id="tagsSafari60013SourceWebKit2UIProcessWebOriginDataManagerProxymessagesin"></a>
<div class="modfile"><h4>Modified: tags/Safari-600.1.3/Source/WebKit2/UIProcess/WebOriginDataManagerProxy.messages.in (171635 => 171636)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-600.1.3/Source/WebKit2/UIProcess/WebOriginDataManagerProxy.messages.in        2014-07-26 00:43:13 UTC (rev 171635)
+++ tags/Safari-600.1.3/Source/WebKit2/UIProcess/WebOriginDataManagerProxy.messages.in        2014-07-26 00:46:50 UTC (rev 171636)
</span><span class="lines">@@ -1,4 +1,4 @@
</span><del>-# Copyright (C) 2011 Apple Inc. All rights reserved.
</del><ins>+# Copyright (C) 2011, 2014 Apple Inc. All rights reserved.
</ins><span class="cx"> #
</span><span class="cx"> # Redistribution and use in source and binary forms, with or without
</span><span class="cx"> # modification, are permitted provided that the following conditions
</span><span class="lines">@@ -22,5 +22,6 @@
</span><span class="cx"> 
</span><span class="cx"> messages -&gt; WebOriginDataManagerProxy {
</span><span class="cx">     DidGetOrigins(Vector&lt;WebKit::SecurityOriginData&gt; originIdentifiers, uint64_t callbackID);
</span><del>-    DidChange()
</del><ins>+    DidDeleteEntries(uint64_t callbackID);
+    DidDeleteAllEntries(uint64_t callbackID);
</ins><span class="cx"> }
</span></span></pre></div>
<a id="tagsSafari60013SourceWebKit2UIProcessWebOriginDataManagerProxyChangeClientcpp"></a>
<div class="delfile"><h4>Deleted: tags/Safari-600.1.3/Source/WebKit2/UIProcess/WebOriginDataManagerProxyChangeClient.cpp (171635 => 171636)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-600.1.3/Source/WebKit2/UIProcess/WebOriginDataManagerProxyChangeClient.cpp        2014-07-26 00:43:13 UTC (rev 171635)
+++ tags/Safari-600.1.3/Source/WebKit2/UIProcess/WebOriginDataManagerProxyChangeClient.cpp        2014-07-26 00:46:50 UTC (rev 171636)
</span><span class="lines">@@ -1,41 +0,0 @@
</span><del>-/*
- * Copyright (C) 2013 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 &quot;config.h&quot;
-#include &quot;WebOriginDataManagerProxyChangeClient.h&quot;
-
-#include &quot;WKAPICast.h&quot;
-
-namespace WebKit {
-
-void WebOriginDataManagerProxyChangeClient::didChange(WebOriginDataManagerProxy* originDataManager)
-{
-    if (!m_client.didChange)
-        return;
-
-    m_client.didChange(toAPI(originDataManager), m_client.base.clientInfo);
-}
-
-} // namespace WebKit
</del></span></pre></div>
<a id="tagsSafari60013SourceWebKit2UIProcessWebOriginDataManagerProxyChangeClienth"></a>
<div class="delfile"><h4>Deleted: tags/Safari-600.1.3/Source/WebKit2/UIProcess/WebOriginDataManagerProxyChangeClient.h (171635 => 171636)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-600.1.3/Source/WebKit2/UIProcess/WebOriginDataManagerProxyChangeClient.h        2014-07-26 00:43:13 UTC (rev 171635)
+++ tags/Safari-600.1.3/Source/WebKit2/UIProcess/WebOriginDataManagerProxyChangeClient.h        2014-07-26 00:46:50 UTC (rev 171636)
</span><span class="lines">@@ -1,50 +0,0 @@
</span><del>-/*
- * Copyright (C) 2013 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 WebOriginDataManagerProxyChangeClient_h
-#define WebOriginDataManagerProxyChangeClient_h
-
-#include &quot;APIClient.h&quot;
-#include &quot;WKOriginDataManager.h&quot;
-#include &lt;wtf/Forward.h&gt;
-
-namespace API {
-template&lt;&gt; struct ClientTraits&lt;WKOriginDataManagerChangeClientBase&gt; {
-    typedef std::tuple&lt;WKOriginDataManagerChangeClientV0&gt; Versions;
-};
-}
-
-namespace WebKit {
-
-class WebOriginDataManagerProxy;
-
-class WebOriginDataManagerProxyChangeClient : public API::Client&lt;WKOriginDataManagerChangeClientBase&gt; {
-public:
-    void didChange(WebOriginDataManagerProxy*);
-};
-
-} // namespace WebKit
-
-#endif // WebOriginDataManagerProxyChangeClient_h
</del></span></pre></div>
<a id="tagsSafari60013SourceWebKit2WebKit2xcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: tags/Safari-600.1.3/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj (171635 => 171636)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-600.1.3/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj        2014-07-26 00:43:13 UTC (rev 171635)
+++ tags/Safari-600.1.3/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj        2014-07-26 00:46:50 UTC (rev 171636)
</span><span class="lines">@@ -789,6 +789,7 @@
</span><span class="cx">                 3F889D171887859300FEADAF /* WebVideoFullscreenManager.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3F889D0D1887699C00FEADAF /* WebVideoFullscreenManager.mm */; };
</span><span class="cx">                 4F601432155C5AA2001FBDE0 /* BlockingResponseMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F601430155C5A32001FBDE0 /* BlockingResponseMap.h */; };
</span><span class="cx">                 51021E9C12B16788005C033C /* WebContextMenuClientMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 51021E9B12B16788005C033C /* WebContextMenuClientMac.mm */; };
</span><ins>+                510274321981AF8E008165ED /* WKOriginDataManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 755422BA18062B9C0046F6A8 /* WKOriginDataManager.h */; settings = {ATTRIBUTES = (Private, ); }; };
</ins><span class="cx">                 51032F18180F73BB00961BB7 /* WebToDatabaseProcessConnection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51032F16180F73BB00961BB7 /* WebToDatabaseProcessConnection.cpp */; };
</span><span class="cx">                 51032F19180F73BB00961BB7 /* WebToDatabaseProcessConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = 51032F17180F73BB00961BB7 /* WebToDatabaseProcessConnection.h */; };
</span><span class="cx">                 51032F1D180F791700961BB7 /* DatabaseToWebProcessConnectionMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51032F1B180F791700961BB7 /* DatabaseToWebProcessConnectionMessageReceiver.cpp */; };
</span><span class="lines">@@ -1018,8 +1019,6 @@
</span><span class="cx">                 755422C418062BF90046F6A8 /* WebOriginDataManagerProxy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 755422BE18062BE40046F6A8 /* WebOriginDataManagerProxy.cpp */; };
</span><span class="cx">                 755422CB180650020046F6A8 /* WebOriginDataManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 755422C618064FFC0046F6A8 /* WebOriginDataManager.cpp */; };
</span><span class="cx">                 755422CC180773CE0046F6A8 /* WebOriginDataManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 755422C718064FFC0046F6A8 /* WebOriginDataManager.h */; };
</span><del>-                759CCD581808F1640078E8A8 /* WebOriginDataManagerProxyChangeClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 759CCD541808F1600078E8A8 /* WebOriginDataManagerProxyChangeClient.cpp */; };
-                759CCD591808F1690078E8A8 /* WebOriginDataManagerProxyChangeClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 759CCD551808F1600078E8A8 /* WebOriginDataManagerProxyChangeClient.h */; };
</del><span class="cx">                 759CCD5A1808F6160078E8A8 /* WebOriginDataManagerProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 755422BF18062BE40046F6A8 /* WebOriginDataManagerProxy.h */; };
</span><span class="cx">                 75A8D2C8187CCFAB00C39C9E /* _WKWebsiteDataStore.h in Headers */ = {isa = PBXBuildFile; fileRef = 75A8D2C4187CCF9F00C39C9E /* _WKWebsiteDataStore.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 75A8D2C9187CCFAF00C39C9E /* _WKWebsiteDataStore.mm in Sources */ = {isa = PBXBuildFile; fileRef = 75A8D2C5187CCF9F00C39C9E /* _WKWebsiteDataStore.mm */; };
</span><span class="lines">@@ -3069,8 +3068,6 @@
</span><span class="cx">                 755422C618064FFC0046F6A8 /* WebOriginDataManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = WebOriginDataManager.cpp; path = OriginData/WebOriginDataManager.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 755422C718064FFC0046F6A8 /* WebOriginDataManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WebOriginDataManager.h; path = OriginData/WebOriginDataManager.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 755422C818064FFC0046F6A8 /* WebOriginDataManager.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = WebOriginDataManager.messages.in; path = OriginData/WebOriginDataManager.messages.in; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                759CCD541808F1600078E8A8 /* WebOriginDataManagerProxyChangeClient.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebOriginDataManagerProxyChangeClient.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
-                759CCD551808F1600078E8A8 /* WebOriginDataManagerProxyChangeClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebOriginDataManagerProxyChangeClient.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><span class="cx">                 75A8D2C4187CCF9F00C39C9E /* _WKWebsiteDataStore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = _WKWebsiteDataStore.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 75A8D2C5187CCF9F00C39C9E /* _WKWebsiteDataStore.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = _WKWebsiteDataStore.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 75A8D2D0187D17BF00C39C9E /* WKSessionRef.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WKSessionRef.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -5888,8 +5885,6 @@
</span><span class="cx">                                 755422BF18062BE40046F6A8 /* WebOriginDataManagerProxy.h */,
</span><span class="cx">                                 755422BE18062BE40046F6A8 /* WebOriginDataManagerProxy.cpp */,
</span><span class="cx">                                 755422C018062BE40046F6A8 /* WebOriginDataManagerProxy.messages.in */,
</span><del>-                                759CCD541808F1600078E8A8 /* WebOriginDataManagerProxyChangeClient.cpp */,
-                                759CCD551808F1600078E8A8 /* WebOriginDataManagerProxyChangeClient.h */,
</del><span class="cx">                                 5153569A1291B1D2000749DC /* WebPageContextMenuClient.cpp */,
</span><span class="cx">                                 5153569B1291B1D2000749DC /* WebPageContextMenuClient.h */,
</span><span class="cx">                                 BC7B6205129A0A6700D174A4 /* WebPageGroup.cpp */,
</span><span class="lines">@@ -7369,6 +7364,7 @@
</span><span class="cx">                                 1A6420E512DCE2FF00CAAE2C /* ShareableBitmap.h in Headers */,
</span><span class="cx">                                 51217461164C20E30037A5C1 /* ShareableResource.h in Headers */,
</span><span class="cx">                                 1A24BED5120894D100FBB059 /* SharedMemory.h in Headers */,
</span><ins>+                                510274321981AF8E008165ED /* WKOriginDataManager.h in Headers */,
</ins><span class="cx">                                 5272B28B1406985D0096A5D0 /* StatisticsData.h in Headers */,
</span><span class="cx">                                 514BDED316C98EDD00E4E25E /* StatisticsRequest.h in Headers */,
</span><span class="cx">                                 1AD3306F16B1D991004F60E7 /* StorageAreaImpl.h in Headers */,
</span><span class="lines">@@ -7803,7 +7799,6 @@
</span><span class="cx">                                 373CEAD81859553F008C363D /* WKPagePolicyClientInternal.h in Headers */,
</span><span class="cx">                                 1A66BF8F18A052ED002071B4 /* WKWebViewInternal.h in Headers */,
</span><span class="cx">                                 BC40761A124FF0370068F20A /* WKStringCF.h in Headers */,
</span><del>-                                759CCD591808F1690078E8A8 /* WebOriginDataManagerProxyChangeClient.h in Headers */,
</del><span class="cx">                                 BC9099801256A98200083756 /* WKStringPrivate.h in Headers */,
</span><span class="cx">                                 5175095A1897249700408FAC /* IDBIdentifier.h in Headers */,
</span><span class="cx">                                 1A3C888018A5ABAE00C4C962 /* WKPreferencesInternal.h in Headers */,
</span><span class="lines">@@ -9376,7 +9371,6 @@
</span><span class="cx">                                 1AE52F9119201DA700A1FA37 /* APIContextConfiguration.cpp in Sources */,
</span><span class="cx">                                 3309345A1315B9980097A7BC /* WKCookieManager.cpp in Sources */,
</span><span class="cx">                                 512F58F912A88A5400629530 /* WKCredential.cpp in Sources */,
</span><del>-                                759CCD581808F1640078E8A8 /* WebOriginDataManagerProxyChangeClient.cpp in Sources */,
</del><span class="cx">                                 1A5B1C501898606F004FCF9B /* WKNavigation.mm in Sources */,
</span><span class="cx">                                 BC4075F7124FF0270068F20A /* WKData.cpp in Sources */,
</span><span class="cx">                                 F62A766112B1ABED0005F1B6 /* WKDatabaseManager.cpp in Sources */,
</span></span></pre></div>
<a id="tagsSafari60013SourceWebKit2WebProcessOriginDataWebOriginDataManagercpp"></a>
<div class="modfile"><h4>Modified: tags/Safari-600.1.3/Source/WebKit2/WebProcess/OriginData/WebOriginDataManager.cpp (171635 => 171636)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-600.1.3/Source/WebKit2/WebProcess/OriginData/WebOriginDataManager.cpp        2014-07-26 00:43:13 UTC (rev 171635)
+++ tags/Safari-600.1.3/Source/WebKit2/WebProcess/OriginData/WebOriginDataManager.cpp        2014-07-26 00:46:50 UTC (rev 171636)
</span><span class="lines">@@ -76,28 +76,24 @@
</span><span class="cx">     m_childProcess-&gt;send(Messages::WebOriginDataManagerProxy::DidGetOrigins(identifiers, callbackID), 0);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebOriginDataManager::deleteEntriesForOrigin(WKOriginDataTypes, const SecurityOriginData&amp; originData)
</del><ins>+void WebOriginDataManager::deleteEntriesForOrigin(WKOriginDataTypes, const SecurityOriginData&amp; origindata, uint64_t callbackID)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;SecurityOrigin&gt; origin = SecurityOrigin::create(originData.protocol, originData.host, originData.port);
-    if (!origin)
-        return;
-
</del><span class="cx">     // FIXME: delete entries for origin
</span><ins>+    m_childProcess-&gt;send(Messages::WebOriginDataManagerProxy::DidDeleteEntries(callbackID), 0);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebOriginDataManager::deleteAllEntries(WKOriginDataTypes)
</del><ins>+void WebOriginDataManager::deleteEntriesModifiedBetweenDates(WKOriginDataTypes, double, double, uint64_t callbackID)
</ins><span class="cx"> {
</span><del>-    // FIXME: delete entries
-}
</del><ins>+    // FIXME: delete entries modified between the start and end date
</ins><span class="cx"> 
</span><del>-void WebOriginDataManager::startObservingChanges(WKOriginDataTypes)
-{
-    // FIXME: start observing changes
</del><ins>+    m_childProcess-&gt;send(Messages::WebOriginDataManagerProxy::DidDeleteEntries(callbackID), 0);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebOriginDataManager::stopObservingChanges(WKOriginDataTypes)
</del><ins>+void WebOriginDataManager::deleteAllEntries(WKOriginDataTypes, uint64_t callbackID)
</ins><span class="cx"> {
</span><del>-    // FIXME: stop observing changes
</del><ins>+    // FIXME: delete entries
+
+    m_childProcess-&gt;send(Messages::WebOriginDataManagerProxy::DidDeleteAllEntries(callbackID), 0);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebKit
</span></span></pre></div>
<a id="tagsSafari60013SourceWebKit2WebProcessOriginDataWebOriginDataManagerh"></a>
<div class="modfile"><h4>Modified: tags/Safari-600.1.3/Source/WebKit2/WebProcess/OriginData/WebOriginDataManager.h (171635 => 171636)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-600.1.3/Source/WebKit2/WebProcess/OriginData/WebOriginDataManager.h        2014-07-26 00:43:13 UTC (rev 171635)
+++ tags/Safari-600.1.3/Source/WebKit2/WebProcess/OriginData/WebOriginDataManager.h        2014-07-26 00:46:50 UTC (rev 171636)
</span><span class="lines">@@ -26,9 +26,9 @@
</span><span class="cx"> #ifndef WebOriginDataManager_h
</span><span class="cx"> #define WebOriginDataManager_h
</span><span class="cx"> 
</span><ins>+#include &quot;ChildProcessSupplement.h&quot;
</ins><span class="cx"> #include &quot;MessageReceiver.h&quot;
</span><span class="cx"> #include &quot;WKOriginDataManager.h&quot;
</span><del>-#include &quot;WebProcessSupplement.h&quot;
</del><span class="cx"> #include &lt;wtf/Noncopyable.h&gt;
</span><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="lines">@@ -37,20 +37,18 @@
</span><span class="cx"> class ChildProcess;
</span><span class="cx"> struct SecurityOriginData;
</span><span class="cx"> 
</span><del>-class WebOriginDataManager : public WebProcessSupplement, public IPC::MessageReceiver {
</del><ins>+class WebOriginDataManager : public ChildProcessSupplement, public IPC::MessageReceiver {
</ins><span class="cx">     WTF_MAKE_NONCOPYABLE(WebOriginDataManager);
</span><span class="cx"> public:
</span><span class="cx">     WebOriginDataManager(ChildProcess*);
</span><span class="cx"> 
</span><span class="cx">     static const char* supplementName();
</span><span class="cx"> 
</span><del>-    void deleteAllEntries(WKOriginDataTypes);
-
</del><span class="cx"> private:
</span><del>-    void getOrigins(WKOriginDataTypes, uint64_t);
-    void deleteEntriesForOrigin(WKOriginDataTypes, const SecurityOriginData&amp;);
-    void startObservingChanges(WKOriginDataTypes);
-    void stopObservingChanges(WKOriginDataTypes);
</del><ins>+    void getOrigins(WKOriginDataTypes, uint64_t callbackID);
+    void deleteEntriesForOrigin(WKOriginDataTypes, const SecurityOriginData&amp;, uint64_t callbackID);
+    void deleteEntriesModifiedBetweenDates(WKOriginDataTypes, double startDate, double endDate, uint64_t callbackID);
+    void deleteAllEntries(WKOriginDataTypes, uint64_t callbackID);
</ins><span class="cx"> 
</span><span class="cx">     // IPC::MessageReceiver
</span><span class="cx">     virtual void didReceiveMessage(IPC::Connection*, IPC::MessageDecoder&amp;) override;
</span></span></pre></div>
<a id="tagsSafari60013SourceWebKit2WebProcessOriginDataWebOriginDataManagermessagesin"></a>
<div class="modfile"><h4>Modified: tags/Safari-600.1.3/Source/WebKit2/WebProcess/OriginData/WebOriginDataManager.messages.in (171635 => 171636)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-600.1.3/Source/WebKit2/WebProcess/OriginData/WebOriginDataManager.messages.in        2014-07-26 00:43:13 UTC (rev 171635)
+++ tags/Safari-600.1.3/Source/WebKit2/WebProcess/OriginData/WebOriginDataManager.messages.in        2014-07-26 00:46:50 UTC (rev 171636)
</span><span class="lines">@@ -22,8 +22,7 @@
</span><span class="cx"> 
</span><span class="cx"> messages -&gt; WebOriginDataManager {
</span><span class="cx">     void GetOrigins(uint32_t types, uint64_t callbackID)
</span><del>-    void DeleteEntriesForOrigin(uint32_t types, WebKit::SecurityOriginData originIdentifier)
-    void DeleteAllEntries(uint32_t types)
-    void StartObservingChanges(uint32_t types)
-    void StopObservingChanges(uint32_t types)
</del><ins>+    void DeleteEntriesForOrigin(uint32_t types, WebKit::SecurityOriginData originIdentifier, uint64_t callbackID)
+    void DeleteEntriesModifiedBetweenDates(uint32_t types, double startDate, double endDate, uint64_t callbackID)
+    void DeleteAllEntries(uint32_t types, uint64_t callbackID)
</ins><span class="cx"> }
</span></span></pre>
</div>
</div>

</body>
</html>