<!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>[171638] 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/171638">171638</a></dd>
<dt>Author</dt> <dd>matthew_hanson@apple.com</dd>
<dt>Date</dt> <dd>2014-07-25 18:08:27 -0700 (Fri, 25 Jul 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>Rollout <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>Added 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 (171637 => 171638)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-600.1.3/Source/WebKit2/ChangeLog        2014-07-26 00:50:25 UTC (rev 171637)
+++ tags/Safari-600.1.3/Source/WebKit2/ChangeLog        2014-07-26 01:08:27 UTC (rev 171638)
</span><span class="lines">@@ -1,71 +1,5 @@
</span><span class="cx"> 2014-07-25  Matthew Hanson  &lt;matthew_hanson@apple.com&gt;
</span><span class="cx"> 
</span><del>-        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;
-
</del><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 (171637 => 171638)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-600.1.3/Source/WebKit2/DatabaseProcess/DatabaseProcess.cpp        2014-07-26 00:50:25 UTC (rev 171637)
+++ tags/Safari-600.1.3/Source/WebKit2/DatabaseProcess/DatabaseProcess.cpp        2014-07-26 01:08:27 UTC (rev 171638)
</span><span class="lines">@@ -30,12 +30,9 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;AsyncTask.h&quot;
</span><span class="cx"> #include &quot;DatabaseProcessCreationParameters.h&quot;
</span><del>-#include &quot;DatabaseProcessMessages.h&quot;
</del><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><del>-#include &quot;WebOriginDataManager.h&quot;
-#include &quot;WebOriginDataManagerMessages.h&quot;
</del><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">@@ -51,7 +48,6 @@
</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><del>-    , m_webOriginDataManager(std::make_unique&lt;WebOriginDataManager&gt;(this))
</del><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -74,17 +70,6 @@
</span><span class="cx">     RunLoop::current().stop();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-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;
-    }
-}
-
</del><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 (171637 => 171638)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-600.1.3/Source/WebKit2/DatabaseProcess/DatabaseProcess.h        2014-07-26 00:50:25 UTC (rev 171637)
+++ tags/Safari-600.1.3/Source/WebKit2/DatabaseProcess/DatabaseProcess.h        2014-07-26 01:08:27 UTC (rev 171638)
</span><span class="lines">@@ -39,7 +39,6 @@
</span><span class="cx"> class AsyncTask;
</span><span class="cx"> class DatabaseToWebProcessConnection;
</span><span class="cx"> class UniqueIDBDatabase;
</span><del>-class WebOriginDataManager;
</del><span class="cx"> 
</span><span class="cx"> struct DatabaseProcessCreationParameters;
</span><span class="cx"> 
</span><span class="lines">@@ -48,7 +47,6 @@
</span><span class="cx">     friend class NeverDestroyed&lt;DatabaseProcess&gt;;
</span><span class="cx"> public:
</span><span class="cx">     static DatabaseProcess&amp; shared();
</span><del>-    ~DatabaseProcess();
</del><span class="cx"> 
</span><span class="cx">     const String&amp; indexedDatabaseDirectory() const { return m_indexedDatabaseDirectory; }
</span><span class="cx"> 
</span><span class="lines">@@ -60,6 +58,8 @@
</span><span class="cx"> 
</span><span class="cx">     WorkQueue&amp; queue() { return m_queue.get(); }
</span><span class="cx"> 
</span><ins>+    ~DatabaseProcess();
+
</ins><span class="cx"> private:
</span><span class="cx">     DatabaseProcess();
</span><span class="cx"> 
</span><span class="lines">@@ -74,7 +74,6 @@
</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><del>-    void didReceiveDatabaseProcessMessage(IPC::Connection*, IPC::MessageDecoder&amp;);
</del><span class="cx"> 
</span><span class="cx">     // Message Handlers
</span><span class="cx">     void initializeDatabaseProcess(const DatabaseProcessCreationParameters&amp;);
</span><span class="lines">@@ -96,8 +95,6 @@
</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><del>-
-    std::unique_ptr&lt;WebOriginDataManager&gt; m_webOriginDataManager;
</del><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 (171637 => 171638)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-600.1.3/Source/WebKit2/DatabaseProcess/DatabaseProcess.messages.in        2014-07-26 00:50:25 UTC (rev 171637)
+++ tags/Safari-600.1.3/Source/WebKit2/DatabaseProcess/DatabaseProcess.messages.in        2014-07-26 01:08:27 UTC (rev 171638)
</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 LegacyReceiver {
</del><ins>+messages -&gt; DatabaseProcess {
</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 (171637 => 171638)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-600.1.3/Source/WebKit2/UIProcess/API/C/WKOriginDataManager.cpp        2014-07-26 00:50:25 UTC (rev 171637)
+++ tags/Safari-600.1.3/Source/WebKit2/UIProcess/API/C/WKOriginDataManager.cpp        2014-07-26 01:08:27 UTC (rev 171638)
</span><span class="lines">@@ -41,23 +41,27 @@
</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, void* context, WKOriginDataManagerDeleteEntriesCallbackFunction callback)
</del><ins>+void WKOriginDataManagerDeleteEntriesForOrigin(WKOriginDataManagerRef originDataManagerRef, WKOriginDataTypes types, WKSecurityOriginRef originRef)
</ins><span class="cx"> {
</span><del>-    toImpl(originDataManagerRef)-&gt;deleteEntriesForOrigin(types, toImpl(originRef), [context, callback](CallbackBase::Error error) {
-        callback(error != CallbackBase::Error::None ? toAPI(API::Error::create().get()) : 0, context);
-    });
</del><ins>+    toImpl(originDataManagerRef)-&gt;deleteEntriesForOrigin(types, toImpl(originRef));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WKOriginDataManagerDeleteEntriesModifiedBetweenDates(WKOriginDataManagerRef originDataManagerRef, WKOriginDataTypes types, double startDate, double endDate, void* context, WKOriginDataManagerDeleteEntriesCallbackFunction callback)
</del><ins>+void WKOriginDataManagerDeleteAllEntries(WKOriginDataManagerRef originDataManagerRef, WKOriginDataTypes types)
</ins><span class="cx"> {
</span><del>-    toImpl(originDataManagerRef)-&gt;deleteEntriesModifiedBetweenDates(types, startDate, endDate, [context, callback](CallbackBase::Error error) {
-        callback(error != CallbackBase::Error::None ? toAPI(API::Error::create().get()) : 0, context);
-    });
</del><ins>+    toImpl(originDataManagerRef)-&gt;deleteAllEntries(types);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WKOriginDataManagerDeleteAllEntries(WKOriginDataManagerRef originDataManagerRef, WKOriginDataTypes types, void* context, WKOriginDataManagerDeleteEntriesCallbackFunction callback)
</del><ins>+void WKOriginDataManagerStartObservingChanges(WKOriginDataManagerRef originDataManagerRef, WKOriginDataTypes types)
</ins><span class="cx"> {
</span><del>-    toImpl(originDataManagerRef)-&gt;deleteAllEntries(types, [context, callback](CallbackBase::Error error) {
-        callback(error != CallbackBase::Error::None ? toAPI(API::Error::create().get()) : 0, context);
-    });
</del><ins>+    toImpl(originDataManagerRef)-&gt;startObservingChanges(types);
</ins><span class="cx"> }
</span><ins>+
+void WKOriginDataManagerStopObservingChanges(WKOriginDataManagerRef originDataManagerRef, WKOriginDataTypes types)
+{
+    toImpl(originDataManagerRef)-&gt;stopObservingChanges(types);
+}
+
+void WKOriginDataManagerSetChangeClient(WKOriginDataManagerRef originDataManagerRef, const WKOriginDataManagerChangeClientBase *client)
+{
+    toImpl(originDataManagerRef)-&gt;setChangeClient(client);
+}
</ins></span></pre></div>
<a id="tagsSafari60013SourceWebKit2UIProcessAPICWKOriginDataManagerh"></a>
<div class="modfile"><h4>Modified: tags/Safari-600.1.3/Source/WebKit2/UIProcess/API/C/WKOriginDataManager.h (171637 => 171638)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-600.1.3/Source/WebKit2/UIProcess/API/C/WKOriginDataManager.h        2014-07-26 00:50:25 UTC (rev 171637)
+++ tags/Safari-600.1.3/Source/WebKit2/UIProcess/API/C/WKOriginDataManager.h        2014-07-26 01:08:27 UTC (rev 171638)
</span><span class="lines">@@ -35,14 +35,13 @@
</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>-    kWKIndexedDatabaseData = 1 &lt;&lt; 2,
</del><ins>+    kWKDatabaseOriginData = 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><del>-    kWKWebSQLDatabaseOriginData = 1 &lt;&lt; 7,
</del><span class="cx"> 
</span><del>-    kWKAllOriginData = 0xFFFFFFFF
</del><ins>+    kWKAllOriginData = (1 &lt;&lt; 7) - 1
</ins><span class="cx"> };
</span><span class="cx"> typedef uint32_t WKOriginDataTypes;
</span><span class="cx"> 
</span><span class="lines">@@ -51,11 +50,36 @@
</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>-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);
</del><ins>+WK_EXPORT void WKOriginDataManagerDeleteEntriesForOrigin(WKOriginDataManagerRef originDataManager, WKOriginDataTypes types, WKSecurityOriginRef origin);
+WK_EXPORT void WKOriginDataManagerDeleteAllEntries(WKOriginDataManagerRef originDataManager, WKOriginDataTypes types);
</ins><span class="cx"> 
</span><ins>+// 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);
</ins><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 (171637 => 171638)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-600.1.3/Source/WebKit2/UIProcess/Databases/DatabaseProcessProxy.cpp        2014-07-26 00:50:25 UTC (rev 171637)
+++ tags/Safari-600.1.3/Source/WebKit2/UIProcess/Databases/DatabaseProcessProxy.cpp        2014-07-26 01:08:27 UTC (rev 171638)
</span><span class="lines">@@ -27,10 +27,7 @@
</span><span class="cx"> #include &quot;DatabaseProcessProxy.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &quot;DatabaseProcessMessages.h&quot;
</span><del>-#include &quot;DatabaseProcessProxyMessages.h&quot;
</del><span class="cx"> #include &quot;WebContext.h&quot;
</span><del>-#include &quot;WebOriginDataManagerProxy.h&quot;
-#include &quot;WebOriginDataManagerProxyMessages.h&quot;
</del><span class="cx"> 
</span><span class="cx"> #if ENABLE(DATABASE_PROCESS)
</span><span class="cx"> 
</span><span class="lines">@@ -69,19 +66,6 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-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;
-    }
-}
-
</del><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 (171637 => 171638)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-600.1.3/Source/WebKit2/UIProcess/Databases/DatabaseProcessProxy.h        2014-07-26 00:50:25 UTC (rev 171637)
+++ tags/Safari-600.1.3/Source/WebKit2/UIProcess/Databases/DatabaseProcessProxy.h        2014-07-26 01:08:27 UTC (rev 171638)
</span><span class="lines">@@ -57,8 +57,6 @@
</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><del>-    void didReceiveDatabaseProcessProxyMessage(IPC::Connection*, IPC::MessageDecoder&amp;);
-
</del><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 (171637 => 171638)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-600.1.3/Source/WebKit2/UIProcess/Databases/DatabaseProcessProxy.messages.in        2014-07-26 00:50:25 UTC (rev 171637)
+++ tags/Safari-600.1.3/Source/WebKit2/UIProcess/Databases/DatabaseProcessProxy.messages.in        2014-07-26 01:08:27 UTC (rev 171638)
</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 LegacyReceiver {
</del><ins>+messages -&gt; DatabaseProcessProxy {
</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 (171637 => 171638)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-600.1.3/Source/WebKit2/UIProcess/WebContext.cpp        2014-07-26 00:50:25 UTC (rev 171637)
+++ tags/Safari-600.1.3/Source/WebKit2/UIProcess/WebContext.cpp        2014-07-26 01:08:27 UTC (rev 171638)
</span><span class="lines">@@ -78,7 +78,6 @@
</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><del>-#include &quot;WebOriginDataManagerProxy.h&quot;
</del><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(NETWORK_PROCESS)
</span><span class="lines">@@ -218,9 +217,6 @@
</span><span class="cx"> #if ENABLE(BATTERY_STATUS)
</span><span class="cx">     addSupplement&lt;WebBatteryManagerProxy&gt;();
</span><span class="cx"> #endif
</span><del>-#if ENABLE(DATABASE_PROCESS)
-    addSupplement&lt;WebOriginDataManagerProxy&gt;();
-#endif
</del><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 (171637 => 171638)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-600.1.3/Source/WebKit2/UIProcess/WebContext.h        2014-07-26 00:50:25 UTC (rev 171637)
+++ tags/Safari-600.1.3/Source/WebKit2/UIProcess/WebContext.h        2014-07-26 01:08:27 UTC (rev 171638)
</span><span class="lines">@@ -303,7 +303,6 @@
</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><del>-    template&lt;typename T&gt; void sendToDatabaseProcessRelaunchingIfNecessary(T&amp;&amp; message);
</del><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(COCOA)
</span><span class="lines">@@ -616,16 +615,7 @@
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-#if ENABLE(DATABASE_PROCESS)
</del><span class="cx"> template&lt;typename T&gt;
</span><del>-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;
</del><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 (171637 => 171638)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-600.1.3/Source/WebKit2/UIProcess/WebOriginDataManagerProxy.cpp        2014-07-26 00:50:25 UTC (rev 171637)
+++ tags/Safari-600.1.3/Source/WebKit2/UIProcess/WebOriginDataManagerProxy.cpp        2014-07-26 01:08:27 UTC (rev 171638)
</span><span class="lines">@@ -102,87 +102,53 @@
</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, std::function&lt;void (CallbackBase::Error)&gt; callbackFunction)
</del><ins>+void WebOriginDataManagerProxy::deleteEntriesForOrigin(WKOriginDataTypes types, WebSecurityOrigin* origin)
</ins><span class="cx"> {
</span><del>-    if (!(types &amp; kWKIndexedDatabaseData))
</del><ins>+    if (!context())
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    // 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());
-
</del><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>-    context()-&gt;sendToDatabaseProcessRelaunchingIfNecessary(Messages::WebOriginDataManager::DeleteEntriesForOrigin(types, securityOriginData, callbackID));
</del><ins>+    // 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));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebOriginDataManagerProxy::deleteEntriesModifiedBetweenDates(WKOriginDataTypes types, double startDate, double endDate, std::function&lt;void (CallbackBase::Error)&gt; callbackFunction)
</del><ins>+void WebOriginDataManagerProxy::deleteAllEntries(WKOriginDataTypes types)
</ins><span class="cx"> {
</span><del>-    if (!(types &amp; kWKIndexedDatabaseData))
</del><ins>+    if (!context())
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    // 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.
</del><ins>+    // FIXME (Multi-WebProcess): &lt;rdar://problem/12239765&gt; Make manipulating cache information work with per-tab WebProcess.
+    context()-&gt;sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebOriginDataManager::DeleteAllEntries(types));
+}
</ins><span class="cx"> 
</span><del>-    RefPtr&lt;VoidCallback&gt; callback = VoidCallback::create(WTF::move(callbackFunction));
-
-    if (!context()) {
-        callback-&gt;invalidate();
</del><ins>+void WebOriginDataManagerProxy::startObservingChanges(WKOriginDataTypes types)
+{
+    if (!context())
</ins><span class="cx">         return;
</span><del>-    }
</del><span class="cx"> 
</span><del>-    uint64_t callbackID = callback-&gt;callbackID();
-    m_voidCallbacks.set(callbackID, callback.release());
-
-    context()-&gt;sendToDatabaseProcessRelaunchingIfNecessary(Messages::WebOriginDataManager::DeleteEntriesModifiedBetweenDates(types, startDate, endDate, callbackID));
</del><ins>+    context()-&gt;sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebOriginDataManager::StartObservingChanges(types));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebOriginDataManagerProxy::didDeleteEntries(uint64_t callbackID)
</del><ins>+void WebOriginDataManagerProxy::stopObservingChanges(WKOriginDataTypes types)
</ins><span class="cx"> {
</span><del>-    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))
</del><ins>+    if (!context())
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    // 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.
</del><ins>+    context()-&gt;sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebOriginDataManager::StartObservingChanges(types));
+}
</ins><span class="cx"> 
</span><del>-    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));
</del><ins>+void WebOriginDataManagerProxy::setChangeClient(const WKOriginDataManagerChangeClientBase *client)
+{
+    m_client.initialize(client);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebOriginDataManagerProxy::didDeleteAllEntries(uint64_t callbackID)
</del><ins>+void WebOriginDataManagerProxy::didChange()
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;VoidCallback&gt; callback = m_voidCallbacks.take(callbackID);
-    callback-&gt;performCallback();
</del><ins>+    m_client.didChange(this);
</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 (171637 => 171638)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-600.1.3/Source/WebKit2/UIProcess/WebOriginDataManagerProxy.h        2014-07-26 00:50:25 UTC (rev 171637)
+++ tags/Safari-600.1.3/Source/WebKit2/UIProcess/WebOriginDataManagerProxy.h        2014-07-26 01:08:27 UTC (rev 171638)
</span><span class="lines">@@ -31,6 +31,7 @@
</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><ins>+#include &quot;WebOriginDataManagerProxyChangeClient.h&quot;
</ins><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">@@ -54,22 +55,21 @@
</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*, 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;);
</del><ins>+    void deleteEntriesForOrigin(WKOriginDataTypes, WebSecurityOrigin*);
+    void deleteAllEntries(WKOriginDataTypes);
</ins><span class="cx"> 
</span><ins>+    void startObservingChanges(WKOriginDataTypes);
+    void stopObservingChanges(WKOriginDataTypes);
+    void setChangeClient(const WKOriginDataManagerChangeClientBase*);
+
</ins><span class="cx">     using API::Object::ref;
</span><span class="cx">     using API::Object::deref;
</span><span class="cx"> 
</span><del>-    // IPC::MessageReceiver
-    virtual void didReceiveMessage(IPC::Connection*, IPC::MessageDecoder&amp;) override;
-
</del><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 didDeleteEntries(uint64_t callbackID);
-    void didDeleteAllEntries(uint64_t callbackID);
</del><ins>+    void didChange();
</ins><span class="cx"> 
</span><span class="cx">     // WebContextSupplement
</span><span class="cx">     virtual void contextDestroyed() override;
</span><span class="lines">@@ -78,8 +78,12 @@
</span><span class="cx">     virtual void refWebContextSupplement() override;
</span><span class="cx">     virtual void derefWebContextSupplement() override;
</span><span class="cx"> 
</span><ins>+    // IPC::MessageReceiver
+    virtual void didReceiveMessage(IPC::Connection*, IPC::MessageDecoder&amp;) override;
+
</ins><span class="cx">     HashMap&lt;uint64_t, RefPtr&lt;ArrayCallback&gt;&gt; m_arrayCallbacks;
</span><del>-    HashMap&lt;uint64_t, RefPtr&lt;VoidCallback&gt;&gt; m_voidCallbacks;
</del><ins>+
+    WebOriginDataManagerProxyChangeClient m_client;
</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 (171637 => 171638)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-600.1.3/Source/WebKit2/UIProcess/WebOriginDataManagerProxy.messages.in        2014-07-26 00:50:25 UTC (rev 171637)
+++ tags/Safari-600.1.3/Source/WebKit2/UIProcess/WebOriginDataManagerProxy.messages.in        2014-07-26 01:08:27 UTC (rev 171638)
</span><span class="lines">@@ -1,4 +1,4 @@
</span><del>-# Copyright (C) 2011, 2014 Apple Inc. All rights reserved.
</del><ins>+# Copyright (C) 2011 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,6 +22,5 @@
</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>-    DidDeleteEntries(uint64_t callbackID);
-    DidDeleteAllEntries(uint64_t callbackID);
</del><ins>+    DidChange()
</ins><span class="cx"> }
</span></span></pre></div>
<a id="tagsSafari60013SourceWebKit2UIProcessWebOriginDataManagerProxyChangeClientcppfromrev171635tagsSafari60013SourceWebKit2UIProcessWebOriginDataManagerProxyChangeClientcpp"></a>
<div class="copfile"><h4>Copied: tags/Safari-600.1.3/Source/WebKit2/UIProcess/WebOriginDataManagerProxyChangeClient.cpp (from rev 171635, tags/Safari-600.1.3/Source/WebKit2/UIProcess/WebOriginDataManagerProxyChangeClient.cpp) (0 => 171638)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-600.1.3/Source/WebKit2/UIProcess/WebOriginDataManagerProxyChangeClient.cpp                                (rev 0)
+++ tags/Safari-600.1.3/Source/WebKit2/UIProcess/WebOriginDataManagerProxyChangeClient.cpp        2014-07-26 01:08:27 UTC (rev 171638)
</span><span class="lines">@@ -0,0 +1,41 @@
</span><ins>+/*
+ * 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
</ins></span></pre></div>
<a id="tagsSafari60013SourceWebKit2UIProcessWebOriginDataManagerProxyChangeClienthfromrev171635tagsSafari60013SourceWebKit2UIProcessWebOriginDataManagerProxyChangeClienth"></a>
<div class="copfile"><h4>Copied: tags/Safari-600.1.3/Source/WebKit2/UIProcess/WebOriginDataManagerProxyChangeClient.h (from rev 171635, tags/Safari-600.1.3/Source/WebKit2/UIProcess/WebOriginDataManagerProxyChangeClient.h) (0 => 171638)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-600.1.3/Source/WebKit2/UIProcess/WebOriginDataManagerProxyChangeClient.h                                (rev 0)
+++ tags/Safari-600.1.3/Source/WebKit2/UIProcess/WebOriginDataManagerProxyChangeClient.h        2014-07-26 01:08:27 UTC (rev 171638)
</span><span class="lines">@@ -0,0 +1,50 @@
</span><ins>+/*
+ * 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
</ins></span></pre></div>
<a id="tagsSafari60013SourceWebKit2WebKit2xcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: tags/Safari-600.1.3/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj (171637 => 171638)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-600.1.3/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj        2014-07-26 00:50:25 UTC (rev 171637)
+++ tags/Safari-600.1.3/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj        2014-07-26 01:08:27 UTC (rev 171638)
</span><span class="lines">@@ -789,7 +789,6 @@
</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><del>-                510274321981AF8E008165ED /* WKOriginDataManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 755422BA18062B9C0046F6A8 /* WKOriginDataManager.h */; settings = {ATTRIBUTES = (Private, ); }; };
</del><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">@@ -1019,6 +1018,8 @@
</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><ins>+                759CCD581808F1640078E8A8 /* WebOriginDataManagerProxyChangeClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 759CCD541808F1600078E8A8 /* WebOriginDataManagerProxyChangeClient.cpp */; };
+                759CCD591808F1690078E8A8 /* WebOriginDataManagerProxyChangeClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 759CCD551808F1600078E8A8 /* WebOriginDataManagerProxyChangeClient.h */; };
</ins><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">@@ -3068,6 +3069,8 @@
</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><ins>+                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;; };
</ins><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">@@ -5885,6 +5888,8 @@
</span><span class="cx">                                 755422BF18062BE40046F6A8 /* WebOriginDataManagerProxy.h */,
</span><span class="cx">                                 755422BE18062BE40046F6A8 /* WebOriginDataManagerProxy.cpp */,
</span><span class="cx">                                 755422C018062BE40046F6A8 /* WebOriginDataManagerProxy.messages.in */,
</span><ins>+                                759CCD541808F1600078E8A8 /* WebOriginDataManagerProxyChangeClient.cpp */,
+                                759CCD551808F1600078E8A8 /* WebOriginDataManagerProxyChangeClient.h */,
</ins><span class="cx">                                 5153569A1291B1D2000749DC /* WebPageContextMenuClient.cpp */,
</span><span class="cx">                                 5153569B1291B1D2000749DC /* WebPageContextMenuClient.h */,
</span><span class="cx">                                 BC7B6205129A0A6700D174A4 /* WebPageGroup.cpp */,
</span><span class="lines">@@ -7364,7 +7369,6 @@
</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><del>-                                510274321981AF8E008165ED /* WKOriginDataManager.h in Headers */,
</del><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">@@ -7799,6 +7803,7 @@
</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><ins>+                                759CCD591808F1690078E8A8 /* WebOriginDataManagerProxyChangeClient.h in Headers */,
</ins><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">@@ -9371,6 +9376,7 @@
</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><ins>+                                759CCD581808F1640078E8A8 /* WebOriginDataManagerProxyChangeClient.cpp in Sources */,
</ins><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 (171637 => 171638)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-600.1.3/Source/WebKit2/WebProcess/OriginData/WebOriginDataManager.cpp        2014-07-26 00:50:25 UTC (rev 171637)
+++ tags/Safari-600.1.3/Source/WebKit2/WebProcess/OriginData/WebOriginDataManager.cpp        2014-07-26 01:08:27 UTC (rev 171638)
</span><span class="lines">@@ -76,24 +76,28 @@
</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, uint64_t callbackID)
</del><ins>+void WebOriginDataManager::deleteEntriesForOrigin(WKOriginDataTypes, const SecurityOriginData&amp; originData)
</ins><span class="cx"> {
</span><ins>+    RefPtr&lt;SecurityOrigin&gt; origin = SecurityOrigin::create(originData.protocol, originData.host, originData.port);
+    if (!origin)
+        return;
+
</ins><span class="cx">     // FIXME: delete entries for origin
</span><del>-    m_childProcess-&gt;send(Messages::WebOriginDataManagerProxy::DidDeleteEntries(callbackID), 0);
</del><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebOriginDataManager::deleteEntriesModifiedBetweenDates(WKOriginDataTypes, double, double, uint64_t callbackID)
</del><ins>+void WebOriginDataManager::deleteAllEntries(WKOriginDataTypes)
</ins><span class="cx"> {
</span><del>-    // FIXME: delete entries modified between the start and end date
</del><ins>+    // FIXME: delete entries
+}
</ins><span class="cx"> 
</span><del>-    m_childProcess-&gt;send(Messages::WebOriginDataManagerProxy::DidDeleteEntries(callbackID), 0);
</del><ins>+void WebOriginDataManager::startObservingChanges(WKOriginDataTypes)
+{
+    // FIXME: start observing changes
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebOriginDataManager::deleteAllEntries(WKOriginDataTypes, uint64_t callbackID)
</del><ins>+void WebOriginDataManager::stopObservingChanges(WKOriginDataTypes)
</ins><span class="cx"> {
</span><del>-    // FIXME: delete entries
-
-    m_childProcess-&gt;send(Messages::WebOriginDataManagerProxy::DidDeleteAllEntries(callbackID), 0);
</del><ins>+    // FIXME: stop observing changes
</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 (171637 => 171638)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-600.1.3/Source/WebKit2/WebProcess/OriginData/WebOriginDataManager.h        2014-07-26 00:50:25 UTC (rev 171637)
+++ tags/Safari-600.1.3/Source/WebKit2/WebProcess/OriginData/WebOriginDataManager.h        2014-07-26 01:08:27 UTC (rev 171638)
</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><del>-#include &quot;ChildProcessSupplement.h&quot;
</del><span class="cx"> #include &quot;MessageReceiver.h&quot;
</span><span class="cx"> #include &quot;WKOriginDataManager.h&quot;
</span><ins>+#include &quot;WebProcessSupplement.h&quot;
</ins><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,18 +37,20 @@
</span><span class="cx"> class ChildProcess;
</span><span class="cx"> struct SecurityOriginData;
</span><span class="cx"> 
</span><del>-class WebOriginDataManager : public ChildProcessSupplement, public IPC::MessageReceiver {
</del><ins>+class WebOriginDataManager : public WebProcessSupplement, 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><ins>+    void deleteAllEntries(WKOriginDataTypes);
+
</ins><span class="cx"> private:
</span><del>-    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);
</del><ins>+    void getOrigins(WKOriginDataTypes, uint64_t);
+    void deleteEntriesForOrigin(WKOriginDataTypes, const SecurityOriginData&amp;);
+    void startObservingChanges(WKOriginDataTypes);
+    void stopObservingChanges(WKOriginDataTypes);
</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 (171637 => 171638)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-600.1.3/Source/WebKit2/WebProcess/OriginData/WebOriginDataManager.messages.in        2014-07-26 00:50:25 UTC (rev 171637)
+++ tags/Safari-600.1.3/Source/WebKit2/WebProcess/OriginData/WebOriginDataManager.messages.in        2014-07-26 01:08:27 UTC (rev 171638)
</span><span class="lines">@@ -22,7 +22,8 @@
</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, uint64_t callbackID)
-    void DeleteEntriesModifiedBetweenDates(uint32_t types, double startDate, double endDate, uint64_t callbackID)
-    void DeleteAllEntries(uint32_t types, uint64_t callbackID)
</del><ins>+    void DeleteEntriesForOrigin(uint32_t types, WebKit::SecurityOriginData originIdentifier)
+    void DeleteAllEntries(uint32_t types)
+    void StartObservingChanges(uint32_t types)
+    void StopObservingChanges(uint32_t types)
</ins><span class="cx"> }
</span></span></pre>
</div>
</div>

</body>
</html>