widget/nsIStandaloneNativeMenu.idl
author Brindusan Cristian <cbrindusan@mozilla.com>
Tue, 05 Mar 2019 22:42:15 +0200
changeset 520316 be4b780a7783cdf7d3ead37c98917dc0d2e94a1d
parent 469549 7f3223b376bb4f473b44e8d3d504df58b70652a0
permissions -rw-r--r--
Backed out 5 changesets (bug 1508976, bug 1522581) for android geckoview bustages at /usr/bin/python2.7. CLOSED TREE Backed out changeset 7a6be593b0be (bug 1522581) Backed out changeset c47b37ac1775 (bug 1522581) Backed out changeset 91c31d2a7706 (bug 1508976) Backed out changeset da57df805c56 (bug 1508976) Backed out changeset 4e5d97c93515 (bug 1508976)

/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

#include "nsISupports.idl"

webidl Element;

/**
 * Platform-independent interface to platform native menu objects.
 */

[scriptable, uuid(7F7201EB-510C-4CEF-BDF0-04A15A7A4A8C)]
interface nsIStandaloneNativeMenu : nsISupports
{
  /**
   * Initialize the native menu using given XUL DOM element.
   *
   * @param aDOMElement A XUL DOM element of tag type |menu| or |menupopup|.
   */
  void init(in Element aElement);

  /**
   * This method must be called before the menu is opened and displayed to the
   * user. It allows the platform code to update the menu and also determine
   * whether the menu should even be shown.
   *
   * @return true if the menu can be shown, false if it should not be shown
   */
  boolean menuWillOpen();

  /**
   * The native object representing the XUL menu that was passed to Init(). On
   * Mac OS X, this will be a NSMenu pointer, which will be retained and
   * autoreleased when the attribute is retrieved.
   */
  [noscript] readonly attribute voidPtr nativeMenu;

  /**
   * Activate the native menu item specified by |anIndexString|. This method
   * is intended to be used by the test suite.
   *
   * @param anIndexString string containing a list of indices separated by
   *        pipe ('|') characters
   */
  void activateNativeMenuItemAt(in AString anIndexString);

  /**
   * Force an update of the native menu item specified by |anIndexString|. This
   * method is intended to be used by the test suite.
   *
   * @param anIndexString string containing a list of indices separated by
   *        pipe ('|') characters
   */
  void forceUpdateNativeMenuAt(in AString anIndexString);
};