ladybird/Libraries/LibWeb/StorageAPI
Aliaksandr Kalenik 84b9224121 Everywhere: Implement persistence of localStorage using sqlite
This change follows the pattern of our cookies persistence
implementation: the "browser" process is responsible for interacting
with the sqlite database, and WebContent communicates all storage
operations via IPC.

The new database table uses (storage_endpoint, storage_key, bottle_key)
as the primary key. This design follows concepts from the
https://storage.spec.whatwg.org/ and is intended to support reuse of the
persistence layer for other APIs (e.g., CacheStorage, IndexedDB). For
now, `storage_endpoint` is always "localStorage", `storage_key` is the
website's origin, and `bottle_key` is the name of the localStorage key.
2025-06-12 17:04:35 +02:00
..
NavigatorStorage.cpp LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
NavigatorStorage.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
NavigatorStorage.idl Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
StorageBottle.cpp Everywhere: Implement persistence of localStorage using sqlite 2025-06-12 17:04:35 +02:00
StorageBottle.h Everywhere: Implement persistence of localStorage using sqlite 2025-06-12 17:04:35 +02:00
StorageEndpoint.cpp Everywhere: Implement persistence of localStorage using sqlite 2025-06-12 17:04:35 +02:00
StorageEndpoint.h Everywhere: Implement persistence of localStorage using sqlite 2025-06-12 17:04:35 +02:00
StorageKey.cpp LibWeb/Storage: Add a storage key getter that takes a URL::Origin 2025-01-21 19:22:07 +00:00
StorageKey.h Everywhere: Implement persistence of localStorage using sqlite 2025-06-12 17:04:35 +02:00
StorageManager.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
StorageManager.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
StorageManager.idl Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
StorageShed.cpp Everywhere: Implement persistence of localStorage using sqlite 2025-06-12 17:04:35 +02:00
StorageShed.h Everywhere: Implement persistence of localStorage using sqlite 2025-06-12 17:04:35 +02:00
StorageShelf.cpp Everywhere: Implement persistence of localStorage using sqlite 2025-06-12 17:04:35 +02:00
StorageShelf.h Everywhere: Implement persistence of localStorage using sqlite 2025-06-12 17:04:35 +02:00
StorageType.h LibWeb: Correctly initialize Storage objects on the Document 2025-01-02 11:31:15 +01:00