RESOLVED WONTFIX 99131
IndexedDB: use auxiliary v8 context for deserialization
https://bugs.webkit.org/show_bug.cgi?id=99131
Summary IndexedDB: use auxiliary v8 context for deserialization
David Grogan
Reported 2012-10-11 20:33:08 PDT
IndexedDB: use auxiliary v8 context for deserialization
Attachments
Patch (1.86 KB, patch)
2012-10-11 20:37 PDT, David Grogan
no flags
Patch (2.06 KB, patch)
2012-10-11 20:56 PDT, David Grogan
abarth: review-
David Grogan
Comment 1 2012-10-11 20:37:34 PDT
David Grogan
Comment 2 2012-10-11 20:56:29 PDT
David Grogan
Comment 3 2012-10-11 20:57:15 PDT
haraken@, could you review this?
Adam Barth
Comment 4 2012-10-11 21:37:31 PDT
Comment on attachment 168349 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=168349&action=review > Source/WebCore/bindings/v8/IDBBindingUtilities.cpp:218 > return ScriptValue(prpValue->deserialize()); Won't this generate JavaScript objects with incorrect prototype chains (i.e., pointing to Object.prototyp from the auxiliary context)?
Alec Flett
Comment 5 2012-10-12 10:41:41 PDT
ok so here's an interesting thought. there are two places where this is used: in get/cursor iteration, and in background indexing. background indexing happens "in the background" in that the object is deserialized, tweaked, and reserialized. In that case, it's perfectly viable to use the auxiliary context without worrying about prototype chains because the objects should be thrown away. So perhaps we need to alter deserializeIDBValue to check if a ScriptExecutionContext is passed, and use the aux context if it's not. Then in background indexing, we stop passing the request's ScriptExecutionContext.
Joshua Bell
Comment 6 2012-10-31 16:25:02 PDT
webkit.org/b/99975 obsoletes this
Note You need to log in before you can comment on or make changes to this bug.