summaryrefslogtreecommitdiffstats
path: root/dom/html/nsGenericHTMLElement.cpp
diff options
context:
space:
mode:
authorathenian200 <athenian200@outlook.com>2020-05-20 23:25:37 -0500
committerwolfbeast <mcwerewolf@wolfbeast.com>2020-05-23 16:10:40 +0200
commitc4ed56660230a124fa3457cd5f789e78a3188515 (patch)
tree0edc55305d449c3851ecc2ad1df8961cc2df7a3b /dom/html/nsGenericHTMLElement.cpp
parent99c2e698d2a3c56649e42d8d2133706cd8c9501e (diff)
downloadUXP-c4ed56660230a124fa3457cd5f789e78a3188515.tar
UXP-c4ed56660230a124fa3457cd5f789e78a3188515.tar.gz
UXP-c4ed56660230a124fa3457cd5f789e78a3188515.tar.lz
UXP-c4ed56660230a124fa3457cd5f789e78a3188515.tar.xz
UXP-c4ed56660230a124fa3457cd5f789e78a3188515.zip
Revert "Merge pull request #1357 from athenian200/form-disabled-issue"
This reverts commit ed88b99849156004c04e4a0c87ea9b2360ef19b6, reversing changes made to c4b0715baaffc541670fd1158557aa7e61e521d3.
Diffstat (limited to 'dom/html/nsGenericHTMLElement.cpp')
-rw-r--r--dom/html/nsGenericHTMLElement.cpp21
1 files changed, 15 insertions, 6 deletions
diff --git a/dom/html/nsGenericHTMLElement.cpp b/dom/html/nsGenericHTMLElement.cpp
index 0c8bcc9c8..2f890325a 100644
--- a/dom/html/nsGenericHTMLElement.cpp
+++ b/dom/html/nsGenericHTMLElement.cpp
@@ -2109,6 +2109,14 @@ nsGenericHTMLFormElement::PreHandleEvent(EventChainPreVisitor& aVisitor)
return nsGenericHTMLElement::PreHandleEvent(aVisitor);
}
+/* virtual */
+bool
+nsGenericHTMLFormElement::IsDisabled() const
+{
+ return HasAttr(kNameSpaceID_None, nsGkAtoms::disabled) ||
+ (mFieldSet && mFieldSet->IsDisabled());
+}
+
void
nsGenericHTMLFormElement::ForgetFieldSet(nsIContent* aFieldset)
{
@@ -2300,13 +2308,14 @@ nsGenericHTMLFormElement::IsElementDisabledForEvents(EventMessage aMessage,
break;
}
- // FIXME(emilio): This poking at the style of the frame is slightly bogus
- // unless we flush before every event, which we don't really want to do.
- if (aFrame &&
- aFrame->StyleUserInterface()->mUserInput == StyleUserInput::None) {
- return true;
+ bool disabled = IsDisabled();
+ if (!disabled && aFrame) {
+ const nsStyleUserInterface* uiStyle = aFrame->StyleUserInterface();
+ disabled = uiStyle->mUserInput == StyleUserInput::None ||
+ uiStyle->mUserInput == StyleUserInput::Disabled;
+
}
- return IsDisabled();
+ return disabled;
}
void