- From: Jeremy Orlow <jorlow@chromium.org>
- Date: Tue, 24 Aug 2010 18:30:29 +0100
- To: public-webapps WG <public-webapps@w3.org>
- Message-ID: <AANLkTimasrpvPzjLeFjyZ=CL0fyrB-kXrGw3ZJ=JGqf5@mail.gmail.com>
Last we spoke about constants in IndexedDB, (like IDBKeyRange.LEFT_BOUND) I believe we had decided that all the objects with constants would have an interface object hanging off of window so it's possible to simply say "IDBKeyRange.LEFT_BOUND" within JavaScript. What happens when someone tries something like the following JS: |IDBCursor.continue()|? Given that we're using an interface object, I'd assume we throw some sort of exception or something? I tried to figure out the answer in the WebIDL spec (I imagine it's somewhere around here http://dev.w3.org/2006/webapi/WebIDL/#dfn-interface-object) but it's a lot to wade through. Any advice would be great. Also, the spec still has "[NoInterfaceObject]" for a lot of the interfaces. I believe Nikunj did this by accident and was supposed to revert, but I guess he didn't? I should file a bug to get these removed, right? Another question: Right now all the error constants are on IDBDatabaseException which is an exception rather than an interface. Is this allowed? And even if so, should we put them on IDBDatabaseError instead, given that it's the class people will be using more often (with the async interface)? Or maybe we should duplicate the constants in both places? It just feels weird to me that I keep reaching into IDBDatabaseException for these constants. Thanks, Jeremy
Received on Tuesday, 24 August 2010 17:31:21 UTC