mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-07-28 19:59:17 +00:00
LibWeb/IDB: Implement IDBObjectStore::put
This commit is contained in:
parent
ca1e94f9ea
commit
5d48652890
Notes:
github-actions[bot]
2025-04-23 18:36:49 +00:00
Author: https://github.com/stelar7
Commit: 5d48652890
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/4317
Reviewed-by: https://github.com/ADKaster ✅
Reviewed-by: https://github.com/kennethmyhra ✅
3 changed files with 9 additions and 1 deletions
|
@ -324,4 +324,11 @@ WebIDL::ExceptionOr<GC::Ref<IDBRequest>> IDBObjectStore::add(JS::Value value, Op
|
||||||
return add_or_put(*this, value, key, true);
|
return add_or_put(*this, value, key, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// https://w3c.github.io/IndexedDB/#dom-idbobjectstore-put
|
||||||
|
WebIDL::ExceptionOr<GC::Ref<IDBRequest>> IDBObjectStore::put(JS::Value value, Optional<JS::Value> const& key)
|
||||||
|
{
|
||||||
|
// The put(value, key) method steps are to return the result of running add or put with this, value, key and the no-overwrite flag false.
|
||||||
|
return add_or_put(*this, value, key, false);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -46,6 +46,7 @@ public:
|
||||||
|
|
||||||
[[nodiscard]] WebIDL::ExceptionOr<GC::Ref<IDBRequest>> add_or_put(GC::Ref<IDBObjectStore>, JS::Value, Optional<JS::Value> const&, bool);
|
[[nodiscard]] WebIDL::ExceptionOr<GC::Ref<IDBRequest>> add_or_put(GC::Ref<IDBObjectStore>, JS::Value, Optional<JS::Value> const&, bool);
|
||||||
[[nodiscard]] WebIDL::ExceptionOr<GC::Ref<IDBRequest>> add(JS::Value value, Optional<JS::Value> const& key);
|
[[nodiscard]] WebIDL::ExceptionOr<GC::Ref<IDBRequest>> add(JS::Value value, Optional<JS::Value> const& key);
|
||||||
|
[[nodiscard]] WebIDL::ExceptionOr<GC::Ref<IDBRequest>> put(JS::Value value, Optional<JS::Value> const& key);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
explicit IDBObjectStore(JS::Realm&, GC::Ref<ObjectStore>, GC::Ref<IDBTransaction>);
|
explicit IDBObjectStore(JS::Realm&, GC::Ref<ObjectStore>, GC::Ref<IDBTransaction>);
|
||||||
|
|
|
@ -10,7 +10,7 @@ interface IDBObjectStore {
|
||||||
[SameObject] readonly attribute IDBTransaction transaction;
|
[SameObject] readonly attribute IDBTransaction transaction;
|
||||||
readonly attribute boolean autoIncrement;
|
readonly attribute boolean autoIncrement;
|
||||||
|
|
||||||
[FIXME, NewObject] IDBRequest put(any value, optional any key);
|
[NewObject] IDBRequest put(any value, optional any key);
|
||||||
[NewObject] IDBRequest add(any value, optional any key);
|
[NewObject] IDBRequest add(any value, optional any key);
|
||||||
[FIXME, NewObject] IDBRequest delete(any query);
|
[FIXME, NewObject] IDBRequest delete(any query);
|
||||||
[FIXME, NewObject] IDBRequest clear();
|
[FIXME, NewObject] IDBRequest clear();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue