Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 4d06a3cab666d588be8081b3a898a55cbd673540
      
https://github.com/WebKit/WebKit/commit/4d06a3cab666d588be8081b3a898a55cbd673540
  Author: Fujii Hironori <hironori.fu...@sony.com>
  Date:   2024-06-09 (Sun, 09 Jun 2024)

  Changed paths:
    M Source/WebCore/Modules/cache/DOMCacheStorage.cpp

  Log Message:
  -----------
  REGRESSION(279805@main): [Win] ASSERTION FAILED: 
m_activeConnections.contains(connection) in 
CacheStorageManager::unlockStorage(IPC::Connection::UniqueID)
https://bugs.webkit.org/show_bug.cgi?id=275286

Reviewed by Youenn Fablet.

After https://commits.webkit.org/279805@main , Windows Debug layout
tests were crashing due to an assertion failure in
CacheStorageManager::unlockStorage. The assertion failed because
CacheStorageManager::unlockStorage was called without calling
CacheStorageManager::lockStorage. CacheStorageManager::lockStorage
wasn't called because m_connection was empty in
WebCacheStorageConnection::lockStorage.

In DOMCacheStorage::retrieveCaches, there was the following line:

> scriptExecutionContext()->enqueueTaskWhenSettled(m_connection->retrieveCaches(...),
>  ..., [..., connectionStorageLock = makeUnique<ConnectionStorageLock>(...)] 
> (...) mutable {

makeUnique<ConnectionStorageLock>(...) was called before
m_connection->retrieveCaches(...) was called on Windows port. This was
the reason why m_connection was empty.

m_connection->retrieveCaches(...) has to be called before 
makeUnique<ConnectionStorageLock>(...).

* Source/WebCore/Modules/cache/DOMCacheStorage.cpp:

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to