dom/indexedDB/test/browser_quotaPromptDelete.html

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/dom/indexedDB/test/browser_quotaPromptDelete.html	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,95 @@
     1.4 +<!--
     1.5 +  Any copyright is dedicated to the Public Domain.
     1.6 +  http://creativecommons.org/publicdomain/zero/1.0/
     1.7 +-->
     1.8 +<html>
     1.9 +  <head>
    1.10 +    <title>Indexed Database Test</title>
    1.11 +
    1.12 +    <script type="text/javascript;version=1.7">
    1.13 +      let db;
    1.14 +      let name = window.location.pathname;
    1.15 +
    1.16 +      function onAddMore() {
    1.17 +        let transaction = db.transaction("foo", "readwrite");
    1.18 +
    1.19 +        transaction.oncomplete = function(event) {
    1.20 +          setTimeout(testFinishedCallback, 0, "complete");
    1.21 +        }
    1.22 +        transaction.onabort = function(event) {
    1.23 +          setTimeout(testFinishedCallback, 0, "abort");
    1.24 +        }
    1.25 +
    1.26 +        let objectStore = transaction.objectStore("foo");
    1.27 +        let obj = {
    1.28 +          foo: "                                                              ",
    1.29 +          bar: "                                                              ",
    1.30 +          baz: "                                                              "
    1.31 +        };
    1.32 +        for (let i = 0; i < 1000; i++) {
    1.33 +          objectStore.add(obj).onerror = errorHandler;
    1.34 +        }
    1.35 +      }
    1.36 +
    1.37 +      function onDone() {
    1.38 +        window.removeEventListener("indexedDB-addMore", onAddMore, true);
    1.39 +        window.removeEventListener("indexedDB-done", onDone, true);
    1.40 +        window.removeEventListener("indexedDB-reset", onReset, true);
    1.41 +
    1.42 +        testResult = "finished";
    1.43 +        testException = undefined;
    1.44 +        finishTest();
    1.45 +      }
    1.46 +
    1.47 +      function onReset() {
    1.48 +        db.close();
    1.49 +        // N.B. the spec provides no ordering guarantee w.r.t deleteDatabase.
    1.50 +        let deleteRequest = indexedDB.deleteDatabase(name);
    1.51 +
    1.52 +        deleteRequest.onerror = errorHandler;
    1.53 +        deleteRequest.onsuccess = function () {
    1.54 +          // It is imperative that we open a different database this time.
    1.55 +          let request = indexedDB.open("take2", 1);
    1.56 +          request.onerror = errorHandler;
    1.57 +          request.onupgradeneeded = function(event) {
    1.58 +            db = event.target.result;
    1.59 +            db.createObjectStore("foo", { autoIncrement: true });
    1.60 +          }
    1.61 +          request.onsuccess = function ()
    1.62 +            { setTimeout(testFinishedCallback, 0, "resetDone"); };
    1.63 +          request.onblocked = errorHandler;
    1.64 +        }
    1.65 +      }
    1.66 +
    1.67 +      function testSteps()
    1.68 +      {
    1.69 +        window.addEventListener("indexedDB-addMore", onAddMore, true);
    1.70 +        window.addEventListener("indexedDB-reset", onReset, true);
    1.71 +        window.addEventListener("indexedDB-done", onDone, true);
    1.72 +
    1.73 +        let request = indexedDB.open(name, 1);
    1.74 +        request.onerror = errorHandler;
    1.75 +        request.onupgradeneeded = grabEventAndContinueHandler;
    1.76 +        let event = yield undefined;
    1.77 +
    1.78 +        db = event.target.result;
    1.79 +
    1.80 +        db.onversionchange = function () { db.close(); };
    1.81 +
    1.82 +        db.createObjectStore("foo", { autoIncrement: true });
    1.83 +
    1.84 +        request.onsuccess = grabEventAndContinueHandler;
    1.85 +        yield undefined;
    1.86 +
    1.87 +        setTimeout(testFinishedCallback, 0, "ready");
    1.88 +        yield undefined;
    1.89 +      }
    1.90 +    </script>
    1.91 +
    1.92 +    <script type="text/javascript;version=1.7" src="browserHelpers.js"></script>
    1.93 +
    1.94 +  </head>
    1.95 +
    1.96 +  <body onload="runTest();" onunload="finishTestNow();"></body>
    1.97 +
    1.98 +</html>

mercurial