dom/indexedDB/test/unit/test_request_readyState.js

Tue, 06 Jan 2015 21:39:09 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Tue, 06 Jan 2015 21:39:09 +0100
branch
TOR_BUG_9701
changeset 8
97036ab72558
permissions
-rw-r--r--

Conditionally force memory storage according to privacy.thirdparty.isolate;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.

     1 /**
     2  * Any copyright is dedicated to the Public Domain.
     3  * http://creativecommons.org/publicdomain/zero/1.0/
     4  */
     6 var testGenerator = testSteps();
     8 function testSteps()
     9 {
    10   const name = this.window ? window.location.pathname : "Splendid Test";
    12   let request = indexedDB.open(name, 1);
    13   is(request.readyState, "pending", "Correct readyState");
    15   request.onerror = errorHandler;
    16   request.onupgradeneeded = grabEventAndContinueHandler;
    17   let event = yield undefined;
    19   is(request.readyState, "done", "Correct readyState");
    21   let db = event.target.result;
    23   let objectStore = db.createObjectStore("foo");
    24   let key = 10;
    26   request = objectStore.add({}, key);
    27   is(request.readyState, "pending", "Correct readyState");
    29   request.onerror = errorHandler;
    30   request.onsuccess = grabEventAndContinueHandler;
    31   event = yield undefined;
    33   is(request.readyState, "done", "Correct readyState");
    34   is(event.target.result, key, "Correct key");
    36   request = objectStore.get(key);
    37   request.onerror = errorHandler;
    38   request.onsuccess = grabEventAndContinueHandler;
    39   is(request.readyState, "pending", "Correct readyState");
    40   event = yield undefined;
    42   ok(event.target.result, "Got something");
    43   is(request.readyState, "done", "Correct readyState");
    45   finishTest();
    46   yield undefined;
    47 }

mercurial