michael@0: 'use strict'; michael@0: michael@0: const tabs = require('sdk/tabs'); michael@0: const { isPrivate } = require('sdk/private-browsing'); michael@0: const pbUtils = require('sdk/private-browsing/utils'); michael@0: const { getOwnerWindow } = require('sdk/private-browsing/window/utils'); michael@0: michael@0: exports.testPrivateTabsAreListed = function (assert, done) { michael@0: let originalTabCount = tabs.length; michael@0: michael@0: tabs.open({ michael@0: url: 'about:blank', michael@0: isPrivate: true, michael@0: onOpen: function(tab) { michael@0: let win = getOwnerWindow(tab); michael@0: // PWPB case michael@0: if (pbUtils.isWindowPBSupported || pbUtils.isTabPBSupported) { michael@0: assert.ok(isPrivate(tab), "tab is private"); michael@0: assert.equal(tabs.length, originalTabCount + 1, michael@0: 'New private window\'s tab are visible in tabs list'); michael@0: } michael@0: else { michael@0: // Global case, openDialog didn't opened a private window/tab michael@0: assert.ok(!isPrivate(tab), "tab isn't private"); michael@0: assert.equal(tabs.length, originalTabCount + 1, michael@0: 'New non-private window\'s tab is visible in tabs list'); michael@0: } michael@0: michael@0: tab.close(done); michael@0: } michael@0: }); michael@0: }; michael@0: