tabBrowser

This class simplifies the access to tab related elements and functions in the browser window.

Method overview

tabBrowser(in MozMillController controller);
closeAllTabs();
closeTab(in object event);
ElemBase getElement(in object spec);
ElemBase getTab(in number index);
ElemBase getTabPanelElement(in number tabIndex, in string elemString);
openTab(in object event);

Attributes

Attribute Type Description
controller MozMillController Controller of the browser window to work on.
length number Number of open tabs.
selectedIndex number Get or set the current tab index.

Methods

tabBrowser()

Constructor of the class.

tabBrowser(
  in MozMillController controller
);
Parameters
controller
Mozmill controller of the browser window to operate on.

closeAllTabs()

Closes all the window's tabs, leaving only a single tab containing a blank page.

closeAllTabs();
Parameters

None.

closeTab()

Closes an open tab.

closeTab(
  in object event
);
Parameters
event
The event to use to close the tab. The following values are supported:
event.type (string) Description
"closeButton" Use the close button of the tab.
"menu" Use the menu.
"middleClick"
Synthesize a middleClick on the tab itself.
"shortcut"
Use the keyboard shortcut.

getElement()

Retrieves a UI element based on the given spec object.

ElemBase getElement(
  in object spec
);
Parameters
spec
JSON object which specifies the element to retrieve. Use its attributes to specify the exact element. This example shows the correct usage.
spec.type  (string)
spec.subtype (string) spec.value (mixed) Description
"tabs" -
-
Get the tabs element.
"tabs_allTabsButton" -
-
Get the All Tabs button element.
"tabs_allTabsPopup" -
-
Get the All Tabs popup element.
"tabs_animateBox" -
-
Get the tabs animation box element.
"tabs_container" -
-
Get the tabs container element.
"tabs_newTabButton" -
-
Get the New Tab button element.
"tabs_scrollButton" "up"
-
Get the left tab scroll button element.
"tabs_scrollButton" "down" - Get the right tab scroll button element.
"tabs_strip" - - Get the tab strip element.
"tabs_tab" "index" index (number) Get the tab element with the specified index.
"tabs_tabCloseButton" - tab (ElemBase) Get the close button element of the specified tab.
"tabs_tabFavicon" - tab (ElemBase) Get the favicon element of the specified tab.
"tabs_tabPanel" - tab (ElemBase) Get the notification bar element of the specified tab.
Return value

ElemBase instance of the requested element which matches the specifications.

getTab()

Returns the tab at the specified index.

ElemBase getTab(
in number index
);
Parameters
index
Index of the tab.
Return value

ElemBase instance of the requested tab.

getTabPanelElement()

Gets the notification bar or a child specified by an element lookup string.

ElemBase getTabPanelElement(
in number tabIndex,
in string elemString
);
Parameters
tabIndex
Index of the tab.
elemString
Element lookup string of the notification bar's child node. This parameter is optional.

openTab()

Opens a new tab.

openTab(
  in object event
);
Parameters
event
Event which specifies how the tab will be closed. The following values are supported:
event.type (string) Description
"menu" Use the menu.
"shortcut" Use the keyboard shortcut.
"newTabButton"
Use the New Tab button at the end of the tab bar.
"tabStrip"
Synthesize a middleClick on the tab strip.

Examples

// Include necessary modules
var RELATIVE_ROOT = '../../shared-modules';
var MODULE_REQUIRES = ['TabbedBrowsingAPI'];

var setupModule = function(module)
{
  controller = mozmill.getBrowserController();
  tabBrowser = new TabbedBrowsingAPI.tabBrowser(controller);
}

var testOpenCloseTab = function()
{
  // Open a new tab by clicking on the new tab button
  tabBrowser.openTab({type: "newTabButton"});

  // Get the favicon of the first tab
  var firstTab = tabBrowser.getElement({type: "tabs_tab", subtype: "index", value: 0});
  var favicon = tabBrowser.getElement({type: "tabs_tabFavicon", value: firstTab});

  // Select the first tab and click the close button
  tabBrowser.selectedIndex = 0;
  tabBrowser.closeTab({type: "closeButton"});
}

 

Document Tags and Contributors

Contributors to this page: Whimboo, Sheppy
Last updated by: Sheppy,