Re: [indexeddb] Should deleteDatabase return IDBVersionChangeRequest?

On Wed, Jun 15, 2011 at 5:34 PM, Israel Hilerio <israelh@microsoft.com> wrote:
> On Wednesday, June 15, 2011 3:27 PM, Jonas Sicking wrote:
>> On Wed, Jun 15, 2011 at 2:15 PM, Israel Hilerio <israelh@microsoft.com>
>> wrote:
>> > IDBFactory.deleteDatabase can be called without ever invoking the
>> > IDBDatabase.setVersion and requires a VERSION_CHANGE transaction for
>> > it to happen.  Unfortunately, there is no way for the caller of
>> > deleteDatabase to receive a blocked event because IDBRequest doesn't
>> > define an onblocked event handler.  Not having this functionality will
>> > prevent the deleteDatabase caller from understanding that someone has
>> > the DB locked and that the request cannot be honored.
>> >
>> >
>> >
>> > To support this scenario we would have to change the return value of
>> > IDBFactory.deleteDatabase to return an IDBVersionChangeRequest.  This
>> > will allow the caller to register an onblocked event handler and
>> > receive an event when the DB is locked by someone else.
>>
>> Agreed!
>>
>> > In addition, we may want to update the text in "4.10 Database deletion
>> > steps" step #6 from "fire a blocked event at request" to "fire a block
>> > event at version change request".
>>
>> Hmm.. isn't "request" just defined to be the variable used throughout the
>> algorithm to fire events at? It's more like a name of a variable than a type. If
>> you look at the VERSION_CHANGE transaction steps they also simply use
>> "request".
>>
>> / Jonas
>
> Great!
> If everyone else is okay with it, I'll work with Eliot to change the signature of the method and we'll keep section 4.10 as is.
> Thanks,

Sounds great! You probably need to mention in the text somewhere too
that the created request should implement the IDBVersionChangeRequest
interface. Look at how setVersion does it.

/ Jonas

Received on Thursday, 16 June 2011 23:50:08 UTC