Diff
Modified: trunk/Source/WebCore/ChangeLog (159562 => 159563)
--- trunk/Source/WebCore/ChangeLog 2013-11-20 15:49:15 UTC (rev 159562)
+++ trunk/Source/WebCore/ChangeLog 2013-11-20 16:00:11 UTC (rev 159563)
@@ -1,3 +1,26 @@
+2013-11-20 Brady Eidson <beid...@apple.com>
+
+ Cleanup getOrEstablishIDBDatabaseMetadata and stub it out in WK2
+ https://bugs.webkit.org/show_bug.cgi?id=124635
+
+ Reviewed by Tim Horton.
+
+ getOrEstablishIDBDatabaseMetadata() should not have to take a database name parameter because the
+ server connection should already know what database name it represents.
+
+ * Modules/indexeddb/IDBDatabaseBackend.cpp:
+ (WebCore::IDBDatabaseBackend::openInternalAsync):
+
+ * Modules/indexeddb/IDBServerConnection.h:
+ * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
+ (WebCore::IDBServerConnectionLevelDB::IDBServerConnectionLevelDB):
+ (WebCore::IDBServerConnectionLevelDB::getOrEstablishIDBDatabaseMetadata):
+ * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
+
+ * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
+ (WebCore::IDBFactoryBackendLevelDB::deleteDatabase):
+ (WebCore::IDBFactoryBackendLevelDB::open):
+
2013-11-20 Andrzej Badowski <a.badow...@samsung.com>
[EFL] <video> and <audio> should be accessible.
Modified: trunk/Source/WebCore/Modules/indexeddb/IDBDatabaseBackend.cpp (159562 => 159563)
--- trunk/Source/WebCore/Modules/indexeddb/IDBDatabaseBackend.cpp 2013-11-20 15:49:15 UTC (rev 159562)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBDatabaseBackend.cpp 2013-11-20 16:00:11 UTC (rev 159563)
@@ -105,7 +105,7 @@
void IDBDatabaseBackend::openInternalAsync()
{
RefPtr<IDBDatabaseBackend> self = this;
- m_serverConnection->getOrEstablishIDBDatabaseMetadata(m_metadata.name, [self](const IDBDatabaseMetadata& metadata, bool success) {
+ m_serverConnection->getOrEstablishIDBDatabaseMetadata([self](const IDBDatabaseMetadata& metadata, bool success) {
self->didOpenInternalAsync(metadata, success);
});
}
Modified: trunk/Source/WebCore/Modules/indexeddb/IDBServerConnection.h (159562 => 159563)
--- trunk/Source/WebCore/Modules/indexeddb/IDBServerConnection.h 2013-11-20 15:49:15 UTC (rev 159562)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBServerConnection.h 2013-11-20 16:00:11 UTC (rev 159563)
@@ -57,10 +57,12 @@
typedef std::function<void (bool success)> BoolCallbackFunction;
+ // Factory-level operations
+ virtual void deleteDatabase(const String& name, BoolCallbackFunction successCallback) = 0;
+
// Database-level operations
typedef std::function<void (const IDBDatabaseMetadata&, bool success)> GetIDBDatabaseMetadataFunction;
- virtual void getOrEstablishIDBDatabaseMetadata(const String& name, GetIDBDatabaseMetadataFunction) = 0;
- virtual void deleteDatabase(const String& name, BoolCallbackFunction successCallback) = 0;
+ virtual void getOrEstablishIDBDatabaseMetadata(GetIDBDatabaseMetadataFunction) = 0;
virtual void close() = 0;
// Transaction-level operations
Modified: trunk/Source/WebCore/Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp (159562 => 159563)
--- trunk/Source/WebCore/Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp 2013-11-20 15:49:15 UTC (rev 159562)
+++ trunk/Source/WebCore/Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp 2013-11-20 16:00:11 UTC (rev 159563)
@@ -123,7 +123,7 @@
return;
}
- RefPtr<IDBServerConnection> serverConnection = IDBServerConnectionLevelDB::create(backingStore.get());
+ RefPtr<IDBServerConnection> serverConnection = IDBServerConnectionLevelDB::create(name, backingStore.get());
RefPtr<IDBDatabaseBackend> databaseBackend = IDBDatabaseBackend::create(name, uniqueIdentifier, this, *serverConnection);
if (databaseBackend) {
m_databaseBackendMap.set(uniqueIdentifier, databaseBackend.get());
@@ -178,7 +178,7 @@
return;
}
- RefPtr<IDBServerConnection> serverConnection = IDBServerConnectionLevelDB::create(backingStore.get());
+ RefPtr<IDBServerConnection> serverConnection = IDBServerConnectionLevelDB::create(name, backingStore.get());
databaseBackend = IDBDatabaseBackend::create(name, uniqueIdentifier, this, *serverConnection);
if (databaseBackend)
m_databaseBackendMap.set(uniqueIdentifier, databaseBackend.get());
Modified: trunk/Source/WebCore/Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp (159562 => 159563)
--- trunk/Source/WebCore/Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp 2013-11-20 15:49:15 UTC (rev 159562)
+++ trunk/Source/WebCore/Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp 2013-11-20 16:00:11 UTC (rev 159563)
@@ -55,10 +55,11 @@
namespace WebCore {
-IDBServerConnectionLevelDB::IDBServerConnectionLevelDB(IDBBackingStoreLevelDB* backingStore)
+IDBServerConnectionLevelDB::IDBServerConnectionLevelDB(const String& databaseName, IDBBackingStoreLevelDB* backingStore)
: m_backingStore(backingStore)
, m_nextCursorID(1)
, m_closed(false)
+ , m_databaseName(databaseName)
{
}
@@ -71,10 +72,10 @@
return m_closed;
}
-void IDBServerConnectionLevelDB::getOrEstablishIDBDatabaseMetadata(const String& name, GetIDBDatabaseMetadataFunction callback)
+void IDBServerConnectionLevelDB::getOrEstablishIDBDatabaseMetadata(GetIDBDatabaseMetadataFunction callback)
{
RefPtr<IDBServerConnection> self(this);
- m_backingStore->getOrEstablishIDBDatabaseMetadata(name, [self, this, callback](const IDBDatabaseMetadata& metadata, bool success) {
+ m_backingStore->getOrEstablishIDBDatabaseMetadata(m_databaseName, [self, this, callback](const IDBDatabaseMetadata& metadata, bool success) {
callback(metadata, success);
});
}
Modified: trunk/Source/WebCore/Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h (159562 => 159563)
--- trunk/Source/WebCore/Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h 2013-11-20 15:49:15 UTC (rev 159562)
+++ trunk/Source/WebCore/Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h 2013-11-20 16:00:11 UTC (rev 159563)
@@ -39,18 +39,20 @@
class IDBServerConnectionLevelDB FINAL : public IDBServerConnection {
public:
- static PassRefPtr<IDBServerConnection> create(IDBBackingStoreLevelDB* backingStore)
+ static PassRefPtr<IDBServerConnection> create(const String& databaseName, IDBBackingStoreLevelDB* backingStore)
{
- return adoptRef(new IDBServerConnectionLevelDB(backingStore));
+ return adoptRef(new IDBServerConnectionLevelDB(databaseName, backingStore));
}
virtual ~IDBServerConnectionLevelDB();
virtual bool isClosed() OVERRIDE;
+ // Factory-level operations
+ virtual void deleteDatabase(const String& name, BoolCallbackFunction successCallback) OVERRIDE;
+
// Database-level operations
- virtual void getOrEstablishIDBDatabaseMetadata(const String& name, GetIDBDatabaseMetadataFunction) OVERRIDE;
- virtual void deleteDatabase(const String& name, BoolCallbackFunction successCallback) OVERRIDE;
+ virtual void getOrEstablishIDBDatabaseMetadata(GetIDBDatabaseMetadataFunction) OVERRIDE;
virtual void close() OVERRIDE;
// Transaction-level operations
@@ -80,7 +82,7 @@
virtual void cursorPrefetchReset(IDBCursorBackend&, int usedPrefetches) OVERRIDE;
private:
- IDBServerConnectionLevelDB(IDBBackingStoreLevelDB*);
+ IDBServerConnectionLevelDB(const String& databaseName, IDBBackingStoreLevelDB*);
RefPtr<IDBBackingStoreLevelDB> m_backingStore;
HashMap<int64_t, RefPtr<IDBBackingStoreTransactionLevelDB>> m_backingStoreTransactions;
@@ -89,6 +91,8 @@
int64_t m_nextCursorID;
bool m_closed;
+
+ String m_databaseName;
};
} // namespace WebCore
Modified: trunk/Source/WebKit2/ChangeLog (159562 => 159563)
--- trunk/Source/WebKit2/ChangeLog 2013-11-20 15:49:15 UTC (rev 159562)
+++ trunk/Source/WebKit2/ChangeLog 2013-11-20 16:00:11 UTC (rev 159563)
@@ -1,3 +1,28 @@
+2013-11-20 Brady Eidson <beid...@apple.com>
+
+ Cleanup getOrEstablishIDBDatabaseMetadata and stub it out in WK2
+ https://bugs.webkit.org/show_bug.cgi?id=124635
+
+ Reviewed by Tim Horton.
+
+ Stub out the message for getOrEstablishIDBDatabaseMetadata in the DatabaseProcess.
+
+ * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
+ (WebKit::DatabaseProcessIDBConnection::establishConnection):
+ (WebKit::DatabaseProcessIDBConnection::getOrEstablishIDBDatabaseMetadata):
+ * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
+ * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:
+
+ * Shared/SecurityOriginData.cpp:
+ (WebKit::SecurityOriginData::fromSecurityOrigin):
+ * Shared/SecurityOriginData.h:
+
+ * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
+ (WebKit::WebIDBServerConnection::WebIDBServerConnection):
+ (WebKit::WebIDBServerConnection::deleteDatabase):
+ (WebKit::WebIDBServerConnection::getOrEstablishIDBDatabaseMetadata):
+ * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
+
2013-11-20 Carlos Garcia Campos <cgar...@igalia.com>
[GTK] Do not use deprecated callbacks in WebKitPolicyClient
Modified: trunk/Source/WebKit2/DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp (159562 => 159563)
--- trunk/Source/WebKit2/DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp 2013-11-20 15:49:15 UTC (rev 159562)
+++ trunk/Source/WebKit2/DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp 2013-11-20 16:00:11 UTC (rev 159563)
@@ -41,12 +41,18 @@
{
}
-void DatabaseProcessIDBConnection::establishConnection()
+void DatabaseProcessIDBConnection::establishConnection(const String& databaseName, const SecurityOriginData& openingOrigin, const SecurityOriginData& mainFrameOrigin)
{
// FIXME: This method is successfully called by messaging from the WebProcess.
// Now implement it.
}
+void DatabaseProcessIDBConnection::getOrEstablishIDBDatabaseMetadata()
+{
+ // FIXME: This method is successfully called by messaging from the WebProcess.
+ // Now implement it.
+}
+
CoreIPC::Connection* DatabaseProcessIDBConnection::messageSenderConnection()
{
return m_connection->connection();
Modified: trunk/Source/WebKit2/DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h (159562 => 159563)
--- trunk/Source/WebKit2/DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h 2013-11-20 15:49:15 UTC (rev 159562)
+++ trunk/Source/WebKit2/DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h 2013-11-20 16:00:11 UTC (rev 159563)
@@ -34,6 +34,8 @@
class DatabaseToWebProcessConnection;
+struct SecurityOriginData;
+
class DatabaseProcessIDBConnection : public RefCounted<DatabaseProcessIDBConnection>, public CoreIPC::MessageSender {
public:
static RefPtr<DatabaseProcessIDBConnection> create(uint64_t backendIdentifier)
@@ -54,7 +56,8 @@
virtual uint64_t messageSenderDestinationID() OVERRIDE { return m_backendIdentifier; }
// Message handlers.
- void establishConnection();
+ void establishConnection(const String& databaseName, const SecurityOriginData& openingOrigin, const SecurityOriginData& mainFrameOrigin);
+ void getOrEstablishIDBDatabaseMetadata();
RefPtr<DatabaseToWebProcessConnection> m_connection;
uint64_t m_backendIdentifier;
Modified: trunk/Source/WebKit2/DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in (159562 => 159563)
--- trunk/Source/WebKit2/DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in 2013-11-20 15:49:15 UTC (rev 159562)
+++ trunk/Source/WebKit2/DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in 2013-11-20 16:00:11 UTC (rev 159563)
@@ -23,7 +23,8 @@
#if ENABLE(INDEXED_DATABASE) && ENABLE(DATABASE_PROCESS)
messages -> DatabaseProcessIDBConnection LegacyReceiver {
- EstablishConnection()
+ EstablishConnection(WTF::String databaseName, WebKit::SecurityOriginData openingOrigin, WebKit::SecurityOriginData mainFrameOrigin)
+ GetOrEstablishIDBDatabaseMetadata()
}
#endif // ENABLE(INDEXED_DATABASE) && ENABLE(DATABASE_PROCESS)
Modified: trunk/Source/WebKit2/Shared/SecurityOriginData.cpp (159562 => 159563)
--- trunk/Source/WebKit2/Shared/SecurityOriginData.cpp 2013-11-20 15:49:15 UTC (rev 159562)
+++ trunk/Source/WebKit2/Shared/SecurityOriginData.cpp 2013-11-20 16:00:11 UTC (rev 159563)
@@ -34,7 +34,7 @@
namespace WebKit {
-SecurityOriginData SecurityOriginData::fromSecurityOrigin(SecurityOrigin* securityOrigin)
+SecurityOriginData SecurityOriginData::fromSecurityOrigin(const SecurityOrigin* securityOrigin)
{
SecurityOriginData securityOriginData;
Modified: trunk/Source/WebKit2/Shared/SecurityOriginData.h (159562 => 159563)
--- trunk/Source/WebKit2/Shared/SecurityOriginData.h 2013-11-20 15:49:15 UTC (rev 159562)
+++ trunk/Source/WebKit2/Shared/SecurityOriginData.h 2013-11-20 16:00:11 UTC (rev 159563)
@@ -40,7 +40,7 @@
typedef GenericCallback<WKArrayRef> ArrayCallback;
struct SecurityOriginData {
- static SecurityOriginData fromSecurityOrigin(WebCore::SecurityOrigin*);
+ static SecurityOriginData fromSecurityOrigin(const WebCore::SecurityOrigin*);
PassRefPtr<WebCore::SecurityOrigin> securityOrigin() const;
void encode(CoreIPC::ArgumentEncoder&) const;
Modified: trunk/Source/WebKit2/WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp (159562 => 159563)
--- trunk/Source/WebKit2/WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp 2013-11-20 15:49:15 UTC (rev 159562)
+++ trunk/Source/WebKit2/WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp 2013-11-20 16:00:11 UTC (rev 159563)
@@ -31,9 +31,12 @@
#include "DatabaseProcessIDBConnectionMessages.h"
#include "DatabaseToWebProcessConnectionMessages.h"
+#include "SecurityOriginData.h"
#include "WebProcess.h"
#include "WebToDatabaseProcessConnection.h"
+#include <WebCore/SecurityOrigin.h>
+
namespace WebKit {
static uint64_t generateBackendIdentifier()
@@ -45,9 +48,12 @@
WebIDBServerConnection::WebIDBServerConnection(const String& databaseName, const WebCore::SecurityOrigin& openingOrigin, const WebCore::SecurityOrigin& mainFrameOrigin)
: m_backendIdentifier(generateBackendIdentifier())
+ , m_databaseName(databaseName)
+ , m_openingOrigin(*openingOrigin.isolatedCopy())
+ , m_mainFrameOrigin(*mainFrameOrigin.isolatedCopy())
{
send(Messages::DatabaseToWebProcessConnection::EstablishIDBConnection(m_backendIdentifier));
- send(Messages::DatabaseProcessIDBConnection::EstablishConnection());
+ send(Messages::DatabaseProcessIDBConnection::EstablishConnection(databaseName, SecurityOriginData::fromSecurityOrigin(&openingOrigin), SecurityOriginData::fromSecurityOrigin(&mainFrameOrigin)));
}
WebIDBServerConnection::~WebIDBServerConnection()
@@ -59,12 +65,13 @@
return true;
}
-void WebIDBServerConnection::getOrEstablishIDBDatabaseMetadata(const String& name, GetIDBDatabaseMetadataFunction)
+void WebIDBServerConnection::deleteDatabase(const String& name, BoolCallbackFunction successCallback)
{
}
-void WebIDBServerConnection::deleteDatabase(const String& name, BoolCallbackFunction successCallback)
+void WebIDBServerConnection::getOrEstablishIDBDatabaseMetadata(GetIDBDatabaseMetadataFunction completionCallback)
{
+ send(Messages::DatabaseProcessIDBConnection::GetOrEstablishIDBDatabaseMetadata());
}
void WebIDBServerConnection::close()
Modified: trunk/Source/WebKit2/WebProcess/Databases/IndexedDB/WebIDBServerConnection.h (159562 => 159563)
--- trunk/Source/WebKit2/WebProcess/Databases/IndexedDB/WebIDBServerConnection.h 2013-11-20 15:49:15 UTC (rev 159562)
+++ trunk/Source/WebKit2/WebProcess/Databases/IndexedDB/WebIDBServerConnection.h 2013-11-20 16:00:11 UTC (rev 159563)
@@ -47,10 +47,11 @@
typedef std::function<void (bool success)> BoolCallbackFunction;
+ // Factory-level operations
+ virtual void deleteDatabase(const String& name, BoolCallbackFunction successCallback) OVERRIDE;
+
// Database-level operations
- typedef std::function<void (const WebCore::IDBDatabaseMetadata&, bool success)> GetIDBDatabaseMetadataFunction;
- virtual void getOrEstablishIDBDatabaseMetadata(const String& name, GetIDBDatabaseMetadataFunction) OVERRIDE;
- virtual void deleteDatabase(const String& name, BoolCallbackFunction successCallback) OVERRIDE;
+ virtual void getOrEstablishIDBDatabaseMetadata(GetIDBDatabaseMetadataFunction) OVERRIDE;
virtual void close() OVERRIDE;
// Transaction-level operations
@@ -88,6 +89,10 @@
virtual uint64_t messageSenderDestinationID() OVERRIDE { return m_backendIdentifier; }
uint64_t m_backendIdentifier;
+
+ String m_databaseName;
+ Ref<WebCore::SecurityOrigin> m_openingOrigin;
+ Ref<WebCore::SecurityOrigin> m_mainFrameOrigin;
};
} // namespace WebKit