On Wed, Oct 26, 2011 at 11:41 AM, Israel Hilerio <isra...@microsoft.com> wrote:
> Based on the feedback from Jonas, Cameron, and Anne, we updated the exception 
> and error model in the IndexedDB spec [1].  Now, we match the DOM Level 4 
> events and error models.
>
> The IDBDatabaseException interface was replaced with DOMException.  The const 
> error codes were replace with error type names.  We are reusing the DOM 4 
> Level exception names, where possible.  Where not possible, we introduced new 
> error names to be used in the exceptions and error events. Also, the 
> errorCode attribute was replaced with a DOMError attribute which contains an 
> error object.
>
> Please review and let us know if we missed anything.

Yay! This looks awesome. I did find some issues which I've checked in
a fix for. These are the things I've changed:

createObjectStore/createIndex should throw a SyntaxError if the
keypath isn't a valid keypath.

createObjectStore/createIndex shouldn't throw if the optionalParameter
object contains parameters other than the known ones. I also did some
other dictionary related cleanup while I was touching this anyway.

If createIndex is called with an Array as keyPath and multientry is
set to true, we should throw a NotSupportedError. We didn't actually
discuss this one (I missed it in my NON_TRANSIENT_ERR lineup), but
TypeError seems wrong. NotSupportedError seemed like the best match I
could find.

transaction should throw InvalidAccessError if called with an empty
array or DOMStringList.

Let me know if anything sounds wrong.

/ Jonas

Reply via email to