|  | <!DOCTYPE html> | 
|  | <meta charset=utf-8> | 
|  | <title>Attempting to use deleted IDBObjectStore</title> | 
|  | <link rel=help href="http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#object-store"> | 
|  | <link rel=assert title="InvalidStateError Occurs if a request is made on a source object that has been deleted or removed."> | 
|  | <link rel=author href="mailto:odinho@opera.com" title="Odin Hørthe Omdal"> | 
|  | <script src=/resources/testharness.js></script> | 
|  | <script src=/resources/testharnessreport.js></script> | 
|  | <script src=support.js></script> | 
|  |  | 
|  | <script> | 
|  | var db, | 
|  | add_success = false, | 
|  | t = async_test(document.title, {timeout: 10000}) | 
|  |  | 
|  | var open_rq = createdb(t); | 
|  | open_rq.onupgradeneeded = function(e) { | 
|  | db = e.target.result; | 
|  |  | 
|  | var objStore = db.createObjectStore("store", { autoIncrement: true }); | 
|  | assert_equals(db.objectStoreNames[0], "store", "objectStoreNames"); | 
|  |  | 
|  | var rq_add = objStore.add(1); | 
|  | rq_add.onsuccess = function() { add_success = true; }; | 
|  | rq_add.onerror = fail(t, 'rq_add.error'); | 
|  |  | 
|  | objStore.createIndex("idx", "a"); | 
|  | db.deleteObjectStore("store"); | 
|  | assert_equals(db.objectStoreNames.length, 0, "objectStoreNames.length after delete"); | 
|  |  | 
|  | assert_throws(null, function() { objStore.add(2); }); | 
|  | assert_throws(null, function() { objStore.put(3); }); | 
|  | assert_throws(null, function() { objStore.get(1); }); | 
|  | assert_throws(null, function() { objStore.clear(); }); | 
|  | assert_throws(null, function() { objStore.count(); }); | 
|  | assert_throws(null, function() { objStore.delete(1); }); | 
|  | assert_throws(null, function() { objStore.openCursor(); }); | 
|  | assert_throws(null, function() { objStore.index("idx"); }); | 
|  | assert_throws(null, function() { objStore.deleteIndex("idx"); }); | 
|  | assert_throws(null, function() { objStore.createIndex("idx2", "a"); }); | 
|  | } | 
|  |  | 
|  | open_rq.onsuccess = function() { | 
|  | assert_true(add_success, "First add was successful"); | 
|  | t.done(); | 
|  | } | 
|  | </script> | 
|  |  | 
|  | <div id=log></div> |