Diff
Modified: trunk/Source/WebKit2/ChangeLog (171621 => 171622)
--- 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)
@@ -1,3 +1,65 @@
+2014-07-25 Brady Eidson <[email protected]>
+
+ 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 Gavin Barraclough <[email protected]>
Yosemite version number is 101000
Modified: trunk/Source/WebKit2/DatabaseProcess/DatabaseProcess.cpp (171621 => 171622)
--- 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)
@@ -30,9 +30,12 @@
#include "AsyncTask.h"
#include "DatabaseProcessCreationParameters.h"
+#include "DatabaseProcessMessages.h"
#include "DatabaseProcessProxyMessages.h"
#include "DatabaseToWebProcessConnection.h"
#include "UniqueIDBDatabase.h"
+#include "WebOriginDataManager.h"
+#include "WebOriginDataManagerMessages.h"
#include <WebCore/FileSystem.h>
#include <wtf/MainThread.h>
@@ -48,6 +51,7 @@
DatabaseProcess::DatabaseProcess()
: m_queue(adoptRef(*WorkQueue::create("com.apple.WebKit.DatabaseProcess").leakRef()))
+ , m_webOriginDataManager(std::make_unique<WebOriginDataManager>(this))
{
}
@@ -70,6 +74,17 @@
RunLoop::current().stop();
}
+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;
+ }
+}
+
void DatabaseProcess::didReceiveInvalidMessage(IPC::Connection*, IPC::StringReference, IPC::StringReference)
{
RunLoop::current().stop();
Modified: trunk/Source/WebKit2/DatabaseProcess/DatabaseProcess.h (171621 => 171622)
--- 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)
@@ -39,6 +39,7 @@
class AsyncTask;
class DatabaseToWebProcessConnection;
class UniqueIDBDatabase;
+class WebOriginDataManager;
struct DatabaseProcessCreationParameters;
@@ -47,6 +48,7 @@
friend class NeverDestroyed<DatabaseProcess>;
public:
static DatabaseProcess& shared();
+ ~DatabaseProcess();
const String& indexedDatabaseDirectory() const { return m_indexedDatabaseDirectory; }
@@ -58,8 +60,6 @@
WorkQueue& queue() { return m_queue.get(); }
- ~DatabaseProcess();
-
private:
DatabaseProcess();
@@ -74,6 +74,7 @@
virtual void didReceiveMessage(IPC::Connection*, IPC::MessageDecoder&) override;
virtual void didClose(IPC::Connection*) override;
virtual void didReceiveInvalidMessage(IPC::Connection*, IPC::StringReference messageReceiverName, IPC::StringReference messageName) override;
+ void didReceiveDatabaseProcessMessage(IPC::Connection*, IPC::MessageDecoder&);
// Message Handlers
void initializeDatabaseProcess(const DatabaseProcessCreationParameters&);
@@ -95,6 +96,8 @@
Deque<std::unique_ptr<AsyncTask>> m_databaseTasks;
Mutex m_databaseTaskMutex;
+
+ std::unique_ptr<WebOriginDataManager> m_webOriginDataManager;
};
} // namespace WebKit
Modified: trunk/Source/WebKit2/DatabaseProcess/DatabaseProcess.messages.in (171621 => 171622)
--- 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)
@@ -22,7 +22,7 @@
#if ENABLE(DATABASE_PROCESS)
-messages -> DatabaseProcess {
+messages -> DatabaseProcess LegacyReceiver {
# Initializes the DatabaseProcess with the correct parameters
InitializeDatabaseProcess(WebKit::DatabaseProcessCreationParameters processCreationParameters)
Modified: trunk/Source/WebKit2/UIProcess/API/C/WKOriginDataManager.cpp (171621 => 171622)
--- 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)
@@ -41,27 +41,23 @@
toImpl(originDataManagerRef)->getOrigins(types, toGenericCallbackFunction(context, callback));
}
-void WKOriginDataManagerDeleteEntriesForOrigin(WKOriginDataManagerRef originDataManagerRef, WKOriginDataTypes types, WKSecurityOriginRef originRef)
+void WKOriginDataManagerDeleteEntriesForOrigin(WKOriginDataManagerRef originDataManagerRef, WKOriginDataTypes types, WKSecurityOriginRef originRef, void* context, WKOriginDataManagerDeleteEntriesCallbackFunction callback)
{
- toImpl(originDataManagerRef)->deleteEntriesForOrigin(types, toImpl(originRef));
+ toImpl(originDataManagerRef)->deleteEntriesForOrigin(types, toImpl(originRef), [context, callback](CallbackBase::Error error) {
+ callback(error != CallbackBase::Error::None ? toAPI(API::Error::create().get()) : 0, context);
+ });
}
-void WKOriginDataManagerDeleteAllEntries(WKOriginDataManagerRef originDataManagerRef, WKOriginDataTypes types)
+void WKOriginDataManagerDeleteEntriesModifiedBetweenDates(WKOriginDataManagerRef originDataManagerRef, WKOriginDataTypes types, double startDate, double endDate, void* context, WKOriginDataManagerDeleteEntriesCallbackFunction callback)
{
- toImpl(originDataManagerRef)->deleteAllEntries(types);
+ toImpl(originDataManagerRef)->deleteEntriesModifiedBetweenDates(types, startDate, endDate, [context, callback](CallbackBase::Error error) {
+ callback(error != CallbackBase::Error::None ? toAPI(API::Error::create().get()) : 0, context);
+ });
}
-void WKOriginDataManagerStartObservingChanges(WKOriginDataManagerRef originDataManagerRef, WKOriginDataTypes types)
+void WKOriginDataManagerDeleteAllEntries(WKOriginDataManagerRef originDataManagerRef, WKOriginDataTypes types, void* context, WKOriginDataManagerDeleteEntriesCallbackFunction callback)
{
- toImpl(originDataManagerRef)->startObservingChanges(types);
+ toImpl(originDataManagerRef)->deleteAllEntries(types, [context, callback](CallbackBase::Error error) {
+ callback(error != CallbackBase::Error::None ? toAPI(API::Error::create().get()) : 0, context);
+ });
}
-
-void WKOriginDataManagerStopObservingChanges(WKOriginDataManagerRef originDataManagerRef, WKOriginDataTypes types)
-{
- toImpl(originDataManagerRef)->stopObservingChanges(types);
-}
-
-void WKOriginDataManagerSetChangeClient(WKOriginDataManagerRef originDataManagerRef, const WKOriginDataManagerChangeClientBase *client)
-{
- toImpl(originDataManagerRef)->setChangeClient(client);
-}
Modified: trunk/Source/WebKit2/UIProcess/API/C/WKOriginDataManager.h (171621 => 171622)
--- 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)
@@ -35,13 +35,14 @@
enum {
kWKApplicationCacheOriginData = 1 << 0,
kWKCookieOriginData = 1 << 1,
- kWKDatabaseOriginData = 1 << 2,
+ kWKIndexedDatabaseData = 1 << 2,
kWKKeyValueStorageOriginData = 1 << 3,
kWKMediaCacheOriginData = 1 << 4,
kWKPluginDataOriginData = 1 << 5,
kWKResourceCacheOriginData = 1 << 6,
+ kWKWebSQLDatabaseOriginData = 1 << 7,
- kWKAllOriginData = (1 << 7) - 1
+ kWKAllOriginData = 0xFFFFFFFF
};
typedef uint32_t WKOriginDataTypes;
@@ -50,36 +51,11 @@
typedef void (*WKOriginDataManagerGetOriginsFunction)(WKArrayRef, WKErrorRef, void*);
WK_EXPORT void WKOriginDataManagerGetOrigins(WKOriginDataManagerRef originDataManager, WKOriginDataTypes types, void* context, WKOriginDataManagerGetOriginsFunction function);
-WK_EXPORT void WKOriginDataManagerDeleteEntriesForOrigin(WKOriginDataManagerRef originDataManager, WKOriginDataTypes types, WKSecurityOriginRef origin);
-WK_EXPORT void WKOriginDataManagerDeleteAllEntries(WKOriginDataManagerRef originDataManager, WKOriginDataTypes types);
+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);
-// 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);
#ifdef __cplusplus
}
#endif
Modified: trunk/Source/WebKit2/UIProcess/Databases/DatabaseProcessProxy.cpp (171621 => 171622)
--- 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)
@@ -27,7 +27,10 @@
#include "DatabaseProcessProxy.h"
#include "DatabaseProcessMessages.h"
+#include "DatabaseProcessProxyMessages.h"
#include "WebContext.h"
+#include "WebOriginDataManagerProxy.h"
+#include "WebOriginDataManagerProxyMessages.h"
#if ENABLE(DATABASE_PROCESS)
@@ -66,6 +69,19 @@
{
}
+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;
+ }
+}
+
void DatabaseProcessProxy::getDatabaseProcessConnection(PassRefPtr<Messages::WebProcessProxy::GetDatabaseProcessConnection::DelayedReply> reply)
{
m_pendingConnectionReplies.append(reply);
Modified: trunk/Source/WebKit2/UIProcess/Databases/DatabaseProcessProxy.h (171621 => 171622)
--- 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)
@@ -57,6 +57,8 @@
virtual void didClose(IPC::Connection*) override;
virtual void didReceiveInvalidMessage(IPC::Connection*, IPC::StringReference messageReceiverName, IPC::StringReference messageName) override;
+ void didReceiveDatabaseProcessProxyMessage(IPC::Connection*, IPC::MessageDecoder&);
+
// Message handlers
void didCreateDatabaseToWebProcessConnection(const IPC::Attachment&);
Modified: trunk/Source/WebKit2/UIProcess/Databases/DatabaseProcessProxy.messages.in (171621 => 171622)
--- 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)
@@ -22,7 +22,7 @@
#if ENABLE(DATABASE_PROCESS)
-messages -> DatabaseProcessProxy {
+messages -> DatabaseProcessProxy LegacyReceiver {
DidCreateDatabaseToWebProcessConnection(IPC::Attachment connectionIdentifier)
}
Modified: trunk/Source/WebKit2/UIProcess/WebContext.cpp (171621 => 171622)
--- 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)
@@ -78,6 +78,7 @@
#if ENABLE(DATABASE_PROCESS)
#include "DatabaseProcessCreationParameters.h"
#include "DatabaseProcessMessages.h"
+#include "WebOriginDataManagerProxy.h"
#endif
#if ENABLE(NETWORK_PROCESS)
@@ -217,6 +218,9 @@
#if ENABLE(BATTERY_STATUS)
addSupplement<WebBatteryManagerProxy>();
#endif
+#if ENABLE(DATABASE_PROCESS)
+ addSupplement<WebOriginDataManagerProxy>();
+#endif
contexts().append(this);
Modified: trunk/Source/WebKit2/UIProcess/WebContext.h (171621 => 171622)
--- 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)
@@ -303,6 +303,7 @@
void ensureDatabaseProcess();
void getDatabaseProcessConnection(PassRefPtr<Messages::WebProcessProxy::GetDatabaseProcessConnection::DelayedReply>);
void databaseProcessCrashed(DatabaseProcessProxy*);
+ template<typename T> void sendToDatabaseProcessRelaunchingIfNecessary(T&& message);
#endif
#if PLATFORM(COCOA)
@@ -615,7 +616,16 @@
ASSERT_NOT_REACHED();
}
+#if ENABLE(DATABASE_PROCESS)
template<typename T>
+void WebContext::sendToDatabaseProcessRelaunchingIfNecessary(T&& message)
+{
+ ensureDatabaseProcess();
+ m_databaseProcess->send(std::forward<T>(message), 0);
+}
+#endif
+
+template<typename T>
void WebContext::sendToAllProcesses(const T& message)
{
size_t processCount = m_processes.size();
Modified: trunk/Source/WebKit2/UIProcess/WebOriginDataManagerProxy.cpp (171621 => 171622)
--- 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)
@@ -102,53 +102,87 @@
performAPICallbackWithSecurityOriginDataVector(originDatas, callback.get());
}
-void WebOriginDataManagerProxy::deleteEntriesForOrigin(WKOriginDataTypes types, WebSecurityOrigin* origin)
+void WebOriginDataManagerProxy::deleteEntriesForOrigin(WKOriginDataTypes types, WebSecurityOrigin* origin, std::function<void (CallbackBase::Error)> callbackFunction)
{
- if (!context())
+ if (!(types & kWKIndexedDatabaseData))
return;
+ // 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());
+
SecurityOriginData securityOriginData;
securityOriginData.protocol = origin->securityOrigin().protocol();
securityOriginData.host = origin->securityOrigin().host();
securityOriginData.port = origin->securityOrigin().port();
- // FIXME (Multi-WebProcess): <rdar://problem/12239765> Make manipulating cache information work with per-tab WebProcess.
- context()->sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebOriginDataManager::DeleteEntriesForOrigin(types, securityOriginData));
+ context()->sendToDatabaseProcessRelaunchingIfNecessary(Messages::WebOriginDataManager::DeleteEntriesForOrigin(types, securityOriginData, callbackID));
}
-void WebOriginDataManagerProxy::deleteAllEntries(WKOriginDataTypes types)
+void WebOriginDataManagerProxy::deleteEntriesModifiedBetweenDates(WKOriginDataTypes types, double startDate, double endDate, std::function<void (CallbackBase::Error)> callbackFunction)
{
- if (!context())
+ if (!(types & kWKIndexedDatabaseData))
return;
- // FIXME (Multi-WebProcess): <rdar://problem/12239765> Make manipulating cache information work with per-tab WebProcess.
- context()->sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebOriginDataManager::DeleteAllEntries(types));
-}
+ // 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.
-void WebOriginDataManagerProxy::startObservingChanges(WKOriginDataTypes types)
-{
- if (!context())
+ RefPtr<VoidCallback> callback = VoidCallback::create(WTF::move(callbackFunction));
+
+ if (!context()) {
+ callback->invalidate();
return;
+ }
- context()->sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebOriginDataManager::StartObservingChanges(types));
+ uint64_t callbackID = callback->callbackID();
+ m_voidCallbacks.set(callbackID, callback.release());
+
+ context()->sendToDatabaseProcessRelaunchingIfNecessary(Messages::WebOriginDataManager::DeleteEntriesModifiedBetweenDates(types, startDate, endDate, callbackID));
}
-void WebOriginDataManagerProxy::stopObservingChanges(WKOriginDataTypes types)
+void WebOriginDataManagerProxy::didDeleteEntries(uint64_t callbackID)
{
- if (!context())
+ RefPtr<VoidCallback> callback = m_voidCallbacks.take(callbackID);
+ callback->performCallback();
+}
+
+void WebOriginDataManagerProxy::deleteAllEntries(WKOriginDataTypes types, std::function<void (CallbackBase::Error)> callbackFunction)
+{
+ if (!(types & kWKIndexedDatabaseData))
return;
- context()->sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebOriginDataManager::StartObservingChanges(types));
-}
+ // 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.
-void WebOriginDataManagerProxy::setChangeClient(const WKOriginDataManagerChangeClientBase *client)
-{
- m_client.initialize(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());
+
+ context()->sendToDatabaseProcessRelaunchingIfNecessary(Messages::WebOriginDataManager::DeleteAllEntries(types, callbackID));
}
-void WebOriginDataManagerProxy::didChange()
+void WebOriginDataManagerProxy::didDeleteAllEntries(uint64_t callbackID)
{
- m_client.didChange(this);
+ RefPtr<VoidCallback> callback = m_voidCallbacks.take(callbackID);
+ callback->performCallback();
}
} // namespace WebKit
Modified: trunk/Source/WebKit2/UIProcess/WebOriginDataManagerProxy.h (171621 => 171622)
--- 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)
@@ -31,7 +31,6 @@
#include "MessageReceiver.h"
#include "WKOriginDataManager.h"
#include "WebContextSupplement.h"
-#include "WebOriginDataManagerProxyChangeClient.h"
#include <wtf/PassRefPtr.h>
#include <wtf/RefPtr.h>
#include <wtf/Vector.h>
@@ -55,21 +54,22 @@
virtual ~WebOriginDataManagerProxy();
void getOrigins(WKOriginDataTypes, std::function<void (API::Array*, CallbackBase::Error)>);
- void deleteEntriesForOrigin(WKOriginDataTypes, WebSecurityOrigin*);
- void deleteAllEntries(WKOriginDataTypes);
+ 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)>);
- void startObservingChanges(WKOriginDataTypes);
- void stopObservingChanges(WKOriginDataTypes);
- void setChangeClient(const WKOriginDataManagerChangeClientBase*);
-
using API::Object::ref;
using API::Object::deref;
+ // IPC::MessageReceiver
+ virtual void didReceiveMessage(IPC::Connection*, IPC::MessageDecoder&) override;
+
private:
explicit WebOriginDataManagerProxy(WebContext*);
void didGetOrigins(const Vector<SecurityOriginData>&, uint64_t callbackID);
- void didChange();
+ void didDeleteEntries(uint64_t callbackID);
+ void didDeleteAllEntries(uint64_t callbackID);
// WebContextSupplement
virtual void contextDestroyed() override;
@@ -78,12 +78,8 @@
virtual void refWebContextSupplement() override;
virtual void derefWebContextSupplement() override;
- // IPC::MessageReceiver
- virtual void didReceiveMessage(IPC::Connection*, IPC::MessageDecoder&) override;
-
HashMap<uint64_t, RefPtr<ArrayCallback>> m_arrayCallbacks;
-
- WebOriginDataManagerProxyChangeClient m_client;
+ HashMap<uint64_t, RefPtr<VoidCallback>> m_voidCallbacks;
};
} // namespace WebKit
Modified: trunk/Source/WebKit2/UIProcess/WebOriginDataManagerProxy.messages.in (171621 => 171622)
--- 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)
@@ -1,4 +1,4 @@
-# Copyright (C) 2011 Apple Inc. All rights reserved.
+# Copyright (C) 2011, 2014 Apple Inc. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
@@ -22,5 +22,6 @@
messages -> WebOriginDataManagerProxy {
DidGetOrigins(Vector<WebKit::SecurityOriginData> originIdentifiers, uint64_t callbackID);
- DidChange()
+ DidDeleteEntries(uint64_t callbackID);
+ DidDeleteAllEntries(uint64_t callbackID);
}
Deleted: trunk/Source/WebKit2/UIProcess/WebOriginDataManagerProxyChangeClient.cpp (171621 => 171622)
--- 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)
@@ -1,41 +0,0 @@
-/*
- * 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
Deleted: trunk/Source/WebKit2/UIProcess/WebOriginDataManagerProxyChangeClient.h (171621 => 171622)
--- 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)
@@ -1,50 +0,0 @@
-/*
- * 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
Modified: trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj (171621 => 171622)
--- 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)
@@ -789,6 +789,7 @@
3F889D171887859300FEADAF /* WebVideoFullscreenManager.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3F889D0D1887699C00FEADAF /* WebVideoFullscreenManager.mm */; };
4F601432155C5AA2001FBDE0 /* BlockingResponseMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F601430155C5A32001FBDE0 /* BlockingResponseMap.h */; };
51021E9C12B16788005C033C /* WebContextMenuClientMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 51021E9B12B16788005C033C /* WebContextMenuClientMac.mm */; };
+ 510274321981AF8E008165ED /* WKOriginDataManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 755422BA18062B9C0046F6A8 /* WKOriginDataManager.h */; settings = {ATTRIBUTES = (Private, ); }; };
51032F18180F73BB00961BB7 /* WebToDatabaseProcessConnection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51032F16180F73BB00961BB7 /* WebToDatabaseProcessConnection.cpp */; };
51032F19180F73BB00961BB7 /* WebToDatabaseProcessConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = 51032F17180F73BB00961BB7 /* WebToDatabaseProcessConnection.h */; };
51032F1D180F791700961BB7 /* DatabaseToWebProcessConnectionMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51032F1B180F791700961BB7 /* DatabaseToWebProcessConnectionMessageReceiver.cpp */; };
@@ -1018,8 +1019,6 @@
755422C418062BF90046F6A8 /* WebOriginDataManagerProxy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 755422BE18062BE40046F6A8 /* WebOriginDataManagerProxy.cpp */; };
755422CB180650020046F6A8 /* WebOriginDataManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 755422C618064FFC0046F6A8 /* WebOriginDataManager.cpp */; };
755422CC180773CE0046F6A8 /* WebOriginDataManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 755422C718064FFC0046F6A8 /* WebOriginDataManager.h */; };
- 759CCD581808F1640078E8A8 /* WebOriginDataManagerProxyChangeClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 759CCD541808F1600078E8A8 /* WebOriginDataManagerProxyChangeClient.cpp */; };
- 759CCD591808F1690078E8A8 /* WebOriginDataManagerProxyChangeClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 759CCD551808F1600078E8A8 /* WebOriginDataManagerProxyChangeClient.h */; };
759CCD5A1808F6160078E8A8 /* WebOriginDataManagerProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 755422BF18062BE40046F6A8 /* WebOriginDataManagerProxy.h */; };
75A8D2C8187CCFAB00C39C9E /* _WKWebsiteDataStore.h in Headers */ = {isa = PBXBuildFile; fileRef = 75A8D2C4187CCF9F00C39C9E /* _WKWebsiteDataStore.h */; settings = {ATTRIBUTES = (Private, ); }; };
75A8D2C9187CCFAF00C39C9E /* _WKWebsiteDataStore.mm in Sources */ = {isa = PBXBuildFile; fileRef = 75A8D2C5187CCF9F00C39C9E /* _WKWebsiteDataStore.mm */; };
@@ -3069,8 +3068,6 @@
755422C618064FFC0046F6A8 /* WebOriginDataManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = WebOriginDataManager.cpp; path = OriginData/WebOriginDataManager.cpp; sourceTree = "<group>"; };
755422C718064FFC0046F6A8 /* WebOriginDataManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WebOriginDataManager.h; path = OriginData/WebOriginDataManager.h; sourceTree = "<group>"; };
755422C818064FFC0046F6A8 /* WebOriginDataManager.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = WebOriginDataManager.messages.in; path = OriginData/WebOriginDataManager.messages.in; sourceTree = "<group>"; };
- 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>"; };
75A8D2C4187CCF9F00C39C9E /* _WKWebsiteDataStore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = _WKWebsiteDataStore.h; sourceTree = "<group>"; };
75A8D2C5187CCF9F00C39C9E /* _WKWebsiteDataStore.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = _WKWebsiteDataStore.mm; sourceTree = "<group>"; };
75A8D2D0187D17BF00C39C9E /* WKSessionRef.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WKSessionRef.cpp; sourceTree = "<group>"; };
@@ -5888,8 +5885,6 @@
755422BF18062BE40046F6A8 /* WebOriginDataManagerProxy.h */,
755422BE18062BE40046F6A8 /* WebOriginDataManagerProxy.cpp */,
755422C018062BE40046F6A8 /* WebOriginDataManagerProxy.messages.in */,
- 759CCD541808F1600078E8A8 /* WebOriginDataManagerProxyChangeClient.cpp */,
- 759CCD551808F1600078E8A8 /* WebOriginDataManagerProxyChangeClient.h */,
5153569A1291B1D2000749DC /* WebPageContextMenuClient.cpp */,
5153569B1291B1D2000749DC /* WebPageContextMenuClient.h */,
BC7B6205129A0A6700D174A4 /* WebPageGroup.cpp */,
@@ -7369,6 +7364,7 @@
1A6420E512DCE2FF00CAAE2C /* ShareableBitmap.h in Headers */,
51217461164C20E30037A5C1 /* ShareableResource.h in Headers */,
1A24BED5120894D100FBB059 /* SharedMemory.h in Headers */,
+ 510274321981AF8E008165ED /* WKOriginDataManager.h in Headers */,
5272B28B1406985D0096A5D0 /* StatisticsData.h in Headers */,
514BDED316C98EDD00E4E25E /* StatisticsRequest.h in Headers */,
1AD3306F16B1D991004F60E7 /* StorageAreaImpl.h in Headers */,
@@ -7803,7 +7799,6 @@
373CEAD81859553F008C363D /* WKPagePolicyClientInternal.h in Headers */,
1A66BF8F18A052ED002071B4 /* WKWebViewInternal.h in Headers */,
BC40761A124FF0370068F20A /* WKStringCF.h in Headers */,
- 759CCD591808F1690078E8A8 /* WebOriginDataManagerProxyChangeClient.h in Headers */,
BC9099801256A98200083756 /* WKStringPrivate.h in Headers */,
5175095A1897249700408FAC /* IDBIdentifier.h in Headers */,
1A3C888018A5ABAE00C4C962 /* WKPreferencesInternal.h in Headers */,
@@ -9376,7 +9371,6 @@
1AE52F9119201DA700A1FA37 /* APIContextConfiguration.cpp in Sources */,
3309345A1315B9980097A7BC /* WKCookieManager.cpp in Sources */,
512F58F912A88A5400629530 /* WKCredential.cpp in Sources */,
- 759CCD581808F1640078E8A8 /* WebOriginDataManagerProxyChangeClient.cpp in Sources */,
1A5B1C501898606F004FCF9B /* WKNavigation.mm in Sources */,
BC4075F7124FF0270068F20A /* WKData.cpp in Sources */,
F62A766112B1ABED0005F1B6 /* WKDatabaseManager.cpp in Sources */,
Modified: trunk/Source/WebKit2/WebProcess/OriginData/WebOriginDataManager.cpp (171621 => 171622)
--- 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)
@@ -76,28 +76,24 @@
m_childProcess->send(Messages::WebOriginDataManagerProxy::DidGetOrigins(identifiers, callbackID), 0);
}
-void WebOriginDataManager::deleteEntriesForOrigin(WKOriginDataTypes, const SecurityOriginData& originData)
+void WebOriginDataManager::deleteEntriesForOrigin(WKOriginDataTypes, const SecurityOriginData& origindata, uint64_t callbackID)
{
- RefPtr<SecurityOrigin> origin = SecurityOrigin::create(originData.protocol, originData.host, originData.port);
- if (!origin)
- return;
-
// FIXME: delete entries for origin
+ m_childProcess->send(Messages::WebOriginDataManagerProxy::DidDeleteEntries(callbackID), 0);
}
-void WebOriginDataManager::deleteAllEntries(WKOriginDataTypes)
+void WebOriginDataManager::deleteEntriesModifiedBetweenDates(WKOriginDataTypes, double, double, uint64_t callbackID)
{
- // FIXME: delete entries
-}
+ // FIXME: delete entries modified between the start and end date
-void WebOriginDataManager::startObservingChanges(WKOriginDataTypes)
-{
- // FIXME: start observing changes
+ m_childProcess->send(Messages::WebOriginDataManagerProxy::DidDeleteEntries(callbackID), 0);
}
-void WebOriginDataManager::stopObservingChanges(WKOriginDataTypes)
+void WebOriginDataManager::deleteAllEntries(WKOriginDataTypes, uint64_t callbackID)
{
- // FIXME: stop observing changes
+ // FIXME: delete entries
+
+ m_childProcess->send(Messages::WebOriginDataManagerProxy::DidDeleteAllEntries(callbackID), 0);
}
} // namespace WebKit
Modified: trunk/Source/WebKit2/WebProcess/OriginData/WebOriginDataManager.h (171621 => 171622)
--- 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)
@@ -26,9 +26,9 @@
#ifndef WebOriginDataManager_h
#define WebOriginDataManager_h
+#include "ChildProcessSupplement.h"
#include "MessageReceiver.h"
#include "WKOriginDataManager.h"
-#include "WebProcessSupplement.h"
#include <wtf/Noncopyable.h>
#include <wtf/text/WTFString.h>
@@ -37,20 +37,18 @@
class ChildProcess;
struct SecurityOriginData;
-class WebOriginDataManager : public WebProcessSupplement, public IPC::MessageReceiver {
+class WebOriginDataManager : public ChildProcessSupplement, public IPC::MessageReceiver {
WTF_MAKE_NONCOPYABLE(WebOriginDataManager);
public:
WebOriginDataManager(ChildProcess*);
static const char* supplementName();
- void deleteAllEntries(WKOriginDataTypes);
-
private:
- void getOrigins(WKOriginDataTypes, uint64_t);
- void deleteEntriesForOrigin(WKOriginDataTypes, const SecurityOriginData&);
- void startObservingChanges(WKOriginDataTypes);
- void stopObservingChanges(WKOriginDataTypes);
+ 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);
// IPC::MessageReceiver
virtual void didReceiveMessage(IPC::Connection*, IPC::MessageDecoder&) override;
Modified: trunk/Source/WebKit2/WebProcess/OriginData/WebOriginDataManager.messages.in (171621 => 171622)
--- 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)
@@ -22,8 +22,7 @@
messages -> WebOriginDataManager {
void GetOrigins(uint32_t types, uint64_t callbackID)
- void DeleteEntriesForOrigin(uint32_t types, WebKit::SecurityOriginData originIdentifier)
- void DeleteAllEntries(uint32_t types)
- void StartObservingChanges(uint32_t types)
- void StopObservingChanges(uint32_t types)
+ 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)
}