nsresult HTMLTextAreaElement::PreHandleEvent(EventChainVisitor& aVisitor) { if (aVisitor.mEvent->mMessage == eBlur) { // Fire onchange (if necessary), before we do the blur, bug 370521. FireChangeEventIfNeeded(); } return nsGenericHTMLFormElementWithState::PreHandleEvent(aVisitor); }
nsresult HTMLTextAreaElement::PreHandleEvent(nsEventChainPreVisitor& aVisitor) { aVisitor.mCanHandle = false; if (IsDisabledForEvents(aVisitor.mEvent->message)) { return NS_OK; } // Don't dispatch a second select event if we are already handling // one. if (aVisitor.mEvent->message == NS_FORM_SELECTED) { if (mHandlingSelect) { return NS_OK; } mHandlingSelect = true; } // If noContentDispatch is true we will not allow content to handle // this event. But to allow middle mouse button paste to work we must allow // middle clicks to go to text fields anyway. if (aVisitor.mEvent->mFlags.mNoContentDispatch) { aVisitor.mItemFlags |= NS_NO_CONTENT_DISPATCH; } if (aVisitor.mEvent->message == NS_MOUSE_CLICK && aVisitor.mEvent->eventStructType == NS_MOUSE_EVENT && static_cast<nsMouseEvent*>(aVisitor.mEvent)->button == nsMouseEvent::eMiddleButton) { aVisitor.mEvent->mFlags.mNoContentDispatch = false; } // Fire onchange (if necessary), before we do the blur, bug 370521. if (aVisitor.mEvent->message == NS_BLUR_CONTENT) { FireChangeEventIfNeeded(); } return nsGenericHTMLFormElement::PreHandleEvent(aVisitor); }
nsresult HTMLTextAreaElement::PreHandleEvent(EventChainPreVisitor& aVisitor) { aVisitor.mCanHandle = false; if (IsDisabledForEvents(aVisitor.mEvent->mMessage)) { return NS_OK; } // Don't dispatch a second select event if we are already handling // one. if (aVisitor.mEvent->mMessage == eFormSelect) { if (mHandlingSelect) { return NS_OK; } mHandlingSelect = true; } // If noContentDispatch is true we will not allow content to handle // this event. But to allow middle mouse button paste to work we must allow // middle clicks to go to text fields anyway. if (aVisitor.mEvent->mFlags.mNoContentDispatch) { aVisitor.mItemFlags |= NS_NO_CONTENT_DISPATCH; } if (aVisitor.mEvent->mMessage == eMouseClick && aVisitor.mEvent->AsMouseEvent()->button == WidgetMouseEvent::eMiddleButton) { aVisitor.mEvent->mFlags.mNoContentDispatch = false; } // Fire onchange (if necessary), before we do the blur, bug 370521. if (aVisitor.mEvent->mMessage == eBlur) { FireChangeEventIfNeeded(); } return nsGenericHTMLFormElementWithState::PreHandleEvent(aVisitor); }