addon-sdk/source/test/fixtures/jsm-package/index.js

Thu, 15 Jan 2015 15:59:08 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 15 Jan 2015 15:59:08 +0100
branch
TOR_BUG_9701
changeset 10
ac0c01689b40
permissions
-rw-r--r--

Implement a real Private Browsing Mode condition by changing the API/ABI;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.

     1 /* This Source Code Form is subject to the terms of the Mozilla Public
     2  * License, v. 2.0. If a copy of the MPL was not distributed with this
     3  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
     5 'use strict';
     7 let { Test } = require('./Test.jsm');
     8 let { Test: Test2 } = require('./Test.jsm');
     9 exports.localJSM = Test.square(16) === 256;
    10 exports.localJSMCached = Test === Test2;
    12 (function () {
    13 let { Promise } = require('resource://gre/modules/Promise.jsm');
    14 let { defer } = require('resource://gre/modules/Promise.jsm').Promise;
    16 exports.isCachedAbsolute = Promise.defer === defer;
    18 exports.isLoadedAbsolute = function (val) {
    19   let { promise, resolve } = Promise.defer();
    20   resolve(val);
    21   return promise;
    22 };
    23 })();
    25 (function () {
    26 let { Promise } = require('modules/Promise.jsm');
    27 let { defer } = require('modules/Promise.jsm').Promise;
    28 exports.isCachedPath = Promise.defer === defer;
    30 exports.isLoadedPath = function (val) {
    31   let { promise, resolve } = Promise.defer();
    32   resolve(val);
    33   return promise;
    34 };
    35 })();
    37 (function () {
    38 let { defer } = require('resource://gre/modules/commonjs/sdk/core/promise.js');
    39 let { defer: defer2 } = require('resource://gre/modules/commonjs/sdk/core/promise.js');
    40 exports.isCachedJSAbsolute = defer === defer2;
    41 exports.isLoadedJSAbsolute = function (val) {
    42   let { promise, resolve } = defer();
    43   resolve(val);
    44   return promise;
    45 };
    46 })();

mercurial