Join MDN and developers like you at Mozilla's View Source conference, 12-14 September in Berlin, Germany. Learn more at


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.


Returns a reference to the NativeWindow.contextmenus object, which can be used to add items to the Firefox for Android context menu, and subsequently remove them. You can add a menu item to the context menu using NativeWindow.contextmenus.add() and remove it using NativeWindow.contextmenus.remove().

To add a context menu item, you need to supply:

  • name : the name of the item that is displayed to the user
  • selector : determines when the item should be shown. You can use one of a number of predefined selectors, or define your own.
  • callback : a function that is called when the item is selected

NativeWindow.contextmenus.add() returns a menuID which you can subsequently pass into NativeWindow.contextmenus.remove() to remove the item.

A common pattern is for a restartless add-on to add and remove menu items in the add-on's bootstrap.js:

This ensures that the item is always present while the add-on is installed and enabled, and that it is cleaned up properly when the add-on is uninstalled or disabled. But note that bootstrap.js is not attached to a DOM window, so you need to get a window, for example using nsIWindowMediator, before you can use this pattern.


The following example adds a context menu item which is displayed when any element is selected. When the user selects the context menu item, it displays the HTML source for the element in a toast notification:NativeWindow-contextmenus.png

var menuID;

function loadIntoWindow(window) {    
  if (!window)    
  let label = "Show HTML";
  let selector =  window.NativeWindow.contextmenus.SelectorContext("*");
  menuID = window.NativeWindow.contextmenus.add(label, selector, function(target) { , "short");       
function unloadFromWindow(window) {    
  if (!window)    


Add a context menu item.
Remove a context menu item.

See also

Document Tags and Contributors

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