The NativeWindow object is only available to privileged code running on Firefox for Android, and is intended for use by Firefox for Android add-ons.
Summary
NativeWindow.menu.add()
adds a new item to the main menu in Firefox for Android. By specifying an optional parent
attribute, a menu item can be added to the submenu of the parent.
Syntax
var menuID = window.NativeWindow.menu.add(options);
options
- Javascript object specifying a set of attributes for the item. The current set of supported options are:
name
- The string displayed by the menu item.callback
- The function to be called when the item is selected. It is called with no arguments.checkable
- Boolean specifying whether the item should be checkable.parent
- The ID of the parent menu item which will show this menu item in a submenu. This argument is needed only if the menu item has to be displayed inside a submenu.- You can add a menu item to the Tools menu by setting
NativeWindow.menu.toolsMenuID
as the parent ID.
- You can add a menu item to the Tools menu by setting
Returns
- menuID
- An identifier for the menu item. This may be used to remove the item using
NativeWindow.menu.remove().
Example
Example 1: Main level menu item
The following example adds a menu item with the name "Show Toast," which displays a toast notification when clicked:
function showToast(window) { window.NativeWindow.toast.show("Showing you a toast", "short"); } var menuID; function addMenuItem(window) { menuID = window.NativeWindow.menu.add({ name: "Show Toast", callback: function(){ showToast(window); } }); } function removeMenuItem(window) { window.NativeWindow.menu.remove(menuID); }
Example 2: Menu item with a submenu
The following example adds a menu item with the name "Rotate Phone" which displays a submenu with two options when clicked:
var parentID; var leftID; var rightID; function addMenuItem(window) { parentID = window.NativeWindow.menu.add({ name: "Rotate Phone" )); } // Add submenu. function addSubMenuItems(window, parent) { leftID = window.NativeWindow.menu.add({ name: "Left", parent: parentID, callback: function() { rotateLeft(); }, }); rightID = window.NativeWindow.menu.add({ name: "Right", parent: parentID, callback: function() { rotateRight(); }, }); }
Example 3: Checkable menu item
The following example adds a menu item with the label "Desktop Mode" which can be toggled.
var menuID; var isChecked = false; function addMenuItem(window) { menuID = window.NativeWindow.menu.add({ name: "Desktop Mode", checkable: true, // specifies the toggling behavior of the item. callback: function(){ toggleWindow(window); }); } function toggleWindow(window) { isChecked = !isChecked; window.NativeWindow.menu.update(menuID, { checked: isChecked // updates the checked state of the item. }); }
Document Tags and Contributors
Tags:
Contributors to this page:
wbamberg,
leibovic,
Noitidart,
ispedals,
gal007,
kscarfone,
MarkFinkle,
sriramramani,
Joshua-S
Last updated by:
wbamberg,