diff options
author | athenian200 <athenian200@outlook.com> | 2020-05-21 01:31:48 -0500 |
---|---|---|
committer | wolfbeast <mcwerewolf@wolfbeast.com> | 2020-05-23 16:12:59 +0200 |
commit | a3124c55a13fba4877e0eaa7a6b31f17832b6ce1 (patch) | |
tree | ed44abb0edc3aa974e7bb933da244409c985ced5 /dom/html/nsGenericHTMLElement.cpp | |
parent | c4ed56660230a124fa3457cd5f789e78a3188515 (diff) | |
download | UXP-a3124c55a13fba4877e0eaa7a6b31f17832b6ce1.tar UXP-a3124c55a13fba4877e0eaa7a6b31f17832b6ce1.tar.gz UXP-a3124c55a13fba4877e0eaa7a6b31f17832b6ce1.tar.lz UXP-a3124c55a13fba4877e0eaa7a6b31f17832b6ce1.tar.xz UXP-a3124c55a13fba4877e0eaa7a6b31f17832b6ce1.zip |
Issue #1557 - Allow event dispatch on disabled form controls. (uplift)
Diffstat (limited to 'dom/html/nsGenericHTMLElement.cpp')
-rw-r--r-- | dom/html/nsGenericHTMLElement.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/dom/html/nsGenericHTMLElement.cpp b/dom/html/nsGenericHTMLElement.cpp index 2f890325a..1e2f1c186 100644 --- a/dom/html/nsGenericHTMLElement.cpp +++ b/dom/html/nsGenericHTMLElement.cpp @@ -2286,10 +2286,17 @@ nsGenericHTMLFormElement::FormIdUpdated(Element* aOldElement, } bool -nsGenericHTMLFormElement::IsElementDisabledForEvents(EventMessage aMessage, +nsGenericHTMLFormElement::IsElementDisabledForEvents(WidgetEvent* aEvent, nsIFrame* aFrame) { - switch (aMessage) { + MOZ_ASSERT(aEvent); + + // Allow dispatch of CustomEvent and untrusted Events. + if (!aEvent->IsTrusted()) { + return false; + } + + switch (aEvent->mMessage) { case eMouseMove: case eMouseOver: case eMouseOut: @@ -2455,8 +2462,9 @@ nsGenericHTMLFormElement::IsLabelable() const void nsGenericHTMLElement::Click() { - if (HandlingClick()) + if (IsDisabled() || HandlingClick()) { return; + } // Strong in case the event kills it nsCOMPtr<nsIDocument> doc = GetComposedDoc(); |