diff options
author | Matt A. Tobin <email@mattatobin.com> | 2018-02-10 02:51:36 -0500 |
---|---|---|
committer | Matt A. Tobin <email@mattatobin.com> | 2018-02-10 02:51:36 -0500 |
commit | 37d5300335d81cecbecc99812747a657588c63eb (patch) | |
tree | 765efa3b6a56bb715d9813a8697473e120436278 /addon-sdk/source/test/addons/private-browsing-supported/test-windows.js | |
parent | b2bdac20c02b12f2057b9ef70b0a946113a00e00 (diff) | |
parent | 4fb11cd5966461bccc3ed1599b808237be6b0de9 (diff) | |
download | UXP-37d5300335d81cecbecc99812747a657588c63eb.tar UXP-37d5300335d81cecbecc99812747a657588c63eb.tar.gz UXP-37d5300335d81cecbecc99812747a657588c63eb.tar.lz UXP-37d5300335d81cecbecc99812747a657588c63eb.tar.xz UXP-37d5300335d81cecbecc99812747a657588c63eb.zip |
Merge branch 'ext-work'
Diffstat (limited to 'addon-sdk/source/test/addons/private-browsing-supported/test-windows.js')
-rw-r--r-- | addon-sdk/source/test/addons/private-browsing-supported/test-windows.js | 240 |
1 files changed, 0 insertions, 240 deletions
diff --git a/addon-sdk/source/test/addons/private-browsing-supported/test-windows.js b/addon-sdk/source/test/addons/private-browsing-supported/test-windows.js deleted file mode 100644 index ce4e69cae..000000000 --- a/addon-sdk/source/test/addons/private-browsing-supported/test-windows.js +++ /dev/null @@ -1,240 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -'use strict'; - -const { Cc, Ci } = require('chrome'); -const { isPrivate } = require('sdk/private-browsing'); -const { isWindowPBSupported } = require('sdk/private-browsing/utils'); -const { onFocus, getMostRecentWindow, getWindowTitle, getInnerId, - getFrames, windows, open: openWindow, isWindowPrivate } = require('sdk/window/utils'); -const { open, close, focus, promise } = require('sdk/window/helpers'); -const { browserWindows } = require("sdk/windows"); -const winUtils = require("sdk/deprecated/window-utils"); -const { fromIterator: toArray } = require('sdk/util/array'); -const tabs = require('sdk/tabs'); -const { cleanUI } = require('sdk/test/utils'); - -const WM = Cc['@mozilla.org/appshell/window-mediator;1'].getService(Ci.nsIWindowMediator); - -const BROWSER = 'chrome://browser/content/browser.xul'; - -function makeEmptyBrowserWindow(options) { - options = options || {}; - return open(BROWSER, { - features: { - chrome: true, - private: !!options.private - } - }).then(focus); -} - -exports.testWindowTrackerIgnoresPrivateWindows = function(assert, done) { - var myNonPrivateWindowId, myPrivateWindowId; - var privateWindowClosed = false; - var privateWindowOpened = false; - var trackedWindowIds = []; - - let wt = winUtils.WindowTracker({ - onTrack: function(window) { - let id = getInnerId(window); - trackedWindowIds.push(id); - }, - onUntrack: function(window) { - let id = getInnerId(window); - if (id === myPrivateWindowId) { - privateWindowClosed = true; - } - - if (id === myNonPrivateWindowId) { - assert.equal(privateWindowClosed, true, 'private window was untracked'); - wt.unload(); - done(); - } - } - }); - - // make a new private window - makeEmptyBrowserWindow({ private: true }).then(function(window) { - myPrivateWindowId = getInnerId(window); - - assert.ok(trackedWindowIds.indexOf(myPrivateWindowId) >= 0, 'private window was tracked'); - assert.equal(isPrivate(window), isWindowPBSupported, 'private window isPrivate'); - assert.equal(isWindowPrivate(window), isWindowPBSupported); - assert.ok(getFrames(window).length > 1, 'there are frames for private window'); - assert.equal(getWindowTitle(window), window.document.title, - 'getWindowTitle works'); - - return close(window).then(function() { - assert.pass('private window was closed'); - - return makeEmptyBrowserWindow().then(function(window) { - myNonPrivateWindowId = getInnerId(window); - assert.notEqual(myPrivateWindowId, myNonPrivateWindowId, 'non private window was opened'); - return close(window); - }); - }); - }).then(null, assert.fail); -}; - -// Test setting activeWIndow and onFocus for private windows -exports.testSettingActiveWindowDoesNotIgnorePrivateWindow = function(assert, done) { - let browserWindow = WM.getMostRecentWindow("navigator:browser"); - let testSteps; - - assert.equal(winUtils.activeBrowserWindow, browserWindow, - "Browser window is the active browser window."); - assert.ok(!isPrivate(browserWindow), "Browser window is not private."); - - // make a new private window - makeEmptyBrowserWindow({ - private: true - }).then(function(window) { - let continueAfterFocus = window => onFocus(window).then(nextTest); - - // PWPB case - if (isWindowPBSupported) { - assert.ok(isPrivate(window), "window is private"); - assert.notStrictEqual(winUtils.activeBrowserWindow, browserWindow); - } - // Global case - else { - assert.ok(!isPrivate(window), "window is not private"); - } - - assert.strictEqual(winUtils.activeBrowserWindow, window, - "Correct active browser window pb supported"); - assert.notStrictEqual(browserWindow, window, - "The window is not the old browser window"); - - testSteps = [ - function() { - // test setting a non private window - continueAfterFocus(winUtils.activeWindow = browserWindow); - }, - function() { - assert.strictEqual(winUtils.activeWindow, browserWindow, - "Correct active window [1]"); - assert.strictEqual(winUtils.activeBrowserWindow, browserWindow, - "Correct active browser window [1]"); - - // test focus(window) - focus(window).then(nextTest); - }, - function(w) { - assert.strictEqual(w, window, 'require("sdk/window/helpers").focus on window works'); - assert.strictEqual(winUtils.activeBrowserWindow, window, - "Correct active browser window [2]"); - assert.strictEqual(winUtils.activeWindow, window, - "Correct active window [2]"); - - // test setting a private window - continueAfterFocus(winUtils.activeWindow = window); - }, - function() { - assert.strictEqual(winUtils.activeBrowserWindow, window, - "Correct active browser window [3]"); - assert.strictEqual(winUtils.activeWindow, window, - "Correct active window [3]"); - - // just to get back to original state - continueAfterFocus(winUtils.activeWindow = browserWindow); - }, - function() { - assert.strictEqual(winUtils.activeBrowserWindow, browserWindow, - "Correct active browser window when pb mode is supported [4]"); - assert.strictEqual(winUtils.activeWindow, browserWindow, - "Correct active window when pb mode is supported [4]"); - - close(window).then(done).then(null, assert.fail); - } - ]; - - function nextTest() { - let args = arguments; - if (testSteps.length) { - require('sdk/timers').setTimeout(function() { - (testSteps.shift()).apply(null, args); - }, 0); - } - } - nextTest(); - }); -}; - -exports.testActiveWindowDoesNotIgnorePrivateWindow = function*(assert) { - // make a new private window - let window = yield makeEmptyBrowserWindow({ - private: true - }); - - // PWPB case - if (isWindowPBSupported) { - assert.equal(isPrivate(winUtils.activeWindow), true, - "active window is private"); - assert.equal(isPrivate(winUtils.activeBrowserWindow), true, - "active browser window is private"); - assert.ok(isWindowPrivate(window), "window is private"); - assert.ok(isPrivate(window), "window is private"); - - // pb mode is supported - assert.ok( - isWindowPrivate(winUtils.activeWindow), - "active window is private when pb mode is supported"); - assert.ok( - isWindowPrivate(winUtils.activeBrowserWindow), - "active browser window is private when pb mode is supported"); - assert.ok(isPrivate(winUtils.activeWindow), - "active window is private when pb mode is supported"); - assert.ok(isPrivate(winUtils.activeBrowserWindow), - "active browser window is private when pb mode is supported"); - } - - yield cleanUI(); -} - -exports.testWindowIteratorIgnoresPrivateWindows = function*(assert) { - // make a new private window - let window = yield makeEmptyBrowserWindow({ - private: true - }); - - assert.equal(isWindowPrivate(window), isWindowPBSupported); - assert.ok(toArray(winUtils.windowIterator()).indexOf(window) > -1, - "window is in windowIterator()"); - - yield cleanUI(); -}; - -// test that it is not possible to find a private window in -// windows module's iterator -exports.testWindowIteratorPrivateDefault = function(assert, done) { - // there should only be one window open here, if not give us the - // the urls - if (browserWindows.length > 1) { - for (let tab of tabs) { - assert.fail("TAB URL: " + tab.url); - } - } - else { - assert.equal(browserWindows.length, 1, 'only one window open'); - } - - open('chrome://browser/content/browser.xul', { - features: { - private: true, - chrome: true - } - }).then(focus).then(function(window) { - // test that there is a private window opened - assert.equal(isPrivate(window), isWindowPBSupported, 'there is a private window open'); - assert.equal(isPrivate(winUtils.activeWindow), isWindowPBSupported); - assert.equal(isPrivate(getMostRecentWindow()), isWindowPBSupported); - assert.equal(isPrivate(browserWindows.activeWindow), isWindowPBSupported); - - assert.equal(browserWindows.length, 2, '2 windows open'); - assert.equal(windows(null, { includePrivate: true }).length, 2); - - return close(window); - }).then(done).then(null, assert.fail); -}; |