diff options
Diffstat (limited to 'Tools/TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBMultiProcess-2.html')
-rw-r--r-- | Tools/TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBMultiProcess-2.html | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/Tools/TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBMultiProcess-2.html b/Tools/TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBMultiProcess-2.html new file mode 100644 index 000000000..31035c993 --- /dev/null +++ b/Tools/TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBMultiProcess-2.html @@ -0,0 +1,92 @@ +<script> + +var request = window.indexedDB.open("IndexedDBMultiProcess", 2); + +request.onsuccess = function(event) +{ + var req = event.target.result.transaction("TestObjectStore").objectStore("TestObjectStore").get("foo"); + + req.onsuccess = function(event) + { + window.webkit.messageHandlers.testHandler.postMessage('Value of foo: ' + req.result); + continueTest1(); + } + + req.onerror = function(event) + { + // Unexpected error + window.webkit.messageHandlers.testHandler.postMessage('Unexpected error getting value'); + } +} + +request.onerror = function() +{ + // Unexpected error + window.webkit.messageHandlers.testHandler.postMessage('Unexpected error opening database'); +} + +request.onupgradeneeded = function(event) +{ + // Unexpected upgrade needed + window.webkit.messageHandlers.testHandler.postMessage('Unexpected UpgradeNeeded'); +} + +function continueTest1() +{ + var request = window.indexedDB.deleteDatabase("ProcessCloseIDBCleanup"); + request.onsuccess = function(e) + { + continueTest2(); + } + request.onerror = function(e) + { + // Unexpected error + window.webkit.messageHandlers.testHandler.postMessage('Error deleting ProcessCloseIDBCleanup database'); + } +} + +function startGetLoop() +{ + var request = window.indexedDB.open("ProcessCloseIDBCleanup"); + request.onsuccess = function(e) + { + var req = e.target.result.transaction(["TestObjectStore"]).objectStore("TestObjectStore").get("foo"); + req.onsuccess = startGetLoop; + req.onerror = function(e) + { + // Unexpected error + window.webkit.messageHandlers.testHandler.postMessage('Error with a get loop'); + } + } + + request.onerror = function(e) + { + // Unexpected error + window.webkit.messageHandlers.testHandler.postMessage('Error with a get loop'); + } +} + +function continueTest2() +{ + var request = window.indexedDB.open("ProcessCloseIDBCleanup"); + request.onsuccess = function(e) + { + for (var i = 0; i < 75; ++i) + startGetLoop(); + + setTimeout("window.webkit.messageHandlers.testHandler.postMessage('Get loops started');", 0); + } + + request.onerror = function(e) + { + // Unexpected error + window.webkit.messageHandlers.testHandler.postMessage('Error opening ProcessCloseIDBCleanup database'); + } + + request.onupgradeneeded = function(e) + { + e.target.result.createObjectStore("TestObjectStore").put("bar", "foo"); + } +} + +</script> |