зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1285225 - Set accesskey and disabled properties on menuitems with submenus in Menu API;r=jdescottes
MozReview-Commit-ID: GN9j5pEn3cH
This commit is contained in:
Родитель
4a6222d06c
Коммит
f3214d3c0b
|
@ -104,6 +104,15 @@ Menu.prototype._createMenuItems = function (parent) {
|
|||
let menu = doc.createElement("menu");
|
||||
menu.appendChild(menupopup);
|
||||
menu.setAttribute("label", item.label);
|
||||
if (item.disabled) {
|
||||
menu.setAttribute("disabled", "true");
|
||||
}
|
||||
if (item.accesskey) {
|
||||
menu.setAttribute("accesskey", item.accesskey);
|
||||
}
|
||||
if (item.id) {
|
||||
menu.id = item.id;
|
||||
}
|
||||
parent.appendChild(menu);
|
||||
} else if (item.type === "separator") {
|
||||
let menusep = doc.createElement("menuseparator");
|
||||
|
|
|
@ -130,6 +130,13 @@ function* testSubmenu(toolbox) {
|
|||
label: "Submenu parent",
|
||||
submenu: submenu,
|
||||
}));
|
||||
menu.append(new MenuItem({
|
||||
label: "Submenu parent with attributes",
|
||||
id: "submenu-parent-with-attrs",
|
||||
submenu: submenu,
|
||||
accesskey: "A",
|
||||
disabled: true,
|
||||
}));
|
||||
|
||||
menu.popup(0, 0, toolbox);
|
||||
ok(toolbox.doc.querySelector("#menu-popup"), "A popup is in the DOM");
|
||||
|
@ -137,8 +144,13 @@ function* testSubmenu(toolbox) {
|
|||
"No menuitem children");
|
||||
|
||||
let menus = toolbox.doc.querySelectorAll("#menu-popup > menu");
|
||||
is(menus.length, 1, "Correct number of menus");
|
||||
is(menus.length, 2, "Correct number of menus");
|
||||
is(menus[0].getAttribute("label"), "Submenu parent", "Correct label");
|
||||
ok(!menus[0].hasAttribute("disabled"), "Correct disabled state");
|
||||
|
||||
is(menus[1].getAttribute("accesskey"), "A", "Correct accesskey");
|
||||
ok(menus[1].hasAttribute("disabled"), "Correct disabled state");
|
||||
ok(menus[1].id, "submenu-parent-with-attrs", "Correct id");
|
||||
|
||||
let subMenuItems = menus[0].querySelectorAll("menupopup > menuitem");
|
||||
is(subMenuItems.length, 1, "Correct number of submenu items");
|
||||
|
|
Загрузка…
Ссылка в новой задаче