cfx
Version:
programmatically use cfx with node.js
42 lines (32 loc) • 1.08 kB
JavaScript
/* 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/. */
;
module.metadata = {
'stability': 'unstable'
};
// NOTE: This file should only export Tab instances
const { getTabForContentWindow, getTabForBrowser: getRawTabForBrowser } = require('./utils');
const { Tab } = require('./tab');
const { rawTabNS } = require('./namespace');
function getTabForWindow(win) {
let tab = getTabForContentWindow(win);
// We were unable to find the related tab!
if (!tab)
return null;
return getTabForRawTab(tab) || Tab({ tab: tab });
}
exports.getTabForWindow = getTabForWindow;
// only works on fennec atm
function getTabForRawTab(rawTab) {
let tab = rawTabNS(rawTab).tab;
if (tab) {
return tab;
}
return null;
}
exports.getTabForRawTab = getTabForRawTab;
function getTabForBrowser(browser) {
return getTabForRawTab(getRawTabForBrowser(browser));
}
exports.getTabForBrowser = getTabForBrowser;