addon-sdk/test/browser_sdk_loader_chrome.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 function test () {
     2   let loader = makeLoader();
     3   let module = Module("./main", gTestPath);
     4   let require = Require(loader, module);
     6   const { Ci, Cc, Cu, components } = require("chrome");
     8   let { generateUUID } = Cc["@mozilla.org/uuid-generator;1"]
     9                          .getService(Ci.nsIUUIDGenerator);
    10   ok(isUUID(generateUUID()), "chrome.Cc and chrome.Ci works");
    12   let { ID: parseUUID } = components;
    13   let uuidString = "00001111-2222-3333-4444-555566667777";
    14   let parsed = parseUUID(uuidString);
    15   is(parsed, "{" + uuidString + "}", "chrome.components works");
    17   const { defer } = Cu.import("resource://gre/modules/Promise.jsm").Promise;
    18   let { promise, resolve } = defer();
    19   resolve(5);
    20   promise.then(val => {
    21     is(val, 5, "chrome.Cu works");
    22     finish();
    23   });
    24 }

mercurial