diff --git a/browser/api/lib/menu.coffee b/browser/api/lib/menu.coffee index 0fadb0bb92dd..2d753da3e6fd 100644 --- a/browser/api/lib/menu.coffee +++ b/browser/api/lib/menu.coffee @@ -10,6 +10,14 @@ Menu::popup = (window) -> popup.call this, window +insertSubMenu = Menu::insertSubMenu +Menu::insertSubMenu = (index, command_id, label, submenu) -> + throw new TypeError('Invalid menu') unless submenu?.constructor is Menu + + @menus = [] unless Array.isArray @menus + @menus.push submenu # prevent submenu from getting destroyed + insertSubMenu.apply this, arguments + Menu::appendItem = (args...) -> @insertItem -1, args... Menu::appendCheckItem = (args...) -> @insertCheckItem -1, args... Menu::appendRadioItem = (args...) -> @insertRadioItem -1, args...