The `tab-browser` module is a low-level API that provides privileged
access to browser tab events and actions.
Introduction
------------
The `tab-browser` module contains helpers for tracking tabbrowser elements
and tabs, as well as a few utilities for actions such as opening a new
tab, and catching all tab content loads.
This is a low-level API that has full privileges, and is intended to be used
by SDK internal modules. If you just need easy access to tab events for your
add-on, use the Tabs module (JEP 110).
@property {element}
The XUL tab element of the currently active tab.
@function
Adds a new tab.
**Example**
var tabBrowser = require("tab-browser");
tabBrowser.addTab("http://google.com");
var tabBrowser = require("tab-browser");
tabBrowser.addTab("http://google.com", {
inBackground: true
});
var tabBrowser = require("tab-browser");
tabBrowser.addTab("http://google.com", {
inNewWindow: true,
onLoad: function(tab) {
console.log("tab is open.");
}
});
@returns {element}
The XUL tab element of the newly created tab.
@param URL {string}
The URL to be opened in the new tab.
@param options {object}
Options for how and where to open the new tab.
@prop [inNewWindow] {boolean}
An optional parameter whose key can be set in `options`.
If true, the tab is opened in a new window. Default is false.
@prop [inBackground] {boolean}
An optional parameter whose key can be set in `options`.
If true, the tab is opened adjacent to the active tab, but not
switched to. Default is false.
@prop [onLoad] {function}
An optional parameter whose key can be set in `options`.
A callback function that is called once the tab has loaded.
The XUL element for the tab is passed as a parameter to
this function.
@function
Register a delegate object to be notified when tabbrowsers are created
and destroyed.
The onTrack method will be called once per pre-existing tabbrowser, upon
tracker registration.
**Example**
var tabBrowser = require("tab-browser");
let tracker = {
onTrack: function(tabbrowser) {
console.log("A new tabbrowser is being tracked.");
},
onUntrack: function(tabbrowser) {
console.log("A tabbrowser is no longer being tracked.");
}
};
tabBrowser.Tracker(tracker);
@param delegate {object}
Delegate object to be notified each time a tabbrowser is created or destroyed.
The object should contain the following methods:
@prop [onTrack] {function}
Method of delegate that is called when a new tabbrowser starts to be tracked.
The tabbrowser element is passed as a parameter to this method.
@prop [onUntrack] {function}
Method of delegate that is called when a tabbrowser stops being tracked.
The tabbrowser element is passed as a parameter to this method.
@function
Register a delegate object to be notified when tabs are opened and closed.
The onTrack method will be called once per pre-existing tab, upon
tracker registration.
**Example**
var tabBrowser = require("tab-browser");
let tracker = {
onTrack: function(tab) {
console.log("A new tab is being tracked.");
},
onUntrack: function(tab) {
console.log("A tab is no longer being tracked.");
}
};
tabBrowser.TabTracker(tracker);
@param delegate {object}
Delegate object to be notified each time a tab is opened or closed.
The object should contain the following methods:
@prop [onTrack] {function}
Method of delegate that is called when a new tab starts to be tracked.
The tab element is passed as a parameter to this method.
@prop [onUntrack] {function}
Method of delegate that is called when a tab stops being tracked.
The tab element is passed as a parameter to this method.