diff -r 000000000000 -r 6474c204b198 addon-sdk/source/lib/sdk/tabs/helpers.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/addon-sdk/source/lib/sdk/tabs/helpers.js Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,41 @@ +/* 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'; + +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;