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 <s...@mozilla.com> 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 <manishsm...@gmail.com>:
>
>>
>> On Tue, Dec 15, 2015 at 9:39 AM, Robert O'Callahan <rob...@ocallahan.org>
>> 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
> dev-servo@lists.mozilla.org
> https://lists.mozilla.org/listinfo/dev-servo
_______________________________________________
dev-servo mailing list
dev-servo@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-servo

Reply via email to