Diff
Modified: trunk/LayoutTests/ChangeLog (139792 => 139793)
--- trunk/LayoutTests/ChangeLog 2013-01-15 22:21:43 UTC (rev 139792)
+++ trunk/LayoutTests/ChangeLog 2013-01-15 22:27:58 UTC (rev 139793)
@@ -1,3 +1,34 @@
+2013-01-15 Joshua Bell <jsb...@chromium.org>
+
+ IndexedDB: Fix tests which depend upon V8 event listener behavior
+ https://bugs.webkit.org/show_bug.cgi?id=106731
+
+ Ensure consistent use of callback(evt) { preamble(evt); ... } pattern, which addresses
+ running in JSC and in V8 under Workers. Also add worker test wrappers.
+
+ Reviewed by Tony Chang.
+
+ * storage/indexeddb/cursor-advance-expected.txt:
+ * storage/indexeddb/cursor-advance-workers-expected.txt: Added.
+ * storage/indexeddb/cursor-advance-workers.html: Added.
+ * storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-expected.txt:
+ * storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-workers-expected.txt: Added.
+ * storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-workers.html: Added.
+ * storage/indexeddb/resources/cursor-advance.js:
+ (prepareDatabase):
+ (testPrefetchInRange.prefetch):
+ (testPrefetchInRange):
+ (testPrefetchOutOfRange.prefetch):
+ (testPrefetchOutOfRange):
+ (testBadAdvance.advanceBadly):
+ (testBadAdvance):
+ (testEdges.request.onsuccess):
+ (testEdges):
+ (testDelete.deleteSecond):
+ (testDelete):
+ * storage/indexeddb/resources/deletedatabase-delayed-by-open-and-versionchange.js:
+ (onOpenSuccess):
+
2013-01-15 Elliott Sprehn <espr...@gmail.com>
HTML parser should queue MutationRecords for its operations
Modified: trunk/LayoutTests/storage/indexeddb/cursor-advance-expected.txt (139792 => 139793)
--- trunk/LayoutTests/storage/indexeddb/cursor-advance-expected.txt 2013-01-15 22:21:43 UTC (rev 139792)
+++ trunk/LayoutTests/storage/indexeddb/cursor-advance-expected.txt 2013-01-15 22:27:58 UTC (rev 139793)
@@ -8,6 +8,8 @@
dbname = "cursor-advance.html"
indexedDB.deleteDatabase(dbname)
indexedDB.open(dbname)
+
+prepareDatabase():
objectStore = db.createObjectStore(objectStoreName);
Now create the indexes.
objectStore.createIndex(indexData[i].name, indexData[i].keyPath, indexData[i].options);
@@ -84,52 +86,96 @@
trans = db.transaction(objectStoreName)
objectStore = trans.objectStore(objectStoreName)
request = objectStore.openCursor()
+
+prefetch():
PASS expected is "{\"key\":\"237-23-7732\",\"value\":{\"name\":\"Bob\",\"height\":60,\"weight\":120},\"primaryKey\":\"237-23-7732\"}"
cursor.continue()
+
+prefetch():
PASS expected is "{\"key\":\"237-23-7733\",\"value\":{\"name\":\"Ann\",\"height\":52,\"weight\":110},\"primaryKey\":\"237-23-7733\"}"
cursor.continue()
+
+prefetch():
PASS expected is "{\"key\":\"237-23-7734\",\"value\":{\"name\":\"Ron\",\"height\":73,\"weight\":180},\"primaryKey\":\"237-23-7734\"}"
cursor.continue()
+
+prefetch():
PASS expected is "{\"key\":\"237-23-7735\",\"value\":{\"name\":\"Sue\",\"height\":58,\"weight\":130},\"primaryKey\":\"237-23-7735\"}"
cursor.advance(2)
+
+prefetch():
PASS expected is "{\"key\":\"237-23-7737\",\"value\":{\"name\":\"Pat\",\"height\":65,\"weight\":100},\"primaryKey\":\"237-23-7737\"}"
cursor.continue()
+
+prefetch():
PASS expected is "{\"key\":\"237-23-7738\",\"value\":{\"name\":\"Leo\",\"height\":65,\"weight\":180},\"primaryKey\":\"237-23-7738\"}"
cursor.continue()
+
+prefetch():
PASS expected is "{\"key\":\"237-23-7739\",\"value\":{\"name\":\"Jef\",\"height\":65,\"weight\":120},\"primaryKey\":\"237-23-7739\"}"
cursor.continue()
+
+prefetch():
PASS expected is "{\"key\":\"237-23-7740\",\"value\":{\"name\":\"Sam\",\"height\":71,\"weight\":110},\"primaryKey\":\"237-23-7740\"}"
cursor.continue()
+
+prefetch():
PASS expected is "{\"key\":\"237-23-7741\",\"value\":{\"name\":\"Bug\",\"height\":63,\"weight\":100},\"primaryKey\":\"237-23-7741\"}"
cursor.continue()
+
+prefetch():
PASS expected is "{\"key\":\"237-23-7742\",\"value\":{\"name\":\"Tub\",\"height\":69,\"weight\":180},\"primaryKey\":\"237-23-7742\"}"
cursor.continue()
+
+prefetch():
PASS expected is "{\"key\":\"237-23-7743\",\"value\":{\"name\":\"Rug\",\"height\":77,\"weight\":120},\"primaryKey\":\"237-23-7743\"}"
cursor.continue()
+
+prefetch():
PASS expected is "{\"key\":\"237-23-7744\",\"value\":{\"name\":\"Pug\",\"height\":66,\"weight\":110},\"primaryKey\":\"237-23-7744\"}"
cursor.continue()
+
+prefetch():
testPrefetchOutOfRange()
trans = db.transaction(objectStoreName)
objectStore = trans.objectStore(objectStoreName)
request = objectStore.openCursor()
+
+prefetch():
PASS expected is "{\"key\":\"237-23-7732\",\"value\":{\"name\":\"Bob\",\"height\":60,\"weight\":120},\"primaryKey\":\"237-23-7732\"}"
cursor.continue()
+
+prefetch():
PASS expected is "{\"key\":\"237-23-7733\",\"value\":{\"name\":\"Ann\",\"height\":52,\"weight\":110},\"primaryKey\":\"237-23-7733\"}"
cursor.continue()
+
+prefetch():
PASS expected is "{\"key\":\"237-23-7734\",\"value\":{\"name\":\"Ron\",\"height\":73,\"weight\":180},\"primaryKey\":\"237-23-7734\"}"
cursor.continue()
+
+prefetch():
PASS expected is "{\"key\":\"237-23-7735\",\"value\":{\"name\":\"Sue\",\"height\":58,\"weight\":130},\"primaryKey\":\"237-23-7735\"}"
cursor.advance(7)
+
+prefetch():
PASS expected is "{\"key\":\"237-23-7742\",\"value\":{\"name\":\"Tub\",\"height\":69,\"weight\":180},\"primaryKey\":\"237-23-7742\"}"
cursor.continue()
+
+prefetch():
PASS expected is "{\"key\":\"237-23-7743\",\"value\":{\"name\":\"Rug\",\"height\":77,\"weight\":120},\"primaryKey\":\"237-23-7743\"}"
cursor.continue()
+
+prefetch():
PASS expected is "{\"key\":\"237-23-7744\",\"value\":{\"name\":\"Pug\",\"height\":66,\"weight\":110},\"primaryKey\":\"237-23-7744\"}"
cursor.continue()
+
+prefetch():
testBadAdvance()
trans = db.transaction(objectStoreName, 'readwrite')
objectStore = trans.objectStore(objectStoreName)
request = objectStore.openCursor()
+
+advanceBadly():
Expecting TypeError exception from cursor.advance(0)
PASS Exception was thrown.
PASS cursor.advance(0) threw TypeError: Type error
@@ -160,26 +206,48 @@
trans = db.transaction(objectStoreName, 'readwrite')
objectStore = trans.objectStore(objectStoreName)
request = objectStore.openCursor()
+
+deleteSecond():
PASS expected is "{\"key\":\"237-23-7732\",\"value\":{\"name\":\"Bob\",\"height\":60,\"weight\":120},\"primaryKey\":\"237-23-7732\"}"
cursor.advance(1)
+
+deleteSecond():
PASS expected is "{\"key\":\"237-23-7733\",\"value\":{\"name\":\"Ann\",\"height\":52,\"weight\":110},\"primaryKey\":\"237-23-7733\"}"
cursor.advance(1)
+
+deleteSecond():
PASS expected is "{\"key\":\"237-23-7734\",\"value\":{\"name\":\"Ron\",\"height\":73,\"weight\":180},\"primaryKey\":\"237-23-7734\"}"
cursor.delete()
+
+deleteSecond():
PASS expected is "{\"key\":\"237-23-7738\",\"value\":{\"name\":\"Leo\",\"height\":65,\"weight\":180},\"primaryKey\":\"237-23-7738\"}"
cursor.advance(1)
+
+deleteSecond():
PASS expected is "{\"key\":\"237-23-7739\",\"value\":{\"name\":\"Jef\",\"height\":65,\"weight\":120},\"primaryKey\":\"237-23-7739\"}"
cursor.advance(1)
+
+deleteSecond():
PASS expected is "{\"key\":\"237-23-7740\",\"value\":{\"name\":\"Sam\",\"height\":71,\"weight\":110},\"primaryKey\":\"237-23-7740\"}"
cursor.advance(1)
+
+deleteSecond():
PASS expected is "{\"key\":\"237-23-7741\",\"value\":{\"name\":\"Bug\",\"height\":63,\"weight\":100},\"primaryKey\":\"237-23-7741\"}"
cursor.advance(1)
+
+deleteSecond():
PASS expected is "{\"key\":\"237-23-7742\",\"value\":{\"name\":\"Tub\",\"height\":69,\"weight\":180},\"primaryKey\":\"237-23-7742\"}"
cursor.advance(1)
+
+deleteSecond():
PASS expected is "{\"key\":\"237-23-7743\",\"value\":{\"name\":\"Rug\",\"height\":77,\"weight\":120},\"primaryKey\":\"237-23-7743\"}"
cursor.advance(1)
+
+deleteSecond():
PASS expected is "{\"key\":\"237-23-7744\",\"value\":{\"name\":\"Pug\",\"height\":66,\"weight\":110},\"primaryKey\":\"237-23-7744\"}"
cursor.advance(1)
+
+deleteSecond():
PASS successfullyParsed is true
TEST COMPLETE
Added: trunk/LayoutTests/storage/indexeddb/cursor-advance-workers-expected.txt (0 => 139793)
--- trunk/LayoutTests/storage/indexeddb/cursor-advance-workers-expected.txt (rev 0)
+++ trunk/LayoutTests/storage/indexeddb/cursor-advance-workers-expected.txt 2013-01-15 22:27:58 UTC (rev 139793)
@@ -0,0 +1,255 @@
+[Worker] Test IndexedDB cursor.advance().
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+Starting worker: resources/cursor-advance.js
+[Worker] indexedDB = self.indexedDB || self.webkitIndexedDB || self.mozIndexedDB || self.msIndexedDB || self.OIndexedDB;
+[Worker]
+[Worker] dbname = "cursor-advance.js"
+[Worker] indexedDB.deleteDatabase(dbname)
+[Worker] indexedDB.open(dbname)
+[Worker]
+[Worker] prepareDatabase():
+[Worker] objectStore = db.createObjectStore(objectStoreName);
+[Worker] Now create the indexes.
+[Worker] objectStore.createIndex(indexData[i].name, indexData[i].keyPath, indexData[i].options);
+[Worker] objectStore.createIndex(indexData[i].name, indexData[i].keyPath, indexData[i].options);
+[Worker] objectStore.createIndex(indexData[i].name, indexData[i].keyPath, indexData[i].options);
+[Worker] trans = db.transaction(objectStoreName, 'readwrite')
+[Worker] objectStore = trans.objectStore(objectStoreName)
+[Worker] First, add all our data to the object store.
+[Worker] request = objectStore.add(objectStoreData[i].value, objectStoreData[i].key);
+[Worker] request = objectStore.add(objectStoreData[i].value, objectStoreData[i].key);
+[Worker] request = objectStore.add(objectStoreData[i].value, objectStoreData[i].key);
+[Worker] request = objectStore.add(objectStoreData[i].value, objectStoreData[i].key);
+[Worker] request = objectStore.add(objectStoreData[i].value, objectStoreData[i].key);
+[Worker] request = objectStore.add(objectStoreData[i].value, objectStoreData[i].key);
+[Worker] request = objectStore.add(objectStoreData[i].value, objectStoreData[i].key);
+[Worker] request = objectStore.add(objectStoreData[i].value, objectStoreData[i].key);
+[Worker] request = objectStore.add(objectStoreData[i].value, objectStoreData[i].key);
+[Worker] request = objectStore.add(objectStoreData[i].value, objectStoreData[i].key);
+[Worker] request = objectStore.add(objectStoreData[i].value, objectStoreData[i].key);
+[Worker] request = objectStore.add(objectStoreData[i].value, objectStoreData[i].key);
+[Worker] request = objectStore.add(objectStoreData[i].value, objectStoreData[i].key);
+[Worker] testSimple()
+[Worker] trans = db.transaction(objectStoreName)
+[Worker] store = trans.objectStore(objectStoreName)
+[Worker] request = store.openCursor()
+[Worker] cursor.advance(1)
+PASS [Worker] expected is "{\"key\":\"237-23-7733\",\"value\":{\"name\":\"Ann\",\"height\":52,\"weight\":110},\"primaryKey\":\"237-23-7733\"}"
+[Worker] testContinueThenAdvance()
+[Worker] trans = db.transaction(objectStoreName)
+[Worker] store = trans.objectStore(objectStoreName)
+[Worker] request = store.openCursor()
+[Worker] cursor.continue();
+[Worker] cursor.continue();
+[Worker] cursor.continue();
+[Worker] cursor.advance(1)
+PASS [Worker] expected is "{\"key\":\"237-23-7736\",\"value\":{\"name\":\"Joe\",\"height\":65,\"weight\":150},\"primaryKey\":\"237-23-7736\"}"
+[Worker] testAdvanceMultiple()
+[Worker] trans = db.transaction(objectStoreName)
+[Worker] store = trans.objectStore(objectStoreName)
+[Worker] request = store.openCursor()
+[Worker] cursor.advance(3)
+PASS [Worker] expected is "{\"key\":\"237-23-7735\",\"value\":{\"name\":\"Sue\",\"height\":58,\"weight\":130},\"primaryKey\":\"237-23-7735\"}"
+[Worker] testAdvanceIndex()
+[Worker] trans = db.transaction(objectStoreName)
+[Worker] store = trans.objectStore(objectStoreName)
+[Worker] request = store.openCursor()
+[Worker] cursor.advance(3)
+PASS [Worker] expected is "{\"key\":\"Jef\",\"value\":{\"name\":\"Jef\",\"height\":65,\"weight\":120},\"primaryKey\":\"237-23-7739\"}"
+[Worker] testAdvanceIndexNoDupe()
+[Worker] trans = db.transaction(objectStoreName)
+[Worker] store = trans.objectStore(objectStoreName)
+[Worker] request = store.openCursor(null, 'nextunique')
+[Worker] cursor.advance(3)
+PASS [Worker] expected is "{\"key\":130,\"value\":{\"name\":\"Sue\",\"height\":58,\"weight\":130},\"primaryKey\":\"237-23-7735\"}"
+[Worker] testAdvanceIndexPrev()
+[Worker] trans = db.transaction(objectStoreName)
+[Worker] store = trans.objectStore(objectStoreName)
+[Worker] request = store.openCursor(null, 'prev')
+[Worker] cursor.advance(3)
+PASS [Worker] expected is "{\"key\":150,\"value\":{\"name\":\"Joe\",\"height\":65,\"weight\":150},\"primaryKey\":\"237-23-7736\"}"
+[Worker] testAdvanceIndexPrevNoDupe()
+[Worker] trans = db.transaction(objectStoreName)
+[Worker] store = trans.objectStore(objectStoreName)
+[Worker] request = store.openCursor(null, 'prevunique')
+[Worker] cursor.advance(3)
+PASS [Worker] expected is "{\"key\":120,\"value\":{\"name\":\"Bob\",\"height\":60,\"weight\":120},\"primaryKey\":\"237-23-7732\"}"
+[Worker] testAdvanceToEnd()
+[Worker] trans = db.transaction(objectStoreName)
+[Worker] store = trans.objectStore(objectStoreName)
+[Worker] request = store.openCursor()
+[Worker] cursor.advance(100)
+PASS [Worker] expected is "null"
+[Worker] testPrefetchInRange()
+[Worker] trans = db.transaction(objectStoreName)
+[Worker] objectStore = trans.objectStore(objectStoreName)
+[Worker] request = objectStore.openCursor()
+[Worker]
+[Worker] prefetch():
+PASS [Worker] expected is "{\"key\":\"237-23-7732\",\"value\":{\"name\":\"Bob\",\"height\":60,\"weight\":120},\"primaryKey\":\"237-23-7732\"}"
+[Worker] cursor.continue()
+[Worker]
+[Worker] prefetch():
+PASS [Worker] expected is "{\"key\":\"237-23-7733\",\"value\":{\"name\":\"Ann\",\"height\":52,\"weight\":110},\"primaryKey\":\"237-23-7733\"}"
+[Worker] cursor.continue()
+[Worker]
+[Worker] prefetch():
+PASS [Worker] expected is "{\"key\":\"237-23-7734\",\"value\":{\"name\":\"Ron\",\"height\":73,\"weight\":180},\"primaryKey\":\"237-23-7734\"}"
+[Worker] cursor.continue()
+[Worker]
+[Worker] prefetch():
+PASS [Worker] expected is "{\"key\":\"237-23-7735\",\"value\":{\"name\":\"Sue\",\"height\":58,\"weight\":130},\"primaryKey\":\"237-23-7735\"}"
+[Worker] cursor.advance(2)
+[Worker]
+[Worker] prefetch():
+PASS [Worker] expected is "{\"key\":\"237-23-7737\",\"value\":{\"name\":\"Pat\",\"height\":65,\"weight\":100},\"primaryKey\":\"237-23-7737\"}"
+[Worker] cursor.continue()
+[Worker]
+[Worker] prefetch():
+PASS [Worker] expected is "{\"key\":\"237-23-7738\",\"value\":{\"name\":\"Leo\",\"height\":65,\"weight\":180},\"primaryKey\":\"237-23-7738\"}"
+[Worker] cursor.continue()
+[Worker]
+[Worker] prefetch():
+PASS [Worker] expected is "{\"key\":\"237-23-7739\",\"value\":{\"name\":\"Jef\",\"height\":65,\"weight\":120},\"primaryKey\":\"237-23-7739\"}"
+[Worker] cursor.continue()
+[Worker]
+[Worker] prefetch():
+PASS [Worker] expected is "{\"key\":\"237-23-7740\",\"value\":{\"name\":\"Sam\",\"height\":71,\"weight\":110},\"primaryKey\":\"237-23-7740\"}"
+[Worker] cursor.continue()
+[Worker]
+[Worker] prefetch():
+PASS [Worker] expected is "{\"key\":\"237-23-7741\",\"value\":{\"name\":\"Bug\",\"height\":63,\"weight\":100},\"primaryKey\":\"237-23-7741\"}"
+[Worker] cursor.continue()
+[Worker]
+[Worker] prefetch():
+PASS [Worker] expected is "{\"key\":\"237-23-7742\",\"value\":{\"name\":\"Tub\",\"height\":69,\"weight\":180},\"primaryKey\":\"237-23-7742\"}"
+[Worker] cursor.continue()
+[Worker]
+[Worker] prefetch():
+PASS [Worker] expected is "{\"key\":\"237-23-7743\",\"value\":{\"name\":\"Rug\",\"height\":77,\"weight\":120},\"primaryKey\":\"237-23-7743\"}"
+[Worker] cursor.continue()
+[Worker]
+[Worker] prefetch():
+PASS [Worker] expected is "{\"key\":\"237-23-7744\",\"value\":{\"name\":\"Pug\",\"height\":66,\"weight\":110},\"primaryKey\":\"237-23-7744\"}"
+[Worker] cursor.continue()
+[Worker]
+[Worker] prefetch():
+[Worker] testPrefetchOutOfRange()
+[Worker] trans = db.transaction(objectStoreName)
+[Worker] objectStore = trans.objectStore(objectStoreName)
+[Worker] request = objectStore.openCursor()
+[Worker]
+[Worker] prefetch():
+PASS [Worker] expected is "{\"key\":\"237-23-7732\",\"value\":{\"name\":\"Bob\",\"height\":60,\"weight\":120},\"primaryKey\":\"237-23-7732\"}"
+[Worker] cursor.continue()
+[Worker]
+[Worker] prefetch():
+PASS [Worker] expected is "{\"key\":\"237-23-7733\",\"value\":{\"name\":\"Ann\",\"height\":52,\"weight\":110},\"primaryKey\":\"237-23-7733\"}"
+[Worker] cursor.continue()
+[Worker]
+[Worker] prefetch():
+PASS [Worker] expected is "{\"key\":\"237-23-7734\",\"value\":{\"name\":\"Ron\",\"height\":73,\"weight\":180},\"primaryKey\":\"237-23-7734\"}"
+[Worker] cursor.continue()
+[Worker]
+[Worker] prefetch():
+PASS [Worker] expected is "{\"key\":\"237-23-7735\",\"value\":{\"name\":\"Sue\",\"height\":58,\"weight\":130},\"primaryKey\":\"237-23-7735\"}"
+[Worker] cursor.advance(7)
+[Worker]
+[Worker] prefetch():
+PASS [Worker] expected is "{\"key\":\"237-23-7742\",\"value\":{\"name\":\"Tub\",\"height\":69,\"weight\":180},\"primaryKey\":\"237-23-7742\"}"
+[Worker] cursor.continue()
+[Worker]
+[Worker] prefetch():
+PASS [Worker] expected is "{\"key\":\"237-23-7743\",\"value\":{\"name\":\"Rug\",\"height\":77,\"weight\":120},\"primaryKey\":\"237-23-7743\"}"
+[Worker] cursor.continue()
+[Worker]
+[Worker] prefetch():
+PASS [Worker] expected is "{\"key\":\"237-23-7744\",\"value\":{\"name\":\"Pug\",\"height\":66,\"weight\":110},\"primaryKey\":\"237-23-7744\"}"
+[Worker] cursor.continue()
+[Worker]
+[Worker] prefetch():
+[Worker] testBadAdvance()
+[Worker] trans = db.transaction(objectStoreName, 'readwrite')
+[Worker] objectStore = trans.objectStore(objectStoreName)
+[Worker] request = objectStore.openCursor()
+[Worker]
+[Worker] advanceBadly():
+[Worker] Expecting TypeError exception from cursor.advance(0)
+PASS [Worker] Exception was thrown.
+PASS [Worker] cursor.advance(0) threw TypeError: Type error
+[Worker] Expecting TypeError exception from cursor.advance(-1)
+PASS [Worker] Exception was thrown.
+PASS [Worker] cursor.advance(-1) threw TypeError: Type error
+[Worker] Expecting TypeError exception from cursor.advance(0x100000000)
+PASS [Worker] Exception was thrown.
+PASS [Worker] cursor.advance(0x100000000) threw TypeError: Type error
+[Worker] Expecting TypeError exception from cursor.advance(0x20000000000000)
+PASS [Worker] Exception was thrown.
+PASS [Worker] cursor.advance(0x20000000000000) threw TypeError: Type error
+[Worker]
+[Worker] testEdges():
+[Worker] trans = db.transaction(objectStoreName, 'readonly')
+[Worker] objectStore = trans.objectStore(objectStoreName)
+[Worker] request = objectStore.openCursor()
+[Worker]
+[Worker] onSuccess():
+[Worker] cursor = event.target.result
+PASS [Worker] cursor is non-null.
+[Worker] cursor.advance(0xffffffff)
+[Worker]
+[Worker] onSuccess():
+[Worker] cursor = event.target.result
+PASS [Worker] cursor is null
+[Worker] testDelete()
+[Worker] trans = db.transaction(objectStoreName, 'readwrite')
+[Worker] objectStore = trans.objectStore(objectStoreName)
+[Worker] request = objectStore.openCursor()
+[Worker]
+[Worker] deleteSecond():
+PASS [Worker] expected is "{\"key\":\"237-23-7732\",\"value\":{\"name\":\"Bob\",\"height\":60,\"weight\":120},\"primaryKey\":\"237-23-7732\"}"
+[Worker] cursor.advance(1)
+[Worker]
+[Worker] deleteSecond():
+PASS [Worker] expected is "{\"key\":\"237-23-7733\",\"value\":{\"name\":\"Ann\",\"height\":52,\"weight\":110},\"primaryKey\":\"237-23-7733\"}"
+[Worker] cursor.advance(1)
+[Worker]
+[Worker] deleteSecond():
+PASS [Worker] expected is "{\"key\":\"237-23-7734\",\"value\":{\"name\":\"Ron\",\"height\":73,\"weight\":180},\"primaryKey\":\"237-23-7734\"}"
+[Worker] cursor.delete()
+[Worker]
+[Worker] deleteSecond():
+PASS [Worker] expected is "{\"key\":\"237-23-7738\",\"value\":{\"name\":\"Leo\",\"height\":65,\"weight\":180},\"primaryKey\":\"237-23-7738\"}"
+[Worker] cursor.advance(1)
+[Worker]
+[Worker] deleteSecond():
+PASS [Worker] expected is "{\"key\":\"237-23-7739\",\"value\":{\"name\":\"Jef\",\"height\":65,\"weight\":120},\"primaryKey\":\"237-23-7739\"}"
+[Worker] cursor.advance(1)
+[Worker]
+[Worker] deleteSecond():
+PASS [Worker] expected is "{\"key\":\"237-23-7740\",\"value\":{\"name\":\"Sam\",\"height\":71,\"weight\":110},\"primaryKey\":\"237-23-7740\"}"
+[Worker] cursor.advance(1)
+[Worker]
+[Worker] deleteSecond():
+PASS [Worker] expected is "{\"key\":\"237-23-7741\",\"value\":{\"name\":\"Bug\",\"height\":63,\"weight\":100},\"primaryKey\":\"237-23-7741\"}"
+[Worker] cursor.advance(1)
+[Worker]
+[Worker] deleteSecond():
+PASS [Worker] expected is "{\"key\":\"237-23-7742\",\"value\":{\"name\":\"Tub\",\"height\":69,\"weight\":180},\"primaryKey\":\"237-23-7742\"}"
+[Worker] cursor.advance(1)
+[Worker]
+[Worker] deleteSecond():
+PASS [Worker] expected is "{\"key\":\"237-23-7743\",\"value\":{\"name\":\"Rug\",\"height\":77,\"weight\":120},\"primaryKey\":\"237-23-7743\"}"
+[Worker] cursor.advance(1)
+[Worker]
+[Worker] deleteSecond():
+PASS [Worker] expected is "{\"key\":\"237-23-7744\",\"value\":{\"name\":\"Pug\",\"height\":66,\"weight\":110},\"primaryKey\":\"237-23-7744\"}"
+[Worker] cursor.advance(1)
+[Worker]
+[Worker] deleteSecond():
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
Added: trunk/LayoutTests/storage/indexeddb/cursor-advance-workers.html (0 => 139793)
--- trunk/LayoutTests/storage/indexeddb/cursor-advance-workers.html (rev 0)
+++ trunk/LayoutTests/storage/indexeddb/cursor-advance-workers.html 2013-01-15 22:27:58 UTC (rev 139793)
@@ -0,0 +1,10 @@
+<html>
+<head>
+<script src=""
+<script src=""
+</head>
+<body>
+<script>startWorker('resources/cursor-advance.js');</script>
+<script src=""
+</body>
+</html>
Modified: trunk/LayoutTests/storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-expected.txt (139792 => 139793)
--- trunk/LayoutTests/storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-expected.txt 2013-01-15 22:21:43 UTC (rev 139792)
+++ trunk/LayoutTests/storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-expected.txt 2013-01-15 22:27:58 UTC (rev 139793)
@@ -8,6 +8,8 @@
dbname = "deletedatabase-delayed-by-open-and-versionchange.html"
indexedDB.deleteDatabase(dbname)
indexedDB.open(dbname)
+
+prepareDatabase():
versionChangeComplete = false
h = event.target.result
indexedDB.deleteDatabase(dbname)
@@ -20,6 +22,8 @@
transactionOnComplete():
versionChangeComplete = true
+
+onOpenSuccess():
h = event.target.result
h.close()
Added: trunk/LayoutTests/storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-workers-expected.txt (0 => 139793)
--- trunk/LayoutTests/storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-workers-expected.txt (rev 0)
+++ trunk/LayoutTests/storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-workers-expected.txt 2013-01-15 22:27:58 UTC (rev 139793)
@@ -0,0 +1,36 @@
+[Worker] Test that deleteDatabase is delayed if a VERSION_CHANGE transaction is running
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+Starting worker: resources/deletedatabase-delayed-by-open-and-versionchange.js
+[Worker] indexedDB = self.indexedDB || self.webkitIndexedDB || self.mozIndexedDB || self.msIndexedDB || self.OIndexedDB;
+[Worker]
+[Worker] dbname = "deletedatabase-delayed-by-open-and-versionchange.js"
+[Worker] indexedDB.deleteDatabase(dbname)
+[Worker] indexedDB.open(dbname)
+[Worker]
+[Worker] prepareDatabase():
+[Worker] versionChangeComplete = false
+[Worker] h = event.target.result
+[Worker] indexedDB.deleteDatabase(dbname)
+[Worker]
+[Worker] onVersionChange():
+[Worker] old = 1
+[Worker] new = ""
+[Worker]
+[Worker] deleteDatabaseOnBlocked():
+[Worker]
+[Worker] transactionOnComplete():
+[Worker] versionChangeComplete = true
+[Worker]
+[Worker] onOpenSuccess():
+[Worker] h = event.target.result
+[Worker] h.close()
+[Worker]
+[Worker] deleteDatabaseOnSuccess():
+PASS [Worker] versionChangeComplete is true
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
Added: trunk/LayoutTests/storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-workers.html (0 => 139793)
--- trunk/LayoutTests/storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-workers.html (rev 0)
+++ trunk/LayoutTests/storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-workers.html 2013-01-15 22:27:58 UTC (rev 139793)
@@ -0,0 +1,10 @@
+<html>
+<head>
+<script src=""
+<script src=""
+</head>
+<body>
+<script>startWorker('resources/deletedatabase-delayed-by-open-and-versionchange.js');</script>
+<script src=""
+</body>
+</html>
Modified: trunk/LayoutTests/storage/indexeddb/resources/cursor-advance.js (139792 => 139793)
--- trunk/LayoutTests/storage/indexeddb/resources/cursor-advance.js 2013-01-15 22:21:43 UTC (rev 139792)
+++ trunk/LayoutTests/storage/indexeddb/resources/cursor-advance.js 2013-01-15 22:27:58 UTC (rev 139793)
@@ -28,8 +28,9 @@
];
indexedDBTest(prepareDatabase, onOpen);
-function prepareDatabase()
+function prepareDatabase(evt)
{
+ preamble(evt);
db = event.target.result;
objectStoreName = "People";
objectStore = evalAndLog("objectStore = db.createObjectStore(objectStoreName);");
@@ -225,8 +226,9 @@
evalAndLog("request = objectStore.openCursor()");
var currentPos = 0;
- function prefetch()
+ function prefetch(evt)
{
+ preamble(evt);
cursor = event.target.result;
if (!cursor) {
@@ -268,8 +270,9 @@
evalAndLog("request = objectStore.openCursor()");
var currentPos = 0;
- function prefetch()
+ function prefetch(evt)
{
+ preamble(evt);
cursor = event.target.result;
if (!cursor) {
@@ -307,8 +310,9 @@
evalAndLog("request = objectStore.openCursor()");
- function advanceBadly()
+ function advanceBadly(evt)
{
+ preamble(evt);
cursor = event.target.result;
evalAndExpectExceptionClass("cursor.advance(0)", "TypeError");
@@ -333,7 +337,7 @@
firstSuccess = true;
request._onsuccess_ = function onSuccess(evt) {
- preamble(event);
+ preamble(evt);
evalAndLog("cursor = event.target.result");
if (firstSuccess) {
shouldBeNonNull("cursor");
@@ -356,8 +360,9 @@
evalAndLog("request = objectStore.openCursor()");
var currentPos = 0;
- function deleteSecond()
+ function deleteSecond(evt)
{
+ preamble(evt);
cursor = event.target.result;
if (!cursor) {
Modified: trunk/LayoutTests/storage/indexeddb/resources/deletedatabase-delayed-by-open-and-versionchange.js (139792 => 139793)
--- trunk/LayoutTests/storage/indexeddb/resources/deletedatabase-delayed-by-open-and-versionchange.js 2013-01-15 22:21:43 UTC (rev 139792)
+++ trunk/LayoutTests/storage/indexeddb/resources/deletedatabase-delayed-by-open-and-versionchange.js 2013-01-15 22:27:58 UTC (rev 139793)
@@ -6,8 +6,9 @@
description("Test that deleteDatabase is delayed if a VERSION_CHANGE transaction is running");
indexedDBTest(prepareDatabase, onOpenSuccess);
-function prepareDatabase()
+function prepareDatabase(evt)
{
+ preamble(evt);
evalAndLog("versionChangeComplete = false");
evalAndLog("h = event.target.result");
@@ -35,8 +36,9 @@
};
}
-function onOpenSuccess()
+function onOpenSuccess(evt)
{
+ preamble(evt);
evalAndLog("h = event.target.result");
evalAndLog("h.close()");
}
\ No newline at end of file