summaryrefslogtreecommitdiffstats
path: root/dom/html/nsGenericHTMLElement.cpp
diff options
context:
space:
mode:
authorathenian200 <athenian200@outlook.com>2020-05-20 23:25:37 -0500
committerMoonchild <moonchild@palemoon.org>2020-05-21 13:10:27 +0000
commit8b44473fe65a1dd6eb30525e0d4f1370010b2d54 (patch)
tree9c53472972470607131bdf2978d4ec73993f4d0d /dom/html/nsGenericHTMLElement.cpp
parent6e0aee959ecc485297c2da5bc9229d3cff13ccc4 (diff)
downloadUXP-8b44473fe65a1dd6eb30525e0d4f1370010b2d54.tar
UXP-8b44473fe65a1dd6eb30525e0d4f1370010b2d54.tar.gz
UXP-8b44473fe65a1dd6eb30525e0d4f1370010b2d54.tar.lz
UXP-8b44473fe65a1dd6eb30525e0d4f1370010b2d54.tar.xz
UXP-8b44473fe65a1dd6eb30525e0d4f1370010b2d54.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