1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
|
<!--
Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/
-->
<html>
<head>
<title>Indexed Database Test</title>
<script type="text/javascript;version=1.7">
let db;
let version = window.location.href.charAt(window.location.href.length - 1);
function onAddMore() {
let transaction = db.transaction("foo", "readwrite");
transaction.oncomplete = function(event) {
setTimeout(testFinishedCallback, 0, "complete");
}
transaction.onabort = function(event) {
setTimeout(testFinishedCallback, 0, "abort " + event.target.error.name);
}
let objectStore = transaction.objectStore("foo");
let obj = {
foo: " ",
bar: " ",
baz: " "
};
for (let i = 0; i < 1000; i++) {
objectStore.add(obj).onerror = errorHandler;
}
}
function onDone() {
window.removeEventListener("indexedDB-addMore", onAddMore, true);
window.removeEventListener("indexedDB-done", onDone, true);
let request = indexedDB.open(window.location.pathname, version++);
request.onerror = errorHandler;
request.onupgradeneeded = function(event) {
db.deleteObjectStore("foo");
db.onversionchange = function () { db.close(); };
request.transaction.oncomplete = function(event) {
testResult = "finished";
testException = undefined;
finishTest();
}
}
}
function testSteps()
{
const name = window.location.pathname;
window.addEventListener("indexedDB-addMore", onAddMore, true);
window.addEventListener("indexedDB-done", onDone, true);
let request = indexedDB.open(name, version++);
request.onerror = errorHandler;
request.onupgradeneeded = grabEventAndContinueHandler;
let event = yield;
db = event.target.result;
db.onversionchange = function () { db.close(); };
db.createObjectStore("foo", { autoIncrement: true });
request.onsuccess = grabEventAndContinueHandler;
yield;
setTimeout(testFinishedCallback, 0, "ready");
yield;
}
</script>
<script type="text/javascript;version=1.7" src="browserHelpers.js"></script>
</head>
<body onload="runTest();" onunload="finishTestNow();"></body>
</html>
|