dom/indexedDB/test/browser_quotaPrompt.html

Wed, 31 Dec 2014 06:55:50 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:55:50 +0100
changeset 2
7e26c7da4463
permissions
-rw-r--r--

Added tag UPSTREAM_283F7C6 for changeset ca08bd8f51b2

     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>
     9     <script type="text/javascript;version=1.7">
    10       let db;
    11       let version = window.location.href.charAt(window.location.href.length - 1);
    13       function onAddMore() {
    14         let transaction = db.transaction("foo", "readwrite");
    16         transaction.oncomplete = function(event) {
    17           setTimeout(testFinishedCallback, 0, "complete");
    18         }
    19         transaction.onabort = function(event) {
    20           setTimeout(testFinishedCallback, 0, "abort " + event.target.error.name);
    21         }
    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       }
    34       function onDone() {
    35         window.removeEventListener("indexedDB-addMore", onAddMore, true);
    36         window.removeEventListener("indexedDB-done", onDone, true);
    38         let request = indexedDB.open(window.location.pathname, version++);
    39         request.onerror = errorHandler;
    40         request.onupgradeneeded = function(event) {
    41           db.deleteObjectStore("foo");
    42           db.onversionchange = function () { db.close(); };
    43           request.transaction.oncomplete = function(event) {
    44             testResult = "finished";
    45             testException = undefined;
    46             finishTest();
    47           }
    48         }
    49       }
    51       function testSteps()
    52       {
    53         const name = window.location.pathname;
    55         window.addEventListener("indexedDB-addMore", onAddMore, true);
    56         window.addEventListener("indexedDB-done", onDone, true);
    58         let request = indexedDB.open(name, version++);
    59         request.onerror = errorHandler;
    60         request.onupgradeneeded = grabEventAndContinueHandler;
    61         let event = yield undefined;
    63         db = event.target.result;
    65         db.onversionchange = function () { db.close(); };
    67         db.createObjectStore("foo", { autoIncrement: true });
    69         request.onsuccess = grabEventAndContinueHandler;
    70         yield undefined;
    72         setTimeout(testFinishedCallback, 0, "ready");
    73         yield undefined;
    74       }
    75     </script>
    77     <script type="text/javascript;version=1.7" src="browserHelpers.js"></script>
    79   </head>
    81   <body onload="runTest();" onunload="finishTestNow();"></body>
    83 </html>

mercurial