addon-sdk/source/test/addons/private-browsing-supported/test-tabs.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 'use strict';
     3 const tabs = require('sdk/tabs');
     4 const { isPrivate } = require('sdk/private-browsing');
     5 const pbUtils = require('sdk/private-browsing/utils');
     6 const { getOwnerWindow } = require('sdk/private-browsing/window/utils');
     8 exports.testPrivateTabsAreListed = function (assert, done) {
     9   let originalTabCount = tabs.length;
    11   tabs.open({
    12     url: 'about:blank',
    13     isPrivate: true,
    14     onOpen: function(tab) {
    15       let win = getOwnerWindow(tab);
    16       // PWPB case
    17       if (pbUtils.isWindowPBSupported || pbUtils.isTabPBSupported) {
    18         assert.ok(isPrivate(tab), "tab is private");
    19         assert.equal(tabs.length, originalTabCount + 1,
    20                      'New private window\'s tab are visible in tabs list');
    21       }
    22       else {
    23       // Global case, openDialog didn't opened a private window/tab
    24         assert.ok(!isPrivate(tab), "tab isn't private");
    25         assert.equal(tabs.length, originalTabCount + 1,
    26                      'New non-private window\'s tab is visible in tabs list');
    27       }
    29       tab.close(done);
    30     }
    31   });
    32 };

mercurial