In the past I've told people that implementing IndexedDB in Servo was of limited value because
1) It's not likely to benefit from Rust in any performance sense. IndexedDB performance issues are almost always either a) object (de/)serialization taking a while on complex object graphs or b) high event loop latency on the main thread causing the asynchronous results to wait a while before they're delivered. 2) We have a very new, good, and well-maintained implementation in Gecko, so it's unlikely to be something that we would lift from Servo into Gecko in the near term. 3) Gecko's implementation is pretty tied into the implementation of various other things, such as DOM files, the quota manager system, and some non-standard B2G features like FileHandle. That said, if Servo needs IDB for its own sake (and can't ship a JS polyfill or something) don't let me talk you out of doing it. You should start by figuring out what your persistent data model should look like. It's not immediately obvious to me that a KV store is the correct choice, because there is some amount of logic inside IDB beyond just a key value store. You can look at the SQL tables we set up at http://hg.mozilla.org/mozilla-central/annotate/ae37fdb042c0/dom/indexedDB/ActorsParent.cpp#l1058 and decide for yourself. Always happy to answer questions about our implementation. - Kyle On Mon, Dec 14, 2015 at 9:33 PM, Shing Lyu <[email protected]> wrote: > Thank you guys. > > So from what I've learn so far, I should start with > 1. Choose a backend and write a Rust wrapper for it (options: LevelDB or > SQLite4) > 2. Talk to Gecko guys about how to implement quota management framewok > > Am I understanding it correctly? > > Regards, > Shing > > 2015-12-15 12:27 GMT+08:00 Manish Goregaokar <[email protected]>: > >> >> On Tue, Dec 15, 2015 at 9:39 AM, Robert O'Callahan <[email protected]> >> wrote: >> >>> >>> FWIW I think this project falls into the category of "things we know will >>> work in Servo". It might be more valuable to do a project from which we >>> would learn more. >> >> >> We should probably start implementing necessary things too, not only >> focusing on new experiments :) >> >> Thanks, >> >> -Manish Goregaokar >> > > > > -- > Shing Lyu > QA, Mozilla Taipei > _______________________________________________ > dev-servo mailing list > [email protected] > https://lists.mozilla.org/listinfo/dev-servo _______________________________________________ dev-servo mailing list [email protected] https://lists.mozilla.org/listinfo/dev-servo

