dom/indexedDB/test/browser_quotaPromptDelete.html

branch
TOR_BUG_3246
changeset 7
129ffea94266
equal deleted inserted replaced
-1:000000000000 0:5ba1a21ff00d
1 <!--
2 Any copyright is dedicated to the Public Domain.
3 http://creativecommons.org/publicdomain/zero/1.0/
4 -->
5 <html>
6 <head>
7 <title>Indexed Database Test</title>
8
9 <script type="text/javascript;version=1.7">
10 let db;
11 let name = window.location.pathname;
12
13 function onAddMore() {
14 let transaction = db.transaction("foo", "readwrite");
15
16 transaction.oncomplete = function(event) {
17 setTimeout(testFinishedCallback, 0, "complete");
18 }
19 transaction.onabort = function(event) {
20 setTimeout(testFinishedCallback, 0, "abort");
21 }
22
23 let objectStore = transaction.objectStore("foo");
24 let obj = {
25 foo: " ",
26 bar: " ",
27 baz: " "
28 };
29 for (let i = 0; i < 1000; i++) {
30 objectStore.add(obj).onerror = errorHandler;
31 }
32 }
33
34 function onDone() {
35 window.removeEventListener("indexedDB-addMore", onAddMore, true);
36 window.removeEventListener("indexedDB-done", onDone, true);
37 window.removeEventListener("indexedDB-reset", onReset, true);
38
39 testResult = "finished";
40 testException = undefined;
41 finishTest();
42 }
43
44 function onReset() {
45 db.close();
46 // N.B. the spec provides no ordering guarantee w.r.t deleteDatabase.
47 let deleteRequest = indexedDB.deleteDatabase(name);
48
49 deleteRequest.onerror = errorHandler;
50 deleteRequest.onsuccess = function () {
51 // It is imperative that we open a different database this time.
52 let request = indexedDB.open("take2", 1);
53 request.onerror = errorHandler;
54 request.onupgradeneeded = function(event) {
55 db = event.target.result;
56 db.createObjectStore("foo", { autoIncrement: true });
57 }
58 request.onsuccess = function ()
59 { setTimeout(testFinishedCallback, 0, "resetDone"); };
60 request.onblocked = errorHandler;
61 }
62 }
63
64 function testSteps()
65 {
66 window.addEventListener("indexedDB-addMore", onAddMore, true);
67 window.addEventListener("indexedDB-reset", onReset, true);
68 window.addEventListener("indexedDB-done", onDone, true);
69
70 let request = indexedDB.open(name, 1);
71 request.onerror = errorHandler;
72 request.onupgradeneeded = grabEventAndContinueHandler;
73 let event = yield undefined;
74
75 db = event.target.result;
76
77 db.onversionchange = function () { db.close(); };
78
79 db.createObjectStore("foo", { autoIncrement: true });
80
81 request.onsuccess = grabEventAndContinueHandler;
82 yield undefined;
83
84 setTimeout(testFinishedCallback, 0, "ready");
85 yield undefined;
86 }
87 </script>
88
89 <script type="text/javascript;version=1.7" src="browserHelpers.js"></script>
90
91 </head>
92
93 <body onload="runTest();" onunload="finishTestNow();"></body>
94
95 </html>

mercurial