MDN may have intermittent access issues April 18 13:00 - April 19 01:00 UTC. See for all notifications.

Your Search Results


    The BrowserApp object is only available to privileged code running on Firefox for Android, and is intended for use by Firefox for Android add-ons.


    deck is a property of the BrowserApp object. It is a deck of all currently open browsers, represented as browser objects.

    Tab events

    Using the deck property, you can listen to three tab events: TabOpen, TabClose, and TabSelect. For all three events, the event's target is the browser hosted by that tab.

    Here's an add-on that uses the template "bootstrap.js" introduced in the Initialization and Cleanup guide and implements loadIntoWindow()to listen to all three of those tab events. Note that it also implements unloadFromWindow() to remove the listeners.

    var gWindow;
    function logTabOpen(event) {
      gWindow.console.log("Log_tabs: Opening new tab");
    function logTabClose(event) {
      let browser =;  
      gWindow.console.log("Log_tabs: Closing: " + browser.currentURI.spec);
    function logTabSelect(event) {
      let browser =;  
      gWindow.console.log("Log_tabs: Selecting: " + browser.currentURI.spec);
    function loadIntoWindow(window) {
      if (!window)
      gWindow = window;
      gWindow.console.log("Log_tabs: starting");
      window.BrowserApp.deck.addEventListener("TabOpen", logTabOpen, false);
      window.BrowserApp.deck.addEventListener("TabClose", logTabClose, false);
      window.BrowserApp.deck.addEventListener("TabSelect", logTabSelect, false);
    function unloadFromWindow(window) {
      if (!window)
      window.BrowserApp.deck.removeEventListener("TabOpen", logTabOpen, false);
      window.BrowserApp.deck.removeEventListener("TabClose", logTabClose, false);
      window.BrowserApp.deck.removeEventListener("TabSelect", logTabSelect, false);

    Document Tags and Contributors

    Contributors to this page: wbamberg
    Last updated by: wbamberg,
    Hide Sidebar