Changeset 196771 in webkit


Ignore:
Timestamp:
Feb 18, 2016 12:23:51 PM (8 years ago)
Author:
beidson@apple.com
Message:

Modern IDB: Implement client->server operations in WK2.
https://bugs.webkit.org/show_bug.cgi?id=154400

Reviewed by Alex Christensen.

No change in behavior yet; Just laying the groundwork.

Source/WebCore:

  • Modules/indexeddb/server/IDBServer.h:
  • Modules/indexeddb/server/UniqueIDBDatabase.h:
  • Modules/indexeddb/shared/IDBIndexInfo.h:
  • Modules/indexeddb/shared/IDBObjectStoreInfo.h:

Source/WebKit2:

  • DatabaseProcess/DatabaseProcess.cpp:

(WebKit::DatabaseProcess::idbServer):

  • DatabaseProcess/DatabaseProcess.h:
  • DatabaseProcess/DatabaseToWebProcessConnection.cpp:

(WebKit::DatabaseToWebProcessConnection::didReceiveMessage):

  • DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
  • DatabaseProcess/IndexedDB/WebIDBConnectionToClient.cpp:

(WebKit::WebIDBConnectionToClient::deleteDatabase):
(WebKit::WebIDBConnectionToClient::openDatabase):
(WebKit::WebIDBConnectionToClient::abortTransaction):
(WebKit::WebIDBConnectionToClient::commitTransaction):
(WebKit::WebIDBConnectionToClient::didFinishHandlingVersionChangeTransaction):
(WebKit::WebIDBConnectionToClient::createObjectStore):
(WebKit::WebIDBConnectionToClient::deleteObjectStore):
(WebKit::WebIDBConnectionToClient::clearObjectStore):
(WebKit::WebIDBConnectionToClient::createIndex):
(WebKit::WebIDBConnectionToClient::deleteIndex):
(WebKit::WebIDBConnectionToClient::putOrAdd):
(WebKit::WebIDBConnectionToClient::getRecord):
(WebKit::WebIDBConnectionToClient::getCount):
(WebKit::WebIDBConnectionToClient::deleteRecord):
(WebKit::WebIDBConnectionToClient::openCursor):
(WebKit::WebIDBConnectionToClient::iterateCursor):
(WebKit::WebIDBConnectionToClient::establishTransaction):
(WebKit::WebIDBConnectionToClient::databaseConnectionClosed):
(WebKit::WebIDBConnectionToClient::abortOpenAndUpgradeNeeded):
(WebKit::WebIDBConnectionToClient::didFireVersionChangeEvent):

  • DatabaseProcess/IndexedDB/WebIDBConnectionToClient.h:
  • DatabaseProcess/IndexedDB/WebIDBConnectionToClient.messages.in:
