summaryrefslogtreecommitdiffstats
path: root/dom/html/nsGenericHTMLElement.cpp
diff options
context:
space:
mode:
authorathenian200 <athenian200@outlook.com>2020-05-21 01:31:48 -0500
committerwolfbeast <mcwerewolf@wolfbeast.com>2020-05-23 16:12:59 +0200
commita3124c55a13fba4877e0eaa7a6b31f17832b6ce1 (patch)
treeed44abb0edc3aa974e7bb933da244409c985ced5 /dom/html/nsGenericHTMLElement.cpp
parentc4ed56660230a124fa3457cd5f789e78a3188515 (diff)
downloadUXP-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.cpp14
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();