mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-04-25 17:25:08 +02:00
LibWeb/IndexedDB: Remove spin_until from waiting for connection closure
This commit is contained in:
committed by
Andreas Kling
parent
e6dc52a52b
commit
52b53e52fb
Notes:
github-actions[bot]
2025-10-08 15:26:38 +00:00
Author: https://github.com/Lubrsi Commit: https://github.com/LadybirdBrowser/ladybird/commit/52b53e52fb9 Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/6182
@@ -11,6 +11,7 @@
|
||||
#include <LibWeb/IndexedDB/IDBDatabase.h>
|
||||
#include <LibWeb/IndexedDB/IDBObjectStore.h>
|
||||
#include <LibWeb/IndexedDB/Internal/Algorithms.h>
|
||||
#include <LibWeb/IndexedDB/Internal/IDBDatabaseObserver.h>
|
||||
|
||||
namespace Web::IndexedDB {
|
||||
|
||||
@@ -42,6 +43,7 @@ void IDBDatabase::initialize(JS::Realm& realm)
|
||||
void IDBDatabase::visit_edges(Visitor& visitor)
|
||||
{
|
||||
Base::visit_edges(visitor);
|
||||
visitor.visit(m_database_observers_being_notified);
|
||||
visitor.visit(m_object_store_set);
|
||||
visitor.visit(m_associated_database);
|
||||
visitor.visit(m_transactions);
|
||||
@@ -241,4 +243,24 @@ WebIDL::ExceptionOr<GC::Ref<IDBTransaction>> IDBDatabase::transaction(Variant<St
|
||||
return transaction;
|
||||
}
|
||||
|
||||
void IDBDatabase::register_database_observer(Badge<IDBDatabaseObserver>, IDBDatabaseObserver& database_observer)
|
||||
{
|
||||
auto result = m_database_observers.set(database_observer);
|
||||
VERIFY(result == AK::HashSetResult::InsertedNewEntry);
|
||||
}
|
||||
|
||||
void IDBDatabase::unregister_database_observer(Badge<IDBDatabaseObserver>, IDBDatabaseObserver& database_observer)
|
||||
{
|
||||
bool was_removed = m_database_observers.remove(database_observer);
|
||||
VERIFY(was_removed);
|
||||
}
|
||||
|
||||
void IDBDatabase::set_state(ConnectionState state)
|
||||
{
|
||||
m_state = state;
|
||||
notify_each_database_observer([](IDBDatabaseObserver const& request_observer) {
|
||||
return request_observer.connection_state_changed_observer();
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user