Bug 1455379 - ignore key elements without a key attribute, r=bz,gandalf

MozReview-Commit-ID: 4vv4CKp5v9V

--HG--
extra : rebase_source : 52d50c1e41808b59b8787c8087e2774f3d2f4394
This commit is contained in:
Gijs Kruitbosch 2018-04-20 12:48:20 +01:00
Родитель 5bb0fde6e9
Коммит 7affe98785
1 изменённых файлов: 5 добавлений и 4 удалений

Просмотреть файл

@ -207,13 +207,14 @@ BuildHandlerChain(nsIContent* aContent, nsXBLPrototypeHandler** aResult)
// Such element is used by localizers for alternative shortcut key
// definition on the locale. See bug 426501.
nsAutoString valKey, valCharCode, valKeyCode;
bool attrExists =
keyElement->GetAttr(kNameSpaceID_None, nsGkAtoms::key, valKey) ||
// Hopefully at least one of the attributes is set:
keyElement->GetAttr(kNameSpaceID_None, nsGkAtoms::key, valKey) ||
keyElement->GetAttr(kNameSpaceID_None, nsGkAtoms::charcode, valCharCode) ||
keyElement->GetAttr(kNameSpaceID_None, nsGkAtoms::keycode, valKeyCode);
if (attrExists &&
valKey.IsEmpty() && valCharCode.IsEmpty() && valKeyCode.IsEmpty())
// If not, ignore this key element.
if (valKey.IsEmpty() && valCharCode.IsEmpty() && valKeyCode.IsEmpty()) {
continue;
}
// reserved="pref" is the default for <key> elements.
XBLReservedKey reserved = XBLReservedKey_Unset;