Location:
trunk/Source
Files:
14 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r196770 r196771  
     12016-02-18  Brady Eidson  <beidson@apple.com>
     2
     3        Modern IDB: Implement client->server operations in WK2.
     4        https://bugs.webkit.org/show_bug.cgi?id=154400
     5
     6        Reviewed by Alex Christensen.
     7
     8        No change in behavior yet; Just laying the groundwork.
     9
     10        * Modules/indexeddb/server/IDBServer.h:
     11        * Modules/indexeddb/server/UniqueIDBDatabase.h:
     12        * Modules/indexeddb/shared/IDBIndexInfo.h:
     13        * Modules/indexeddb/shared/IDBObjectStoreInfo.h:
     14
    1152016-02-18  Chris Dumez  <cdumez@apple.com>
    216
  • trunk/Source/WebCore/Modules/indexeddb/server/IDBServer.h

    r195090 r196771  
    5252public:
    5353    static Ref<IDBServer> create();
    54     static Ref<IDBServer> create(const String& databaseDirectoryPath);
     54    WEBCORE_EXPORT static Ref<IDBServer> create(const String& databaseDirectoryPath);
    5555
    5656    void registerConnection(IDBConnectionToClient&);
     
    5858
    5959    // Operations requested by the client.
    60     void openDatabase(const IDBRequestData&);
    61     void deleteDatabase(const IDBRequestData&);
    62     void abortTransaction(const IDBResourceIdentifier&);
    63     void commitTransaction(const IDBResourceIdentifier&);
    64     void didFinishHandlingVersionChangeTransaction(const IDBResourceIdentifier&);
    65     void createObjectStore(const IDBRequestData&, const IDBObjectStoreInfo&);
    66     void deleteObjectStore(const IDBRequestData&, const String& objectStoreName);
    67     void clearObjectStore(const IDBRequestData&, uint64_t objectStoreIdentifier);
    68     void createIndex(const IDBRequestData&, const IDBIndexInfo&);
    69     void deleteIndex(const IDBRequestData&, uint64_t objectStoreIdentifier, const String& indexName);
    70     void putOrAdd(const IDBRequestData&, const IDBKeyData&, const ThreadSafeDataBuffer& valueData, IndexedDB::ObjectStoreOverwriteMode);
    71     void getRecord(const IDBRequestData&, const IDBKeyRangeData&);
    72     void getCount(const IDBRequestData&, const IDBKeyRangeData&);
    73     void deleteRecord(const IDBRequestData&, const IDBKeyRangeData&);
    74     void openCursor(const IDBRequestData&, const IDBCursorInfo&);
    75     void iterateCursor(const IDBRequestData&, const IDBKeyData&, unsigned long count);
     60    WEBCORE_EXPORT void openDatabase(const IDBRequestData&);
     61    WEBCORE_EXPORT void deleteDatabase(const IDBRequestData&);
     62    WEBCORE_EXPORT void abortTransaction(const IDBResourceIdentifier&);
     63    WEBCORE_EXPORT void commitTransaction(const IDBResourceIdentifier&);
     64    WEBCORE_EXPORT void didFinishHandlingVersionChangeTransaction(const IDBResourceIdentifier&);
     65    WEBCORE_EXPORT void createObjectStore(const IDBRequestData&, const IDBObjectStoreInfo&);
     66    WEBCORE_EXPORT void deleteObjectStore(const IDBRequestData&, const String& objectStoreName);
     67    WEBCORE_EXPORT void clearObjectStore(const IDBRequestData&, uint64_t objectStoreIdentifier);
     68    WEBCORE_EXPORT void createIndex(const IDBRequestData&, const IDBIndexInfo&);
     69    WEBCORE_EXPORT void deleteIndex(const IDBRequestData&, uint64_t objectStoreIdentifier, const String& indexName);
     70    WEBCORE_EXPORT void putOrAdd(const IDBRequestData&, const IDBKeyData&, const ThreadSafeDataBuffer& valueData, IndexedDB::ObjectStoreOverwriteMode);
     71    WEBCORE_EXPORT void getRecord(const IDBRequestData&, const IDBKeyRangeData&);
     72    WEBCORE_EXPORT void getCount(const IDBRequestData&, const IDBKeyRangeData&);
     73    WEBCORE_EXPORT void deleteRecord(const IDBRequestData&, const IDBKeyRangeData&);
     74    WEBCORE_EXPORT void openCursor(const IDBRequestData&, const IDBCursorInfo&);
     75    WEBCORE_EXPORT void iterateCursor(const IDBRequestData&, const IDBKeyData&, unsigned long count);
    7676
    77     void establishTransaction(uint64_t databaseConnectionIdentifier, const IDBTransactionInfo&);
    78     void databaseConnectionClosed(uint64_t databaseConnectionIdentifier);
    79     void abortOpenAndUpgradeNeeded(uint64_t databaseConnectionIdentifier, const IDBResourceIdentifier& transactionIdentifier);
    80     void didFireVersionChangeEvent(uint64_t databaseConnectionIdentifier, const IDBResourceIdentifier& requestIdentifier);
     77    WEBCORE_EXPORT void establishTransaction(uint64_t databaseConnectionIdentifier, const IDBTransactionInfo&);
     78    WEBCORE_EXPORT void databaseConnectionClosed(uint64_t databaseConnectionIdentifier);
     79    WEBCORE_EXPORT void abortOpenAndUpgradeNeeded(uint64_t databaseConnectionIdentifier, const IDBResourceIdentifier& transactionIdentifier);
     80    WEBCORE_EXPORT void didFireVersionChangeEvent(uint64_t databaseConnectionIdentifier, const IDBResourceIdentifier& requestIdentifier);
    8181
    8282    void postDatabaseTask(std::unique_ptr<CrossThreadTask>&&);
  • trunk/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.h

    r195527 r196771  
    7373    }
    7474
    75     ~UniqueIDBDatabase();
     75    WEBCORE_EXPORT ~UniqueIDBDatabase();
    7676
    7777    void openDatabaseConnection(IDBConnectionToClient&, const IDBRequestData&);
  • trunk/Source/WebCore/Modules/indexeddb/shared/IDBIndexInfo.h

    r196715 r196771  
    3636class IDBIndexInfo {
    3737public:
    38     IDBIndexInfo();
     38    WEBCORE_EXPORT IDBIndexInfo();
    3939    IDBIndexInfo(uint64_t identifier, uint64_t objectStoreIdentifier, const String& name, const IDBKeyPath&, bool unique, bool multiEntry);
    4040
  • trunk/Source/WebCore/Modules/indexeddb/shared/IDBObjectStoreInfo.h

    r196715 r196771  
    4040class IDBObjectStoreInfo {
    4141public:
    42     IDBObjectStoreInfo();
     42    WEBCORE_EXPORT IDBObjectStoreInfo();
    4343    IDBObjectStoreInfo(uint64_t identifier, const String& name, const IDBKeyPath&, bool autoIncrement);
    4444
  • trunk/Source/WebKit2/ChangeLog

    r196767 r196771  
     12016-02-18  Brady Eidson  <beidson@apple.com>
     2
     3        Modern IDB: Implement client->server operations in WK2.
     4        https://bugs.webkit.org/show_bug.cgi?id=154400
     5
     6        Reviewed by Alex Christensen.
     7
     8        No change in behavior yet; Just laying the groundwork.
     9
     10        * DatabaseProcess/DatabaseProcess.cpp:
     11        (WebKit::DatabaseProcess::idbServer):
     12        * DatabaseProcess/DatabaseProcess.h:
     13
     14        * DatabaseProcess/DatabaseToWebProcessConnection.cpp:
     15        (WebKit::DatabaseToWebProcessConnection::didReceiveMessage):
     16        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
     17
     18        * DatabaseProcess/IndexedDB/WebIDBConnectionToClient.cpp:
     19        (WebKit::WebIDBConnectionToClient::deleteDatabase):
     20        (WebKit::WebIDBConnectionToClient::openDatabase):
     21        (WebKit::WebIDBConnectionToClient::abortTransaction):
     22        (WebKit::WebIDBConnectionToClient::commitTransaction):
     23        (WebKit::WebIDBConnectionToClient::didFinishHandlingVersionChangeTransaction):
     24        (WebKit::WebIDBConnectionToClient::createObjectStore):
     25        (WebKit::WebIDBConnectionToClient::deleteObjectStore):
     26        (WebKit::WebIDBConnectionToClient::clearObjectStore):
     27        (WebKit::WebIDBConnectionToClient::createIndex):
     28        (WebKit::WebIDBConnectionToClient::deleteIndex):
     29        (WebKit::WebIDBConnectionToClient::putOrAdd):
     30        (WebKit::WebIDBConnectionToClient::getRecord):
     31        (WebKit::WebIDBConnectionToClient::getCount):
     32        (WebKit::WebIDBConnectionToClient::deleteRecord):
     33        (WebKit::WebIDBConnectionToClient::openCursor):
     34        (WebKit::WebIDBConnectionToClient::iterateCursor):
     35        (WebKit::WebIDBConnectionToClient::establishTransaction):
     36        (WebKit::WebIDBConnectionToClient::databaseConnectionClosed):
     37        (WebKit::WebIDBConnectionToClient::abortOpenAndUpgradeNeeded):
     38        (WebKit::WebIDBConnectionToClient::didFireVersionChangeEvent):
     39        * DatabaseProcess/IndexedDB/WebIDBConnectionToClient.h:
     40        * DatabaseProcess/IndexedDB/WebIDBConnectionToClient.messages.in:
     41
    1422016-02-18  ChangSeok Oh  <changseok.oh@collabora.com>
    243
  • trunk/Source/WebKit2/DatabaseProcess/DatabaseProcess.cpp

    r196735 r196771  
    116116    m_idbDatabases.remove(identifier);
    117117}
     118
     119IDBServer::IDBServer& DatabaseProcess::idbServer()
     120{
     121    if (!m_idbServer)
     122        m_idbServer = IDBServer::IDBServer::create(indexedDatabaseDirectory());
     123
     124    return *m_idbServer;
     125}
    118126#endif
    119127
  • trunk/Source/WebKit2/DatabaseProcess/DatabaseProcess.h

    r196735 r196771  
    3030
    3131#include "ChildProcess.h"
     32#include "LegacyUniqueIDBDatabase.h"
    3233#include "LegacyUniqueIDBDatabaseIdentifier.h"
     34#include <WebCore/IDBServer.h>
     35#include <WebCore/UniqueIDBDatabase.h>
    3336#include <wtf/NeverDestroyed.h>
    3437
     
    4245
    4346class DatabaseToWebProcessConnection;
    44 class LegacyUniqueIDBDatabase;
    4547
    4648struct DatabaseProcessCreationParameters;
     
    6163    void ensureIndexedDatabaseRelativePathExists(const String&);
    6264    String absoluteIndexedDatabasePathFromDatabaseRelativePath(const String&);
     65
     66    WebCore::IDBServer::IDBServer& idbServer();
    6367#endif
    6468
     
    111115
    112116    HashMap<LegacyUniqueIDBDatabaseIdentifier, RefPtr<LegacyUniqueIDBDatabase>> m_idbDatabases;
     117
     118    RefPtr<WebCore::IDBServer::IDBServer> m_idbServer;
    113119#endif
    114120
  • trunk/Source/WebKit2/DatabaseProcess/DatabaseToWebProcessConnection.cpp

    r196651 r196771  
    3232#include "Logging.h"
    3333#include "WebIDBConnectionToClient.h"
     34#include "WebIDBConnectionToClientMessages.h"
    3435#include <wtf/RunLoop.h>
    3536
     
    6364
    6465#if ENABLE(INDEXED_DATABASE)
     66    if (decoder.messageReceiverName() == Messages::WebIDBConnectionToClient::messageReceiverName()) {
     67        auto iterator = m_webIDBConnections.find(decoder.destinationID());
     68        if (iterator != m_webIDBConnections.end())
     69            iterator->value->didReceiveMessage(connection, decoder);
     70        return;
     71    }
     72   
    6573    if (decoder.messageReceiverName() == Messages::DatabaseProcessIDBConnection::messageReceiverName()) {
    6674        IDBConnectionMap::iterator backendIterator = m_idbConnections.find(decoder.destinationID());
  • trunk/Source/WebKit2/DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp

    r196735 r196771  
    3333#include "DatabaseToWebProcessConnection.h"
    3434#include "IDBIdentifier.h"
     35#include "LegacyUniqueIDBDatabase.h"
    3536#include "Logging.h"
    36 #include "LegacyUniqueIDBDatabase.h"
    3737#include "WebCoreArgumentCoders.h"
    3838#include "WebIDBServerConnectionMessages.h"
  • trunk/Source/WebKit2/DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h

    r196735 r196771  
    3232
    3333#include "DatabaseProcessIDBConnectionMessages.h"
     34#include "LegacyUniqueIDBDatabase.h"
    3435#include "LegacyUniqueIDBDatabaseIdentifier.h"
    3536#include <WebCore/SecurityOriginData.h>
     
    4445
    4546class DatabaseToWebProcessConnection;
    46 class LegacyUniqueIDBDatabase;
    4747
    4848class DatabaseProcessIDBConnection : public RefCounted<DatabaseProcessIDBConnection>, public IPC::MessageSender {
  • trunk/Source/WebKit2/DatabaseProcess/IndexedDB/WebIDBConnectionToClient.cpp

    r196725 r196771  
    2929#if ENABLE(INDEXED_DATABASE)
    3030
     31#include "DataReference.h"
     32#include "DatabaseProcess.h"
    3133#include "WebCoreArgumentCoders.h"
    3234#include "WebIDBConnectionToServerMessages.h"
    3335#include <WebCore/IDBError.h>
    3436#include <WebCore/IDBResultData.h>
     37#include <WebCore/ThreadSafeDataBuffer.h>
    3538#include <WebCore/UniqueIDBDatabaseConnection.h>
    3639
     
    159162}
    160163
    161 void WebIDBConnectionToClient::deleteDatabase(const IDBRequestData&)
    162 {
    163 }
    164 
    165 void WebIDBConnectionToClient::openDatabase(const IDBRequestData&)
    166 {
    167 }
    168 
    169 void WebIDBConnectionToClient::abortTransaction(const IDBResourceIdentifier&)
    170 {
    171 }
    172 
    173 void WebIDBConnectionToClient::commitTransaction(const IDBResourceIdentifier&)
    174 {
    175 }
    176 
    177 void WebIDBConnectionToClient::didFinishHandlingVersionChangeTransaction(const IDBResourceIdentifier&)
    178 {
    179 }
    180 
    181 void WebIDBConnectionToClient::createObjectStore(const IDBRequestData&, const IDBObjectStoreInfo&)
    182 {
    183 }
    184 
    185 void WebIDBConnectionToClient::deleteObjectStore(const IDBRequestData&, const String&)
    186 {
    187 }
    188 
    189 void WebIDBConnectionToClient::clearObjectStore(const IDBRequestData&, uint64_t)
    190 {
    191 }
    192 
    193 void WebIDBConnectionToClient::createIndex(const IDBRequestData&, const IDBIndexInfo&)
    194 {
    195 }
    196 
    197 void WebIDBConnectionToClient::deleteIndex(const IDBRequestData&, uint64_t, const String&)
    198 {
    199 }
    200 
    201 void WebIDBConnectionToClient::putOrAdd(const IDBRequestData&, const IDBKeyData&, const IPC::DataReference&, bool)
    202 {
    203 }
    204 
    205 void WebIDBConnectionToClient::getRecord(const IDBRequestData&, const IDBKeyRangeData&)
    206 {
    207 }
    208 
    209 void WebIDBConnectionToClient::getCount(const IDBRequestData&, const IDBKeyRangeData&)
    210 {
    211 }
    212 
    213 void WebIDBConnectionToClient::deleteRecord(const IDBRequestData&, const IDBKeyRangeData&)
    214 {
    215 }
    216 
    217 void WebIDBConnectionToClient::openCursor(const IDBRequestData&, const IDBCursorInfo&)
    218 {
    219 }
    220 
    221 void WebIDBConnectionToClient::iterateCursor(const IDBRequestData&, const IDBKeyData&, unsigned long)
    222 {
    223 }
    224 
    225 void WebIDBConnectionToClient::establishTransaction(uint64_t, const IDBTransactionInfo&)
    226 {
    227 }
    228 
    229 void WebIDBConnectionToClient::databaseConnectionClosed(uint64_t)
    230 {
    231 }
    232 
    233 void WebIDBConnectionToClient::abortOpenAndUpgradeNeeded(uint64_t, const IDBResourceIdentifier&)
    234 {
    235 }
    236 
    237 void WebIDBConnectionToClient::didFireVersionChangeEvent(uint64_t, const IDBResourceIdentifier&)
    238 {
     164void WebIDBConnectionToClient::deleteDatabase(const IDBRequestData& request)
     165{
     166    DatabaseProcess::singleton().idbServer().deleteDatabase(request);
     167}
     168
     169void WebIDBConnectionToClient::openDatabase(const IDBRequestData& request)
     170{
     171    DatabaseProcess::singleton().idbServer().openDatabase(request);
     172}
     173
     174void WebIDBConnectionToClient::abortTransaction(const IDBResourceIdentifier& transactionIdentifier)
     175{
     176    DatabaseProcess::singleton().idbServer().abortTransaction(transactionIdentifier);
     177}
     178
     179void WebIDBConnectionToClient::commitTransaction(const IDBResourceIdentifier& transactionIdentifier)
     180{
     181    DatabaseProcess::singleton().idbServer().commitTransaction(transactionIdentifier);
     182}
     183
     184void WebIDBConnectionToClient::didFinishHandlingVersionChangeTransaction(const IDBResourceIdentifier& transactionIdentifier)
     185{
     186    DatabaseProcess::singleton().idbServer().didFinishHandlingVersionChangeTransaction(transactionIdentifier);
     187}
     188
     189void WebIDBConnectionToClient::createObjectStore(const IDBRequestData& request, const IDBObjectStoreInfo& info)
     190{
     191    DatabaseProcess::singleton().idbServer().createObjectStore(request, info);
     192}
     193
     194void WebIDBConnectionToClient::deleteObjectStore(const IDBRequestData& request, const String& name)
     195{
     196    DatabaseProcess::singleton().idbServer().deleteObjectStore(request, name);
     197}
     198
     199void WebIDBConnectionToClient::clearObjectStore(const IDBRequestData& request, uint64_t objectStoreIdentifier)
     200{
     201    DatabaseProcess::singleton().idbServer().clearObjectStore(request, objectStoreIdentifier);
     202}
     203
     204void WebIDBConnectionToClient::createIndex(const IDBRequestData& request, const IDBIndexInfo& info)
     205{
     206    DatabaseProcess::singleton().idbServer().createIndex(request, info);
     207}
     208
     209void WebIDBConnectionToClient::deleteIndex(const IDBRequestData& request, uint64_t objectStoreIdentifier, const String& name)
     210{
     211    DatabaseProcess::singleton().idbServer().deleteIndex(request, objectStoreIdentifier, name);
     212}
     213
     214void WebIDBConnectionToClient::putOrAdd(const IDBRequestData& request, const IDBKeyData& key, const IPC::DataReference& data, unsigned overwriteMode)
     215{
     216    if (overwriteMode != static_cast<unsigned>(IndexedDB::ObjectStoreOverwriteMode::NoOverwrite)
     217        && overwriteMode != static_cast<unsigned>(IndexedDB::ObjectStoreOverwriteMode::Overwrite)
     218        && overwriteMode != static_cast<unsigned>(IndexedDB::ObjectStoreOverwriteMode::OverwriteForCursor)) {
     219        // FIXME: This message from the WebProcess is corrupt.
     220        // The DatabaseProcess should return early at this point, but can we also kill the bad WebProcess?
     221        return;
     222    }
     223
     224    IndexedDB::ObjectStoreOverwriteMode mode = static_cast<IndexedDB::ObjectStoreOverwriteMode>(overwriteMode);
     225    auto buffer = ThreadSafeDataBuffer::copyVector(data.vector());
     226
     227    DatabaseProcess::singleton().idbServer().putOrAdd(request, key, buffer, mode);
     228}
     229
     230void WebIDBConnectionToClient::getRecord(const IDBRequestData& request, const IDBKeyRangeData& range)
     231{
     232    DatabaseProcess::singleton().idbServer().getRecord(request, range);
     233}
     234
     235void WebIDBConnectionToClient::getCount(const IDBRequestData& request, const IDBKeyRangeData& range)
     236{
     237    DatabaseProcess::singleton().idbServer().getCount(request, range);
     238}
     239
     240void WebIDBConnectionToClient::deleteRecord(const IDBRequestData& request, const IDBKeyRangeData& range)
     241{
     242    DatabaseProcess::singleton().idbServer().deleteRecord(request, range);
     243}
     244
     245void WebIDBConnectionToClient::openCursor(const IDBRequestData& request, const IDBCursorInfo& info)
     246{
     247    DatabaseProcess::singleton().idbServer().openCursor(request, info);
     248}
     249
     250void WebIDBConnectionToClient::iterateCursor(const IDBRequestData& request, const IDBKeyData& key, unsigned long count)
     251{
     252    DatabaseProcess::singleton().idbServer().iterateCursor(request, key, count);
     253}
     254
     255void WebIDBConnectionToClient::establishTransaction(uint64_t databaseConnectionIdentifier, const IDBTransactionInfo& info)
     256{
     257    DatabaseProcess::singleton().idbServer().establishTransaction(databaseConnectionIdentifier, info);
     258}
     259
     260void WebIDBConnectionToClient::databaseConnectionClosed(uint64_t databaseConnectionIdentifier)
     261{
     262    DatabaseProcess::singleton().idbServer().databaseConnectionClosed(databaseConnectionIdentifier);
     263}
     264
     265void WebIDBConnectionToClient::abortOpenAndUpgradeNeeded(uint64_t databaseConnectionIdentifier, const IDBResourceIdentifier& transactionIdentifier)
     266{
     267    DatabaseProcess::singleton().idbServer().abortOpenAndUpgradeNeeded(databaseConnectionIdentifier, transactionIdentifier);
     268}
     269
     270void WebIDBConnectionToClient::didFireVersionChangeEvent(uint64_t databaseConnectionIdentifier, const IDBResourceIdentifier& transactionIdentifier)
     271{
     272    DatabaseProcess::singleton().idbServer().didFireVersionChangeEvent(databaseConnectionIdentifier, transactionIdentifier);
    239273}
    240274
  • trunk/Source/WebKit2/DatabaseProcess/IndexedDB/WebIDBConnectionToClient.h

    r196705 r196771  
    8989    void createIndex(const WebCore::IDBRequestData&, const WebCore::IDBIndexInfo&);
    9090    void deleteIndex(const WebCore::IDBRequestData&, uint64_t objectStoreIdentifier, const String& indexName);
    91     void putOrAdd(const WebCore::IDBRequestData&, const WebCore::IDBKeyData&, const IPC::DataReference& value, bool overwriteEnabled);
     91    void putOrAdd(const WebCore::IDBRequestData&, const WebCore::IDBKeyData&, const IPC::DataReference& value, unsigned overwriteMode);
    9292    void getRecord(const WebCore::IDBRequestData&, const WebCore::IDBKeyRangeData&);
    9393    void getCount(const WebCore::IDBRequestData&, const WebCore::IDBKeyRangeData&);
     
    103103    void disconnectedFromWebProcess();
    104104
     105    void didReceiveMessage(IPC::Connection&, IPC::MessageDecoder&);
     106
    105107private:
    106108    WebIDBConnectionToClient(DatabaseToWebProcessConnection&, uint64_t serverConnectionIdentifier);
    107109
    108110    virtual IPC::Connection* messageSenderConnection() override final;
    109     void didReceiveMessage(IPC::Connection&, IPC::MessageDecoder&);
    110111
    111112    Ref<DatabaseToWebProcessConnection> m_connection;
  • trunk/Source/WebKit2/DatabaseProcess/IndexedDB/WebIDBConnectionToClient.messages.in

    r196705 r196771  
    3434    CreateIndex(WebCore::IDBRequestData requestData, WebCore::IDBIndexInfo info);
    3535    DeleteIndex(WebCore::IDBRequestData requestData, uint64_t objectStoreIdentifier, String indexName);
    36     PutOrAdd(WebCore::IDBRequestData requestData, WebCore::IDBKeyData key, IPC::DataReference value, bool overwriteEnabled);
     36    PutOrAdd(WebCore::IDBRequestData requestData, WebCore::IDBKeyData key, IPC::DataReference value, unsigned overwriteMode);
    3737    GetRecord(WebCore::IDBRequestData requestData, struct WebCore::IDBKeyRangeData range);
    3838    GetCount(WebCore::IDBRequestData requestData, struct WebCore::IDBKeyRangeData range);
Note: See TracChangeset for help on using the changeset viewer.