<!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>[171622] trunk/Source/WebKit2</title>
</head>
<body>
<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; }
#msg dl a { font-weight: bold}
#msg dl a:link { color:#fc3; }
#msg dl a:active { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/171622">171622</a></dd>
<dt>Author</dt> <dd>beidson@apple.com</dd>
<dt>Date</dt> <dd>2014-07-25 15:34:21 -0700 (Fri, 25 Jul 2014)</dd>
</dl>
<h3>Log Message</h3>
<pre>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:</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2DatabaseProcessDatabaseProcesscpp">trunk/Source/WebKit2/DatabaseProcess/DatabaseProcess.cpp</a></li>
<li><a href="#trunkSourceWebKit2DatabaseProcessDatabaseProcessh">trunk/Source/WebKit2/DatabaseProcess/DatabaseProcess.h</a></li>
<li><a href="#trunkSourceWebKit2DatabaseProcessDatabaseProcessmessagesin">trunk/Source/WebKit2/DatabaseProcess/DatabaseProcess.messages.in</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICWKOriginDataManagercpp">trunk/Source/WebKit2/UIProcess/API/C/WKOriginDataManager.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICWKOriginDataManagerh">trunk/Source/WebKit2/UIProcess/API/C/WKOriginDataManager.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessDatabasesDatabaseProcessProxycpp">trunk/Source/WebKit2/UIProcess/Databases/DatabaseProcessProxy.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessDatabasesDatabaseProcessProxyh">trunk/Source/WebKit2/UIProcess/Databases/DatabaseProcessProxy.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessDatabasesDatabaseProcessProxymessagesin">trunk/Source/WebKit2/UIProcess/Databases/DatabaseProcessProxy.messages.in</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebContextcpp">trunk/Source/WebKit2/UIProcess/WebContext.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebContexth">trunk/Source/WebKit2/UIProcess/WebContext.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebOriginDataManagerProxycpp">trunk/Source/WebKit2/UIProcess/WebOriginDataManagerProxy.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebOriginDataManagerProxyh">trunk/Source/WebKit2/UIProcess/WebOriginDataManagerProxy.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebOriginDataManagerProxymessagesin">trunk/Source/WebKit2/UIProcess/WebOriginDataManagerProxy.messages.in</a></li>
<li><a href="#trunkSourceWebKit2WebKit2xcodeprojprojectpbxproj">trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWebKit2WebProcessOriginDataWebOriginDataManagercpp">trunk/Source/WebKit2/WebProcess/OriginData/WebOriginDataManager.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessOriginDataWebOriginDataManagerh">trunk/Source/WebKit2/WebProcess/OriginData/WebOriginDataManager.h</a></li>
<li><a href="#trunkSourceWebKit2WebProcessOriginDataWebOriginDataManagermessagesin">trunk/Source/WebKit2/WebProcess/OriginData/WebOriginDataManager.messages.in</a></li>
</ul>
<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkSourceWebKit2UIProcessWebOriginDataManagerProxyChangeClientcpp">trunk/Source/WebKit2/UIProcess/WebOriginDataManagerProxyChangeClient.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebOriginDataManagerProxyChangeClienth">trunk/Source/WebKit2/UIProcess/WebOriginDataManagerProxyChangeClient.h</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (171621 => 171622)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2014-07-25 22:08:28 UTC (rev 171621)
+++ trunk/Source/WebKit2/ChangeLog        2014-07-25 22:34:21 UTC (rev 171622)
</span><span class="lines">@@ -1,3 +1,65 @@
</span><ins>+2014-07-25 Brady Eidson <beidson@apple.com>
+
+ 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:
+
</ins><span class="cx"> 2014-07-25 Gavin Barraclough <baraclough@apple.com>
</span><span class="cx">
</span><span class="cx"> Yosemite version number is 101000
</span></span></pre></div>
<a id="trunkSourceWebKit2DatabaseProcessDatabaseProcesscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/DatabaseProcess/DatabaseProcess.cpp (171621 => 171622)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/DatabaseProcess/DatabaseProcess.cpp        2014-07-25 22:08:28 UTC (rev 171621)
+++ trunk/Source/WebKit2/DatabaseProcess/DatabaseProcess.cpp        2014-07-25 22:34:21 UTC (rev 171622)
</span><span class="lines">@@ -30,9 +30,12 @@
</span><span class="cx">
</span><span class="cx"> #include "AsyncTask.h"
</span><span class="cx"> #include "DatabaseProcessCreationParameters.h"
</span><ins>+#include "DatabaseProcessMessages.h"
</ins><span class="cx"> #include "DatabaseProcessProxyMessages.h"
</span><span class="cx"> #include "DatabaseToWebProcessConnection.h"
</span><span class="cx"> #include "UniqueIDBDatabase.h"
</span><ins>+#include "WebOriginDataManager.h"
+#include "WebOriginDataManagerMessages.h"
</ins><span class="cx"> #include <WebCore/FileSystem.h>
</span><span class="cx"> #include <wtf/MainThread.h>
</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("com.apple.WebKit.DatabaseProcess").leakRef()))
</span><ins>+ , m_webOriginDataManager(std::make_unique<WebOriginDataManager>(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& 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="trunkSourceWebKit2DatabaseProcessDatabaseProcessh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/DatabaseProcess/DatabaseProcess.h (171621 => 171622)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/DatabaseProcess/DatabaseProcess.h        2014-07-25 22:08:28 UTC (rev 171621)
+++ trunk/Source/WebKit2/DatabaseProcess/DatabaseProcess.h        2014-07-25 22:34:21 UTC (rev 171622)
</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<DatabaseProcess>;
</span><span class="cx"> public:
</span><span class="cx"> static DatabaseProcess& shared();
</span><ins>+ ~DatabaseProcess();
</ins><span class="cx">
</span><span class="cx"> const String& 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& 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&) 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&);
</ins><span class="cx">
</span><span class="cx"> // Message Handlers
</span><span class="cx"> void initializeDatabaseProcess(const DatabaseProcessCreationParameters&);
</span><span class="lines">@@ -95,6 +96,8 @@
</span><span class="cx">
</span><span class="cx"> Deque<std::unique_ptr<AsyncTask>> m_databaseTasks;
</span><span class="cx"> Mutex m_databaseTaskMutex;
</span><ins>+
+ std::unique_ptr<WebOriginDataManager> m_webOriginDataManager;
</ins><span class="cx"> };
</span><span class="cx">
</span><span class="cx"> } // namespace WebKit
</span></span></pre></div>
<a id="trunkSourceWebKit2DatabaseProcessDatabaseProcessmessagesin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/DatabaseProcess/DatabaseProcess.messages.in (171621 => 171622)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/DatabaseProcess/DatabaseProcess.messages.in        2014-07-25 22:08:28 UTC (rev 171621)
+++ trunk/Source/WebKit2/DatabaseProcess/DatabaseProcess.messages.in        2014-07-25 22:34:21 UTC (rev 171622)
</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 -> DatabaseProcess {
</del><ins>+messages -> 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="trunkSourceWebKit2UIProcessAPICWKOriginDataManagercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/C/WKOriginDataManager.cpp (171621 => 171622)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/C/WKOriginDataManager.cpp        2014-07-25 22:08:28 UTC (rev 171621)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKOriginDataManager.cpp        2014-07-25 22:34:21 UTC (rev 171622)
</span><span class="lines">@@ -41,27 +41,23 @@
</span><span class="cx"> toImpl(originDataManagerRef)->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)->deleteEntriesForOrigin(types, toImpl(originRef));
</del><ins>+ toImpl(originDataManagerRef)->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)->deleteAllEntries(types);
</del><ins>+ toImpl(originDataManagerRef)->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)->startObservingChanges(types);
</del><ins>+ toImpl(originDataManagerRef)->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)->stopObservingChanges(types);
-}
-
-void WKOriginDataManagerSetChangeClient(WKOriginDataManagerRef originDataManagerRef, const WKOriginDataManagerChangeClientBase *client)
-{
- toImpl(originDataManagerRef)->setChangeClient(client);
-}
</del></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICWKOriginDataManagerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/C/WKOriginDataManager.h (171621 => 171622)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/C/WKOriginDataManager.h        2014-07-25 22:08:28 UTC (rev 171621)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKOriginDataManager.h        2014-07-25 22:34:21 UTC (rev 171622)
</span><span class="lines">@@ -35,13 +35,14 @@
</span><span class="cx"> enum {
</span><span class="cx"> kWKApplicationCacheOriginData = 1 << 0,
</span><span class="cx"> kWKCookieOriginData = 1 << 1,
</span><del>- kWKDatabaseOriginData = 1 << 2,
</del><ins>+ kWKIndexedDatabaseData = 1 << 2,
</ins><span class="cx"> kWKKeyValueStorageOriginData = 1 << 3,
</span><span class="cx"> kWKMediaCacheOriginData = 1 << 4,
</span><span class="cx"> kWKPluginDataOriginData = 1 << 5,
</span><span class="cx"> kWKResourceCacheOriginData = 1 << 6,
</span><ins>+ kWKWebSQLDatabaseOriginData = 1 << 7,
</ins><span class="cx">
</span><del>- kWKAllOriginData = (1 << 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("Use an explicit versioned struct instead");
-
-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="trunkSourceWebKit2UIProcessDatabasesDatabaseProcessProxycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/Databases/DatabaseProcessProxy.cpp (171621 => 171622)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/Databases/DatabaseProcessProxy.cpp        2014-07-25 22:08:28 UTC (rev 171621)
+++ trunk/Source/WebKit2/UIProcess/Databases/DatabaseProcessProxy.cpp        2014-07-25 22:34:21 UTC (rev 171622)
</span><span class="lines">@@ -27,7 +27,10 @@
</span><span class="cx"> #include "DatabaseProcessProxy.h"
</span><span class="cx">
</span><span class="cx"> #include "DatabaseProcessMessages.h"
</span><ins>+#include "DatabaseProcessProxyMessages.h"
</ins><span class="cx"> #include "WebContext.h"
</span><ins>+#include "WebOriginDataManagerProxy.h"
+#include "WebOriginDataManagerProxyMessages.h"
</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& decoder)
+{
+ if (decoder.messageReceiverName() == Messages::DatabaseProcessProxy::messageReceiverName()) {
+ didReceiveDatabaseProcessProxyMessage(connection, decoder);
+ return;
+ }
+
+ if (decoder.messageReceiverName() == Messages::WebOriginDataManagerProxy::messageReceiverName()) {
+ m_webContext->supplement<WebOriginDataManagerProxy>()->didReceiveMessage(connection, decoder);
+ return;
+ }
+}
+
</ins><span class="cx"> void DatabaseProcessProxy::getDatabaseProcessConnection(PassRefPtr<Messages::WebProcessProxy::GetDatabaseProcessConnection::DelayedReply> reply)
</span><span class="cx"> {
</span><span class="cx"> m_pendingConnectionReplies.append(reply);
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessDatabasesDatabaseProcessProxyh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/Databases/DatabaseProcessProxy.h (171621 => 171622)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/Databases/DatabaseProcessProxy.h        2014-07-25 22:08:28 UTC (rev 171621)
+++ trunk/Source/WebKit2/UIProcess/Databases/DatabaseProcessProxy.h        2014-07-25 22:34:21 UTC (rev 171622)
</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&);
+
</ins><span class="cx"> // Message handlers
</span><span class="cx"> void didCreateDatabaseToWebProcessConnection(const IPC::Attachment&);
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessDatabasesDatabaseProcessProxymessagesin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/Databases/DatabaseProcessProxy.messages.in (171621 => 171622)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/Databases/DatabaseProcessProxy.messages.in        2014-07-25 22:08:28 UTC (rev 171621)
+++ trunk/Source/WebKit2/UIProcess/Databases/DatabaseProcessProxy.messages.in        2014-07-25 22:34:21 UTC (rev 171622)
</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 -> DatabaseProcessProxy {
</del><ins>+messages -> DatabaseProcessProxy LegacyReceiver {
</ins><span class="cx"> DidCreateDatabaseToWebProcessConnection(IPC::Attachment connectionIdentifier)
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebContextcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebContext.cpp (171621 => 171622)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebContext.cpp        2014-07-25 22:08:28 UTC (rev 171621)
+++ trunk/Source/WebKit2/UIProcess/WebContext.cpp        2014-07-25 22:34:21 UTC (rev 171622)
</span><span class="lines">@@ -78,6 +78,7 @@
</span><span class="cx"> #if ENABLE(DATABASE_PROCESS)
</span><span class="cx"> #include "DatabaseProcessCreationParameters.h"
</span><span class="cx"> #include "DatabaseProcessMessages.h"
</span><ins>+#include "WebOriginDataManagerProxy.h"
</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<WebBatteryManagerProxy>();
</span><span class="cx"> #endif
</span><ins>+#if ENABLE(DATABASE_PROCESS)
+ addSupplement<WebOriginDataManagerProxy>();
+#endif
</ins><span class="cx">
</span><span class="cx"> contexts().append(this);
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebContexth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebContext.h (171621 => 171622)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebContext.h        2014-07-25 22:08:28 UTC (rev 171621)
+++ trunk/Source/WebKit2/UIProcess/WebContext.h        2014-07-25 22:34:21 UTC (rev 171622)
</span><span class="lines">@@ -303,6 +303,7 @@
</span><span class="cx"> void ensureDatabaseProcess();
</span><span class="cx"> void getDatabaseProcessConnection(PassRefPtr<Messages::WebProcessProxy::GetDatabaseProcessConnection::DelayedReply>);
</span><span class="cx"> void databaseProcessCrashed(DatabaseProcessProxy*);
</span><ins>+ template<typename T> void sendToDatabaseProcessRelaunchingIfNecessary(T&& 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<typename T>
</span><ins>+void WebContext::sendToDatabaseProcessRelaunchingIfNecessary(T&& message)
+{
+ ensureDatabaseProcess();
+ m_databaseProcess->send(std::forward<T>(message), 0);
+}
+#endif
+
+template<typename T>
</ins><span class="cx"> void WebContext::sendToAllProcesses(const T& message)
</span><span class="cx"> {
</span><span class="cx"> size_t processCount = m_processes.size();
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebOriginDataManagerProxycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebOriginDataManagerProxy.cpp (171621 => 171622)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebOriginDataManagerProxy.cpp        2014-07-25 22:08:28 UTC (rev 171621)
+++ trunk/Source/WebKit2/UIProcess/WebOriginDataManagerProxy.cpp        2014-07-25 22:34:21 UTC (rev 171622)
</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<void (CallbackBase::Error)> callbackFunction)
</ins><span class="cx"> {
</span><del>- if (!context())
</del><ins>+ if (!(types & 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<VoidCallback> callback = VoidCallback::create(WTF::move(callbackFunction));
+
+ if (!context()) {
+ callback->invalidate();
+ return;
+ }
+
+ uint64_t callbackID = callback->callbackID();
+ m_voidCallbacks.set(callbackID, callback.release());
+
</ins><span class="cx"> SecurityOriginData securityOriginData;
</span><span class="cx"> securityOriginData.protocol = origin->securityOrigin().protocol();
</span><span class="cx"> securityOriginData.host = origin->securityOrigin().host();
</span><span class="cx"> securityOriginData.port = origin->securityOrigin().port();
</span><span class="cx">
</span><del>- // FIXME (Multi-WebProcess): <rdar://problem/12239765> Make manipulating cache information work with per-tab WebProcess.
- context()->sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebOriginDataManager::DeleteEntriesForOrigin(types, securityOriginData));
</del><ins>+ context()->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<void (CallbackBase::Error)> callbackFunction)
</ins><span class="cx"> {
</span><del>- if (!context())
</del><ins>+ if (!(types & kWKIndexedDatabaseData))
</ins><span class="cx"> return;
</span><span class="cx">
</span><del>- // FIXME (Multi-WebProcess): <rdar://problem/12239765> Make manipulating cache information work with per-tab WebProcess.
- context()->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<VoidCallback> callback = VoidCallback::create(WTF::move(callbackFunction));
+
+ if (!context()) {
+ callback->invalidate();
</ins><span class="cx"> return;
</span><ins>+ }
</ins><span class="cx">
</span><del>- context()->sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebOriginDataManager::StartObservingChanges(types));
</del><ins>+ uint64_t callbackID = callback->callbackID();
+ m_voidCallbacks.set(callbackID, callback.release());
+
+ context()->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<VoidCallback> callback = m_voidCallbacks.take(callbackID);
+ callback->performCallback();
+}
+
+void WebOriginDataManagerProxy::deleteAllEntries(WKOriginDataTypes types, std::function<void (CallbackBase::Error)> callbackFunction)
+{
+ if (!(types & kWKIndexedDatabaseData))
</ins><span class="cx"> return;
</span><span class="cx">
</span><del>- context()->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<VoidCallback> callback = VoidCallback::create(WTF::move(callbackFunction));
+
+ if (!context()) {
+ callback->invalidate();
+ return;
+ }
+
+ uint64_t callbackID = callback->callbackID();
+ m_voidCallbacks.set(callbackID, callback.release());
+
+ context()->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<VoidCallback> callback = m_voidCallbacks.take(callbackID);
+ callback->performCallback();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> } // namespace WebKit
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebOriginDataManagerProxyh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebOriginDataManagerProxy.h (171621 => 171622)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebOriginDataManagerProxy.h        2014-07-25 22:08:28 UTC (rev 171621)
+++ trunk/Source/WebKit2/UIProcess/WebOriginDataManagerProxy.h        2014-07-25 22:34:21 UTC (rev 171622)
</span><span class="lines">@@ -31,7 +31,6 @@
</span><span class="cx"> #include "MessageReceiver.h"
</span><span class="cx"> #include "WKOriginDataManager.h"
</span><span class="cx"> #include "WebContextSupplement.h"
</span><del>-#include "WebOriginDataManagerProxyChangeClient.h"
</del><span class="cx"> #include <wtf/PassRefPtr.h>
</span><span class="cx"> #include <wtf/RefPtr.h>
</span><span class="cx"> #include <wtf/Vector.h>
</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<void (API::Array*, CallbackBase::Error)>);
</span><del>- void deleteEntriesForOrigin(WKOriginDataTypes, WebSecurityOrigin*);
- void deleteAllEntries(WKOriginDataTypes);
</del><ins>+ void deleteEntriesForOrigin(WKOriginDataTypes, WebSecurityOrigin*, std::function<void (CallbackBase::Error)>);
+ void deleteEntriesModifiedBetweenDates(WKOriginDataTypes, double startDate, double endDate, std::function<void (CallbackBase::Error)>);
+ void deleteAllEntries(WKOriginDataTypes, std::function<void (CallbackBase::Error)>);
</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&) 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<SecurityOriginData>&, 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&) override;
-
</del><span class="cx"> HashMap<uint64_t, RefPtr<ArrayCallback>> m_arrayCallbacks;
</span><del>-
- WebOriginDataManagerProxyChangeClient m_client;
</del><ins>+ HashMap<uint64_t, RefPtr<VoidCallback>> m_voidCallbacks;
</ins><span class="cx"> };
</span><span class="cx">
</span><span class="cx"> } // namespace WebKit
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebOriginDataManagerProxymessagesin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebOriginDataManagerProxy.messages.in (171621 => 171622)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebOriginDataManagerProxy.messages.in        2014-07-25 22:08:28 UTC (rev 171621)
+++ trunk/Source/WebKit2/UIProcess/WebOriginDataManagerProxy.messages.in        2014-07-25 22:34:21 UTC (rev 171622)
</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 -> WebOriginDataManagerProxy {
</span><span class="cx"> DidGetOrigins(Vector<WebKit::SecurityOriginData> 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="trunkSourceWebKit2UIProcessWebOriginDataManagerProxyChangeClientcpp"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebKit2/UIProcess/WebOriginDataManagerProxyChangeClient.cpp (171621 => 171622)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebOriginDataManagerProxyChangeClient.cpp        2014-07-25 22:08:28 UTC (rev 171621)
+++ trunk/Source/WebKit2/UIProcess/WebOriginDataManagerProxyChangeClient.cpp        2014-07-25 22:34:21 UTC (rev 171622)
</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 "config.h"
-#include "WebOriginDataManagerProxyChangeClient.h"
-
-#include "WKAPICast.h"
-
-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="trunkSourceWebKit2UIProcessWebOriginDataManagerProxyChangeClienth"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebKit2/UIProcess/WebOriginDataManagerProxyChangeClient.h (171621 => 171622)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebOriginDataManagerProxyChangeClient.h        2014-07-25 22:08:28 UTC (rev 171621)
+++ trunk/Source/WebKit2/UIProcess/WebOriginDataManagerProxyChangeClient.h        2014-07-25 22:34:21 UTC (rev 171622)
</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 "APIClient.h"
-#include "WKOriginDataManager.h"
-#include <wtf/Forward.h>
-
-namespace API {
-template<> struct ClientTraits<WKOriginDataManagerChangeClientBase> {
- typedef std::tuple<WKOriginDataManagerChangeClientV0> Versions;
-};
-}
-
-namespace WebKit {
-
-class WebOriginDataManagerProxy;
-
-class WebOriginDataManagerProxyChangeClient : public API::Client<WKOriginDataManagerChangeClientBase> {
-public:
- void didChange(WebOriginDataManagerProxy*);
-};
-
-} // namespace WebKit
-
-#endif // WebOriginDataManagerProxyChangeClient_h
</del></span></pre></div>
<a id="trunkSourceWebKit2WebKit2xcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj (171621 => 171622)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj        2014-07-25 22:08:28 UTC (rev 171621)
+++ trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj        2014-07-25 22:34:21 UTC (rev 171622)
</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 = "<group>"; };
</span><span class="cx">                 755422C718064FFC0046F6A8 /* WebOriginDataManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WebOriginDataManager.h; path = OriginData/WebOriginDataManager.h; sourceTree = "<group>"; };
</span><span class="cx">                 755422C818064FFC0046F6A8 /* WebOriginDataManager.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = WebOriginDataManager.messages.in; path = OriginData/WebOriginDataManager.messages.in; sourceTree = "<group>"; };
</span><del>-                759CCD541808F1600078E8A8 /* WebOriginDataManagerProxyChangeClient.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebOriginDataManagerProxyChangeClient.cpp; sourceTree = "<group>"; };
-                759CCD551808F1600078E8A8 /* WebOriginDataManagerProxyChangeClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebOriginDataManagerProxyChangeClient.h; sourceTree = "<group>"; };
</del><span class="cx">                 75A8D2C4187CCF9F00C39C9E /* _WKWebsiteDataStore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = _WKWebsiteDataStore.h; sourceTree = "<group>"; };
</span><span class="cx">                 75A8D2C5187CCF9F00C39C9E /* _WKWebsiteDataStore.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = _WKWebsiteDataStore.mm; sourceTree = "<group>"; };
</span><span class="cx">                 75A8D2D0187D17BF00C39C9E /* WKSessionRef.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WKSessionRef.cpp; sourceTree = "<group>"; };
</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="trunkSourceWebKit2WebProcessOriginDataWebOriginDataManagercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/OriginData/WebOriginDataManager.cpp (171621 => 171622)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/OriginData/WebOriginDataManager.cpp        2014-07-25 22:08:28 UTC (rev 171621)
+++ trunk/Source/WebKit2/WebProcess/OriginData/WebOriginDataManager.cpp        2014-07-25 22:34:21 UTC (rev 171622)
</span><span class="lines">@@ -76,28 +76,24 @@
</span><span class="cx"> m_childProcess->send(Messages::WebOriginDataManagerProxy::DidGetOrigins(identifiers, callbackID), 0);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void WebOriginDataManager::deleteEntriesForOrigin(WKOriginDataTypes, const SecurityOriginData& originData)
</del><ins>+void WebOriginDataManager::deleteEntriesForOrigin(WKOriginDataTypes, const SecurityOriginData& origindata, uint64_t callbackID)
</ins><span class="cx"> {
</span><del>- RefPtr<SecurityOrigin> 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->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->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->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="trunkSourceWebKit2WebProcessOriginDataWebOriginDataManagerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/OriginData/WebOriginDataManager.h (171621 => 171622)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/OriginData/WebOriginDataManager.h        2014-07-25 22:08:28 UTC (rev 171621)
+++ trunk/Source/WebKit2/WebProcess/OriginData/WebOriginDataManager.h        2014-07-25 22:34:21 UTC (rev 171622)
</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 "ChildProcessSupplement.h"
</ins><span class="cx"> #include "MessageReceiver.h"
</span><span class="cx"> #include "WKOriginDataManager.h"
</span><del>-#include "WebProcessSupplement.h"
</del><span class="cx"> #include <wtf/Noncopyable.h>
</span><span class="cx"> #include <wtf/text/WTFString.h>
</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&);
- void startObservingChanges(WKOriginDataTypes);
- void stopObservingChanges(WKOriginDataTypes);
</del><ins>+ void getOrigins(WKOriginDataTypes, uint64_t callbackID);
+ void deleteEntriesForOrigin(WKOriginDataTypes, const SecurityOriginData&, 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&) override;
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessOriginDataWebOriginDataManagermessagesin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/OriginData/WebOriginDataManager.messages.in (171621 => 171622)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/OriginData/WebOriginDataManager.messages.in        2014-07-25 22:08:28 UTC (rev 171621)
+++ trunk/Source/WebKit2/WebProcess/OriginData/WebOriginDataManager.messages.in        2014-07-25 22:34:21 UTC (rev 171622)
</span><span class="lines">@@ -22,8 +22,7 @@
</span><span class="cx">
</span><span class="cx"> messages -> 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>