mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-10-18 13:17:29 +09:00
import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo
This commit is contained in:
commit
dcd9973243
150858 changed files with 23884658 additions and 0 deletions
65
addon-sdk/source/test/addons/e10s/lib/main.js
Normal file
65
addon-sdk/source/test/addons/e10s/lib/main.js
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
/* 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 { getMostRecentBrowserWindow, isBrowser } = require('sdk/window/utils');
|
||||
const { promise: windowPromise, close, focus } = require('sdk/window/helpers');
|
||||
const { openTab, closeTab, getBrowserForTab } = require('sdk/tabs/utils');
|
||||
const { WindowTracker } = require('sdk/deprecated/window-utils');
|
||||
const { version, platform } = require('sdk/system');
|
||||
const { when } = require('sdk/system/unload');
|
||||
const tabs = require('sdk/tabs');
|
||||
|
||||
const SKIPPING_TESTS = {
|
||||
"test skip": (assert) => assert.pass("nothing to test here")
|
||||
};
|
||||
|
||||
exports.testTabIsRemote = function(assert, done) {
|
||||
const url = 'data:text/html,test-tab-is-remote';
|
||||
let tab = openTab(getMostRecentBrowserWindow(), url);
|
||||
assert.ok(tab.linkedBrowser.isRemoteBrowser, "The new tab should be remote");
|
||||
|
||||
// can't simply close a remote tab before it is loaded, bug 1006043
|
||||
let mm = getBrowserForTab(tab).messageManager;
|
||||
mm.addMessageListener('7', function listener() {
|
||||
mm.removeMessageListener('7', listener);
|
||||
tabs.once('close', done);
|
||||
closeTab(tab);
|
||||
})
|
||||
mm.loadFrameScript('data:,sendAsyncMessage("7")', true);
|
||||
}
|
||||
|
||||
// run e10s tests only on builds from trunk, fx-team, Nightly..
|
||||
if (!version.endsWith('a1')) {
|
||||
module.exports = {};
|
||||
}
|
||||
|
||||
function replaceWindow(remote) {
|
||||
let next = null;
|
||||
let old = getMostRecentBrowserWindow();
|
||||
let promise = new Promise(resolve => {
|
||||
let tracker = WindowTracker({
|
||||
onTrack: window => {
|
||||
if (window !== next)
|
||||
return;
|
||||
resolve(window);
|
||||
tracker.unload();
|
||||
}
|
||||
});
|
||||
})
|
||||
next = old.OpenBrowserWindow({ remote });
|
||||
return promise.then(focus).then(_ => close(old));
|
||||
}
|
||||
|
||||
// bug 1054482 - e10s test addons time out on linux
|
||||
if (platform === 'linux') {
|
||||
module.exports = SKIPPING_TESTS;
|
||||
require('sdk/test/runner').runTestsFromModule(module);
|
||||
}
|
||||
else {
|
||||
replaceWindow(true).then(_ =>
|
||||
require('sdk/test/runner').runTestsFromModule(module));
|
||||
|
||||
when(_ => replaceWindow(false));
|
||||
}
|
||||
10
addon-sdk/source/test/addons/e10s/package.json
Normal file
10
addon-sdk/source/test/addons/e10s/package.json
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"name": "e10s",
|
||||
"title": "e10s",
|
||||
"id": "jid1-DYaXFHAPlHwbgw@jetpack",
|
||||
"description": "a basic e10s test add-on",
|
||||
"author": "Tomislav Jovanovic",
|
||||
"license": "MPL-2.0",
|
||||
"version": "0.1.0",
|
||||
"main": "./lib/main.js"
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue