[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