Call PerformAccesskey() on the controlled element in case it's not a nsIDOMXULElement. b=400774 r=surkov.alexander sr=jst a=dsicore
git-svn-id: svn://10.0.0.236/trunk@239116 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
@@ -631,19 +631,23 @@ nsXULElement::PerformAccesskey(PRBool aKeyCausesActivation,
|
||||
return;
|
||||
|
||||
nsCOMPtr<nsIDOMXULElement> elm(do_QueryInterface(content));
|
||||
|
||||
// Define behavior for each type of XUL element.
|
||||
nsIAtom *tag = content->Tag();
|
||||
if (tag == nsGkAtoms::textbox || tag == nsGkAtoms::menulist) {
|
||||
// if it's a text box or menulist, give it focus
|
||||
elm->Focus();
|
||||
} else if (tag == nsGkAtoms::toolbarbutton) {
|
||||
// if it's a toolbar button, just click
|
||||
elm->Click();
|
||||
} else {
|
||||
// otherwise, focus and click in it
|
||||
elm->Focus();
|
||||
elm->Click();
|
||||
if (elm) {
|
||||
// Define behavior for each type of XUL element.
|
||||
nsIAtom *tag = content->Tag();
|
||||
if (tag == nsGkAtoms::textbox || tag == nsGkAtoms::menulist) {
|
||||
// if it's a text box or menulist, give it focus
|
||||
elm->Focus();
|
||||
} else if (tag == nsGkAtoms::toolbarbutton) {
|
||||
// if it's a toolbar button, just click
|
||||
elm->Click();
|
||||
} else {
|
||||
// otherwise, focus and click in it
|
||||
elm->Focus();
|
||||
elm->Click();
|
||||
}
|
||||
}
|
||||
else {
|
||||
content->PerformAccesskey(aKeyCausesActivation, aIsTrustedEvent);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user