Branch: refs/heads/webkitglib/2.52
  Home:   https://github.com/WebKit/WebKit
  Commit: 34bffff51c84eea24735eddb59d025a1d125fb6f
      
https://github.com/WebKit/WebKit/commit/34bffff51c84eea24735eddb59d025a1d125fb6f
  Author: Claudio Saavedra <[email protected]>
  Date:   2026-03-16 (Mon, 16 Mar 2026)

  Changed paths:
    M Source/WebKit/NetworkProcess/storage/IDBStorageManager.cpp
    M Source/WebKit/NetworkProcess/storage/IDBStorageManager.h

  Log Message:
  -----------
  Cherry-pick 309248@main (5861503be1bb). 
https://bugs.webkit.org/show_bug.cgi?id=309780

    IDB: ASSERT(spaceCheckResult == SpaceCheckResult::Pass) failed in 
WebCore::IDBServer::UniqueIDBDatabase::abortTransaction()
    https://bugs.webkit.org/show_bug.cgi?id=309780

    Reviewed by Sihui Liu.

    During destruction of the IDBStorageManager, transactions are aborted.
    Because UniqueIDBDatabase::abortTransaction() is called without a
    SpaceCheckResult, one is requested via a call to
    UniqueIDBDatabaseManager::requestSpace(). But this is happening
    while the OriginStorageManager that installs a lambda to perform
    the space check is already being destructed, so the lambda
    will default to call the completion handler with false.

    This will cause the innermost call to UniqueIDBDatabase::abortTransaction()
    to happen with SpaceCheckResult::Fail, hitting the assertion mentioned.
    For details, refer to the stacktrace in the bug report.

    We can track the IDBStorageManager closure so that when
    requestSpace() is called, we can directly grant or deny the
    request depending on the size requested.

    * Source/WebKit/NetworkProcess/storage/IDBStorageManager.cpp:
    (WebKit::IDBStorageManager::~IDBStorageManager):
    (WebKit::IDBStorageManager::requestSpace):
    * Source/WebKit/NetworkProcess/storage/IDBStorageManager.h:

    Canonical link: https://commits.webkit.org/309248@main

Canonical link: https://commits.webkit.org/305877.206@webkitglib/2.52



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to