[indexeddb] Using IDBDatabaseSync.close or IDBFactorySync.deleteDatabase inside transaction's callback method

2011-07-05 Thread Israel Hilerio
What do you think about NOT allowing IDBFactorySync.deleteDatabase and 
IDBDatabaseSync.close to be called from within the transaction callback method 
of IDBDatabaseSync.transaction or IDBDatabaseSync.setVersion?  This will reduce 
the number of possible deadlocks inside the transaction callback.

We can throw an IDBDatabaseException with NOT_ALLOWED_ERR if a developer tries 
to do this.

Israel



Re: [indexeddb] Using IDBDatabaseSync.close or IDBFactorySync.deleteDatabase inside transaction's callback method

2011-07-05 Thread Jonas Sicking
On Tue, Jul 5, 2011 at 4:41 PM, Israel Hilerio isra...@microsoft.com wrote:
 What do you think about NOT allowing IDBFactorySync.deleteDatabase and 
 IDBDatabaseSync.close to be called from within the transaction callback 
 method of IDBDatabaseSync.transaction or IDBDatabaseSync.setVersion?  This 
 will reduce the number of possible deadlocks inside the transaction callback.

 We can throw an IDBDatabaseException with NOT_ALLOWED_ERR if a developer 
 tries to do this.

Yes, this sounds like a good idea. Obviously this doesn't affect the
async API, right?

/ Jonas



RE: [indexeddb] Using IDBDatabaseSync.close or IDBFactorySync.deleteDatabase inside transaction's callback method

2011-07-05 Thread Israel Hilerio
On Tuesday, July 05, 2011 5:46 PM, Jonas Sicking wrote:
 On Tue, Jul 5, 2011 at 4:41 PM, Israel Hilerio isra...@microsoft.com wrote:
  What do you think about NOT allowing IDBFactorySync.deleteDatabase and
 IDBDatabaseSync.close to be called from within the transaction callback
 method of IDBDatabaseSync.transaction or IDBDatabaseSync.setVersion?  This
 will reduce the number of possible deadlocks inside the transaction callback.
 
  We can throw an IDBDatabaseException with NOT_ALLOWED_ERR if a
 developer tries to do this.
 
 Yes, this sounds like a good idea. Obviously this doesn't affect the async 
 API,
 right?
 
 / Jonas

Correct! This will only impact the sync APIs, not the async APIs.

Israel