Changeset 196779 in webkit
- Timestamp:
- Feb 18, 2016 2:42:54 PM (8 years ago)
- Location:
- trunk/Source
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r196773 r196779 1 2016-02-18 Brady Eidson <beidson@apple.com> 2 3 Modern IDB: Implement server->client operations in WK2. 4 https://bugs.webkit.org/show_bug.cgi?id=154411 5 6 Reviewed by Alex Christensen. 7 8 No change in behavior yet; Just laying the groundwork. 9 10 * Modules/indexeddb/client/IDBConnectionToServer.h: 11 * Modules/indexeddb/server/IDBServer.h: 12 * Modules/indexeddb/shared/IDBTransactionInfo.h: 13 (WebCore::IDBTransactionInfo::encode): 14 (WebCore::IDBTransactionInfo::decode): 15 1 16 2016-02-18 Csaba Osztrogonác <ossy@webkit.org> 2 17 -
trunk/Source/WebCore/Modules/indexeddb/client/IDBConnectionToServer.h
r196651 r196779 58 58 59 59 void deleteDatabase(IDBOpenDBRequest&); 60 void didDeleteDatabase(const IDBResultData&);60 WEBCORE_EXPORT void didDeleteDatabase(const IDBResultData&); 61 61 62 62 void openDatabase(IDBOpenDBRequest&); 63 void didOpenDatabase(const IDBResultData&);63 WEBCORE_EXPORT void didOpenDatabase(const IDBResultData&); 64 64 65 65 void createObjectStore(TransactionOperation&, const IDBObjectStoreInfo&); 66 void didCreateObjectStore(const IDBResultData&);66 WEBCORE_EXPORT void didCreateObjectStore(const IDBResultData&); 67 67 68 68 void deleteObjectStore(TransactionOperation&, const String& objectStoreName); 69 void didDeleteObjectStore(const IDBResultData&);69 WEBCORE_EXPORT void didDeleteObjectStore(const IDBResultData&); 70 70 71 71 void clearObjectStore(TransactionOperation&, uint64_t objectStoreIdentifier); 72 void didClearObjectStore(const IDBResultData&);72 WEBCORE_EXPORT void didClearObjectStore(const IDBResultData&); 73 73 74 74 void createIndex(TransactionOperation&, const IDBIndexInfo&); 75 void didCreateIndex(const IDBResultData&);75 WEBCORE_EXPORT void didCreateIndex(const IDBResultData&); 76 76 77 77 void deleteIndex(TransactionOperation&, uint64_t objectStoreIdentifier, const String& indexName); 78 void didDeleteIndex(const IDBResultData&);78 WEBCORE_EXPORT void didDeleteIndex(const IDBResultData&); 79 79 80 80 void putOrAdd(TransactionOperation&, RefPtr<IDBKey>&, RefPtr<SerializedScriptValue>&, const IndexedDB::ObjectStoreOverwriteMode); 81 void didPutOrAdd(const IDBResultData&);81 WEBCORE_EXPORT void didPutOrAdd(const IDBResultData&); 82 82 83 83 void getRecord(TransactionOperation&, const IDBKeyRangeData&); 84 void didGetRecord(const IDBResultData&);84 WEBCORE_EXPORT void didGetRecord(const IDBResultData&); 85 85 86 86 void getCount(TransactionOperation&, const IDBKeyRangeData&); 87 void didGetCount(const IDBResultData&);87 WEBCORE_EXPORT void didGetCount(const IDBResultData&); 88 88 89 89 void deleteRecord(TransactionOperation&, const IDBKeyRangeData&); 90 void didDeleteRecord(const IDBResultData&);90 WEBCORE_EXPORT void didDeleteRecord(const IDBResultData&); 91 91 92 92 void openCursor(TransactionOperation&, const IDBCursorInfo&); 93 void didOpenCursor(const IDBResultData&);93 WEBCORE_EXPORT void didOpenCursor(const IDBResultData&); 94 94 95 95 void iterateCursor(TransactionOperation&, const IDBKeyData&, unsigned long count); 96 void didIterateCursor(const IDBResultData&);96 WEBCORE_EXPORT void didIterateCursor(const IDBResultData&); 97 97 98 98 void commitTransaction(IDBTransaction&); 99 void didCommitTransaction(const IDBResourceIdentifier& transactionIdentifier, const IDBError&);99 WEBCORE_EXPORT void didCommitTransaction(const IDBResourceIdentifier& transactionIdentifier, const IDBError&); 100 100 101 101 void didFinishHandlingVersionChangeTransaction(IDBTransaction&); 102 102 103 103 void abortTransaction(IDBTransaction&); 104 void didAbortTransaction(const IDBResourceIdentifier& transactionIdentifier, const IDBError&);104 WEBCORE_EXPORT void didAbortTransaction(const IDBResourceIdentifier& transactionIdentifier, const IDBError&); 105 105 106 void fireVersionChangeEvent(uint64_t databaseConnectionIdentifier, const IDBResourceIdentifier& requestIdentifier, uint64_t requestedVersion);106 WEBCORE_EXPORT void fireVersionChangeEvent(uint64_t databaseConnectionIdentifier, const IDBResourceIdentifier& requestIdentifier, uint64_t requestedVersion); 107 107 void didFireVersionChangeEvent(uint64_t databaseConnectionIdentifier, const IDBResourceIdentifier& requestIdentifier); 108 108 109 void didStartTransaction(const IDBResourceIdentifier& transactionIdentifier, const IDBError&);110 void notifyOpenDBRequestBlocked(const IDBResourceIdentifier& requestIdentifier, uint64_t oldVersion, uint64_t newVersion);109 WEBCORE_EXPORT void didStartTransaction(const IDBResourceIdentifier& transactionIdentifier, const IDBError&); 110 WEBCORE_EXPORT void notifyOpenDBRequestBlocked(const IDBResourceIdentifier& requestIdentifier, uint64_t oldVersion, uint64_t newVersion); 111 111 112 112 void establishTransaction(IDBTransaction&); -
trunk/Source/WebCore/Modules/indexeddb/server/IDBServer.h
r196771 r196779 54 54 WEBCORE_EXPORT static Ref<IDBServer> create(const String& databaseDirectoryPath); 55 55 56 void registerConnection(IDBConnectionToClient&);57 void unregisterConnection(IDBConnectionToClient&);56 WEBCORE_EXPORT void registerConnection(IDBConnectionToClient&); 57 WEBCORE_EXPORT void unregisterConnection(IDBConnectionToClient&); 58 58 59 59 // Operations requested by the client. -
trunk/Source/WebCore/Modules/indexeddb/shared/IDBTransactionInfo.h
r196715 r196779 86 86 encoder << m_identifier << m_newVersion << m_objectStores; 87 87 encoder.encodeEnum(m_mode); 88 89 encoder << !!m_originalDatabaseInfo; 90 if (m_originalDatabaseInfo) 91 encoder << *m_originalDatabaseInfo; 88 92 } 89 93 … … 103 107 return false; 104 108 109 bool hasObject; 110 if (!decoder.decode(hasObject)) 111 return false; 112 113 if (hasObject) { 114 std::unique_ptr<IDBDatabaseInfo> object = std::make_unique<IDBDatabaseInfo>(); 115 if (!decoder.decode(*object)) 116 return false; 117 info.m_originalDatabaseInfo = WTFMove(object); 118 } 119 105 120 return true; 106 121 } -
trunk/Source/WebKit2/ChangeLog
r196774 r196779 1 2016-02-18 Brady Eidson <beidson@apple.com> 2 3 Modern IDB: Implement server->client operations in WK2. 4 https://bugs.webkit.org/show_bug.cgi?id=154411 5 6 Reviewed by Alex Christensen. 7 8 No change in behavior yet; Just laying the groundwork. 9 10 * DatabaseProcess/IndexedDB/WebIDBConnectionToClient.cpp: 11 (WebKit::WebIDBConnectionToClient::WebIDBConnectionToClient): 12 (WebKit::WebIDBConnectionToClient::~WebIDBConnectionToClient): 13 14 * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp: 15 (WebKit::WebIDBConnectionToServer::didDeleteDatabase): 16 (WebKit::WebIDBConnectionToServer::didOpenDatabase): 17 (WebKit::WebIDBConnectionToServer::didAbortTransaction): 18 (WebKit::WebIDBConnectionToServer::didCommitTransaction): 19 (WebKit::WebIDBConnectionToServer::didCreateObjectStore): 20 (WebKit::WebIDBConnectionToServer::didDeleteObjectStore): 21 (WebKit::WebIDBConnectionToServer::didClearObjectStore): 22 (WebKit::WebIDBConnectionToServer::didCreateIndex): 23 (WebKit::WebIDBConnectionToServer::didDeleteIndex): 24 (WebKit::WebIDBConnectionToServer::didPutOrAdd): 25 (WebKit::WebIDBConnectionToServer::didGetRecord): 26 (WebKit::WebIDBConnectionToServer::didGetCount): 27 (WebKit::WebIDBConnectionToServer::didDeleteRecord): 28 (WebKit::WebIDBConnectionToServer::didOpenCursor): 29 (WebKit::WebIDBConnectionToServer::didIterateCursor): 30 (WebKit::WebIDBConnectionToServer::fireVersionChangeEvent): 31 (WebKit::WebIDBConnectionToServer::didStartTransaction): 32 (WebKit::WebIDBConnectionToServer::notifyOpenDBRequestBlocked): 33 * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.h: 34 35 * WebProcess/Databases/WebToDatabaseProcessConnection.cpp: 36 (WebKit::WebToDatabaseProcessConnection::didReceiveMessage): 37 1 38 2016-02-18 Brian Burg <bburg@apple.com> 2 39 -
trunk/Source/WebKit2/DatabaseProcess/IndexedDB/WebIDBConnectionToClient.cpp
r196771 r196779 49 49 WebIDBConnectionToClient::WebIDBConnectionToClient(DatabaseToWebProcessConnection& connection, uint64_t serverConnectionIdentifier) 50 50 : m_connection(connection) 51 , m_identifier(serverConnectionIdentifier) 51 52 { 52 53 relaxAdoptionRequirement(); 53 54 m_connectionToClient = IDBServer::IDBConnectionToClient::create(*this); 55 DatabaseProcess::singleton().idbServer().registerConnection(*m_connectionToClient); 54 56 } 55 57 56 58 WebIDBConnectionToClient::~WebIDBConnectionToClient() 57 59 { 60 DatabaseProcess::singleton().idbServer().unregisterConnection(*m_connectionToClient); 58 61 } 59 62 -
trunk/Source/WebKit2/WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp
r196725 r196779 190 190 } 191 191 192 void WebIDBConnectionToServer::didDeleteDatabase(const IDBResultData&) 193 { 194 } 195 196 void WebIDBConnectionToServer::didOpenDatabase(const IDBResultData&) 197 { 198 } 199 200 void WebIDBConnectionToServer::didAbortTransaction(const IDBResourceIdentifier&, const IDBError&) 201 { 202 } 203 204 void WebIDBConnectionToServer::didCommitTransaction(const IDBResourceIdentifier&, const IDBError&) 205 { 206 } 207 208 void WebIDBConnectionToServer::didCreateObjectStore(const IDBResultData&) 209 { 210 } 211 212 void WebIDBConnectionToServer::didDeleteObjectStore(const IDBResultData&) 213 { 214 } 215 216 void WebIDBConnectionToServer::didClearObjectStore(const IDBResultData&) 217 { 218 } 219 220 void WebIDBConnectionToServer::didCreateIndex(const IDBResultData&) 221 { 222 } 223 224 void WebIDBConnectionToServer::didDeleteIndex(const IDBResultData&) 225 { 226 } 227 228 void WebIDBConnectionToServer::didPutOrAdd(const IDBResultData&) 229 { 230 } 231 232 void WebIDBConnectionToServer::didGetRecord(const IDBResultData&) 233 { 234 } 235 236 void WebIDBConnectionToServer::didGetCount(const IDBResultData&) 237 { 238 } 239 240 void WebIDBConnectionToServer::didDeleteRecord(const IDBResultData&) 241 { 242 } 243 244 void WebIDBConnectionToServer::didOpenCursor(const IDBResultData&) 245 { 246 } 247 248 void WebIDBConnectionToServer::didIterateCursor(const IDBResultData&) 249 { 250 } 251 252 void WebIDBConnectionToServer::fireVersionChangeEvent(uint64_t, const WebCore::IDBResourceIdentifier&, uint64_t) 253 { 254 } 255 256 void WebIDBConnectionToServer::didStartTransaction(const WebCore::IDBResourceIdentifier&, const WebCore::IDBError&) 257 { 258 } 259 260 void WebIDBConnectionToServer::notifyOpenDBRequestBlocked(const WebCore::IDBResourceIdentifier&, uint64_t, uint64_t) 261 { 192 void WebIDBConnectionToServer::didDeleteDatabase(const IDBResultData& result) 193 { 194 m_connectionToServer->didDeleteDatabase(result); 195 } 196 197 void WebIDBConnectionToServer::didOpenDatabase(const IDBResultData& result) 198 { 199 m_connectionToServer->didOpenDatabase(result); 200 } 201 202 void WebIDBConnectionToServer::didAbortTransaction(const IDBResourceIdentifier& transactionIdentifier, const IDBError& error) 203 { 204 m_connectionToServer->didAbortTransaction(transactionIdentifier, error); 205 } 206 207 void WebIDBConnectionToServer::didCommitTransaction(const IDBResourceIdentifier& transactionIdentifier, const IDBError& error) 208 { 209 m_connectionToServer->didCommitTransaction(transactionIdentifier, error); 210 } 211 212 void WebIDBConnectionToServer::didCreateObjectStore(const IDBResultData& result) 213 { 214 m_connectionToServer->didCreateObjectStore(result); 215 } 216 217 void WebIDBConnectionToServer::didDeleteObjectStore(const IDBResultData& result) 218 { 219 m_connectionToServer->didDeleteObjectStore(result); 220 } 221 222 void WebIDBConnectionToServer::didClearObjectStore(const IDBResultData& result) 223 { 224 m_connectionToServer->didClearObjectStore(result); 225 } 226 227 void WebIDBConnectionToServer::didCreateIndex(const IDBResultData& result) 228 { 229 m_connectionToServer->didCreateIndex(result); 230 } 231 232 void WebIDBConnectionToServer::didDeleteIndex(const IDBResultData& result) 233 { 234 m_connectionToServer->didDeleteIndex(result); 235 } 236 237 void WebIDBConnectionToServer::didPutOrAdd(const IDBResultData& result) 238 { 239 m_connectionToServer->didPutOrAdd(result); 240 } 241 242 void WebIDBConnectionToServer::didGetRecord(const IDBResultData& result) 243 { 244 m_connectionToServer->didGetRecord(result); 245 } 246 247 void WebIDBConnectionToServer::didGetCount(const IDBResultData& result) 248 { 249 m_connectionToServer->didGetCount(result); 250 } 251 252 void WebIDBConnectionToServer::didDeleteRecord(const IDBResultData& result) 253 { 254 m_connectionToServer->didDeleteRecord(result); 255 } 256 257 void WebIDBConnectionToServer::didOpenCursor(const IDBResultData& result) 258 { 259 m_connectionToServer->didOpenCursor(result); 260 } 261 262 void WebIDBConnectionToServer::didIterateCursor(const IDBResultData& result) 263 { 264 m_connectionToServer->didIterateCursor(result); 265 } 266 267 void WebIDBConnectionToServer::fireVersionChangeEvent(uint64_t uniqueDatabaseConnectionIdentifier, const IDBResourceIdentifier& requestIdentifier, uint64_t requestedVersion) 268 { 269 m_connectionToServer->fireVersionChangeEvent(uniqueDatabaseConnectionIdentifier, requestIdentifier, requestedVersion); 270 } 271 272 void WebIDBConnectionToServer::didStartTransaction(const IDBResourceIdentifier& transactionIdentifier, const WebCore::IDBError& error) 273 { 274 m_connectionToServer->didStartTransaction(transactionIdentifier, error); 275 } 276 277 void WebIDBConnectionToServer::notifyOpenDBRequestBlocked(const IDBResourceIdentifier& requestIdentifier, uint64_t oldVersion, uint64_t newVersion) 278 { 279 m_connectionToServer->notifyOpenDBRequestBlocked(requestIdentifier, oldVersion, newVersion); 262 280 } 263 281 -
trunk/Source/WebKit2/WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.h
r196725 r196779 89 89 void notifyOpenDBRequestBlocked(const WebCore::IDBResourceIdentifier& requestIdentifier, uint64_t oldVersion, uint64_t newVersion); 90 90 91 void didReceiveMessage(IPC::Connection&, IPC::MessageDecoder&); 92 91 93 private: 92 94 WebIDBConnectionToServer(); 93 95 94 96 virtual IPC::Connection* messageSenderConnection() override final; 95 void didReceiveMessage(IPC::Connection&, IPC::MessageDecoder&);96 97 97 98 uint64_t m_identifier; -
trunk/Source/WebKit2/WebProcess/Databases/WebToDatabaseProcessConnection.cpp
r196651 r196779 29 29 30 30 #include "DatabaseToWebProcessConnectionMessages.h" 31 #include "WebIDBConnectionToServerMessages.h" 31 32 #include "WebIDBServerConnection.h" 32 33 #include "WebIDBServerConnectionMessages.h" … … 53 54 { 54 55 #if ENABLE(INDEXED_DATABASE) 56 if (decoder.messageReceiverName() == Messages::WebIDBConnectionToServer::messageReceiverName()) { 57 auto iterator = m_webIDBConnections.find(decoder.destinationID()); 58 if (iterator != m_webIDBConnections.end()) 59 iterator->value->didReceiveMessage(connection, decoder); 60 return; 61 } 62 55 63 if (decoder.messageReceiverName() == Messages::WebIDBServerConnection::messageReceiverName()) { 56 64 HashMap<uint64_t, WebIDBServerConnection*>::iterator connectionIterator = m_webIDBServerConnections.find(decoder.destinationID());
Note: See TracChangeset
for help on using the changeset viewer.