On Wed, Jun 15, 2011 at 5:34 PM, Israel Hilerio <[email protected]> wrote: > On Wednesday, June 15, 2011 3:27 PM, Jonas Sicking wrote: >> On Wed, Jun 15, 2011 at 2:15 PM, Israel Hilerio <[email protected]> >> 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
