Bug 1305458 Part5: Move form control frame focus/blur from nsGenericHTMLFormElement::GetEventTargetParent to PreHandleEvent. r=smaug
MozReview-Commit-ID: H8Zn5OdZpyt
This commit is contained in:
@@ -2042,6 +2042,18 @@ nsGenericHTMLFormElement::AfterSetAttr(int32_t aNameSpaceID, nsIAtom* aName,
|
||||
|
||||
nsresult
|
||||
nsGenericHTMLFormElement::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
{
|
||||
if (aVisitor.mEvent->IsTrusted() && (aVisitor.mEvent->mMessage == eFocus ||
|
||||
aVisitor.mEvent->mMessage == eBlur)) {
|
||||
// We have to handle focus/blur event to change focus states in
|
||||
// PreHandleEvent to prevent it breaks event target chain creation.
|
||||
aVisitor.mWantsPreHandleEvent = true;
|
||||
}
|
||||
return nsGenericHTMLElement::GetEventTargetParent(aVisitor);
|
||||
}
|
||||
|
||||
nsresult
|
||||
nsGenericHTMLFormElement::PreHandleEvent(EventChainVisitor& aVisitor)
|
||||
{
|
||||
if (aVisitor.mEvent->IsTrusted()) {
|
||||
switch (aVisitor.mEvent->mMessage) {
|
||||
@@ -2065,8 +2077,7 @@ nsGenericHTMLFormElement::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return nsGenericHTMLElement::GetEventTargetParent(aVisitor);
|
||||
return nsGenericHTMLElement::PreHandleEvent(aVisitor);
|
||||
}
|
||||
|
||||
/* virtual */
|
||||
|
||||
Reference in New Issue
Block a user