Changeset 160659 in webkit


Ignore:
Timestamp:
Dec 16, 2013 1:26:59 PM (10 years ago)
Author:
beidson@apple.com
Message:

DatabaseProcess: Fix a few bugs with opening an IDB connection
https://bugs.webkit.org/show_bug.cgi?id=125798

Reviewed by Alexey Proskuryakov.

Source/WebCore:

  • Modules/indexeddb/IDBDatabaseBackend.cpp:

(WebCore::IDBDatabaseBackend::processPendingCalls): As the comment says, we should only

early return when there *are* pending delete calls. The logic here was backwards,
preventing the backend from ever getting to processPendingOpenCalls().

Source/WebKit2:

Database metadata always needs a non-zero database identifier, unique at runtime.

  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:

(WebKit::generateDatabaseId):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::getOrEstablishMetadata):

Location:
trunk/Source
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r160655 r160659  
     12013-12-16  Brady Eidson  <beidson@apple.com>
     2
     3        DatabaseProcess: Fix a few bugs with opening an IDB connection
     4        https://bugs.webkit.org/show_bug.cgi?id=125798
     5
     6        Reviewed by Alexey Proskuryakov.
     7
     8        * Modules/indexeddb/IDBDatabaseBackend.cpp:
     9        (WebCore::IDBDatabaseBackend::processPendingCalls): As the comment says, we should only
     10          early return when there *are* pending delete calls. The logic here was backwards,
     11          preventing the backend from ever getting to processPendingOpenCalls().
     12
    1132013-12-16  Alex Christensen  <achristensen@webkit.org>
    214
  • trunk/Source/WebCore/Modules/indexeddb/IDBDatabaseBackend.cpp

    r159737 r160659  
    392392    // If there are any database deletions waiting for completion, we're done for now.
    393393    // Further callbacks will be handled in a future call to processPendingCalls().
    394     if (m_deleteCallbacksWaitingCompletion.isEmpty())
     394    if (!m_deleteCallbacksWaitingCompletion.isEmpty())
    395395        return;
    396396
  • trunk/Source/WebKit2/ChangeLog

    r160657 r160659  
     12013-12-16  Brady Eidson  <beidson@apple.com>
     2
     3        DatabaseProcess: Fix a few bugs with opening an IDB connection
     4        https://bugs.webkit.org/show_bug.cgi?id=125798
     5
     6        Reviewed by Alexey Proskuryakov.
     7
     8        Database metadata always needs a non-zero database identifier, unique at runtime.
     9
     10        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
     11        (WebKit::generateDatabaseId):
     12        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getOrEstablishMetadata):
     13
    1142013-12-16  Anders Carlsson  <andersca@apple.com>
    215
  • trunk/Source/WebKit2/DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp

    r160517 r160659  
    4141// Current version of the metadata schema being used in the metadata database.
    4242static const int currentMetadataVersion = 1;
     43
     44static int64_t generateDatabaseId()
     45{
     46    static int64_t databaseID = 0;
     47
     48    ASSERT(!isMainThread());
     49    return ++databaseID;
     50}
    4351
    4452UniqueIDBDatabaseBackingStoreSQLite::UniqueIDBDatabaseBackingStoreSQLite(const UniqueIDBDatabaseIdentifier& identifier, const String& databaseDirectory)
     
    174182        LOG_ERROR("Unable to establish IDB database at path '%s'", metadataDBFilename.utf8().data());
    175183
     184    // The database id is a runtime concept and doesn't need to be stored in the metadata database.
     185    metadata->id = generateDatabaseId();
     186
    176187    return metadata;
    177188}
Note: See TracChangeset for help on using the changeset viewer.