Re: IndexedDB: calling IDBTransaction.objectStore() or IDBObjectStore.index() after transaction is finished?

On Fri, Dec 16, 2011 at 2:41 PM, Israel Hilerio <israelh@microsoft.com> wrote:
> On December 15, 2011 10:20 PM, Jonas Sicking wrote:
>> On Thu, Dec 15, 2011 at 12:54 PM, Joshua Bell <jsbell@chromium.org>
>> wrote:
>> > Is there any particular reason why IDBTransaction.objectStore() and
>> > IDBObjectStore.index() should be usable (i.e. return values vs. raise
>> > exceptions) after the containing transaction has finished?
>> >
>> > Changing the spec so that calling these methods after the containing
>> > transaction has finished raises InvalidStateError (or
>> > TransactionInactiveError) could simplify implementations.
>>
>> That would be ok with me.
>>
>> Please file a bug though.
>>
>> / Jonas
>>
> Do we want to throw two Exceptions or one?
> We currently throw a  NOT_ALLOWED_ERR for IDBTransaction.objectStore() and a TRANSACTION_INACTIVE_ERR for IDBObjectStore.index().
>
> It seems that we could throw a TRANSACTION_INACTIVE_ERR for both.
> What do you think?

I think InvalidStateError is slightly more correct (for both
IDBTransaction.objectStore() and IDBObjectStore.index) since we're not
planning on throwing if those functions are called in between
transaction-request callbacks, right?

I.e. TransactionInactiveError is more appropriate if it's always
thrown whenever a transaction is inactive, which isn't the case here.

/ Jonas

Received on Friday, 16 December 2011 23:31:13 UTC