[Webkit-unassigned] [Bug 83526] New: [V8] IndexedDB: Cursor value modifications should be preserved until cursor iterates
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Mon Apr 9 16:48:58 PDT 2012
https://bugs.webkit.org/show_bug.cgi?id=83526
Summary: [V8] IndexedDB: Cursor value modifications should be
preserved until cursor iterates
Product: WebKit
Version: 528+ (Nightly build)
Platform: Unspecified
OS/Version: Unspecified
Status: NEW
Severity: Normal
Priority: P2
Component: WebCore Misc.
AssignedTo: webkit-unassigned at lists.webkit.org
ReportedBy: jsbell at chromium.org
The IndexedDB spec http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html sayeth, re: IDBCursorWithValue
"Returns the cursor's current value. Note that if this property returns an object, it returns the same object instance every time it is inspected, until the cursor's value is changed. This means that if the object is modified, those modifications will be seen by anyone inspecting the value of the cursor. However modifying such an object does not modify the contents of the database."
The WebKit implementation does not currently support the "same object instance every time" semantics, meaning the following test would fail:
// assume cursor.value = {a: 1, b: 2}
cursor.value.a = 3;
delete cursor.value.b;
cursor.value.foo = "bar";
assert(cursor.value.a === 3);
assert(cursor.value.b === undefined);
assert(cursor.value.foo === "bar");
It may be possible to do this via [CachedAttribute] or, since IDBAny already has a custom V8 binding, with custom caching code. Or possible via an IDL attribute on IDBCursorWithValue that ensure the same IDBAny is returned each time?
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list