diff options
author | Moonchild <moonchild@palemoon.org> | 2020-05-21 15:00:59 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-21 15:00:59 +0200 |
commit | 5d6691e9d08dce30b461fced32ece77fd3ff1933 (patch) | |
tree | f91d5ae02b0c2bcc41a08bb1a594c8a2ebe02eef /layout/forms/nsListControlFrame.cpp | |
parent | 14f6f230d7545d3906a7fd72f3d4677f3b6503d8 (diff) | |
parent | 0a19762d3bb5f6bcaa00a8f168e469d9fdda76b9 (diff) | |
download | UXP-5d6691e9d08dce30b461fced32ece77fd3ff1933.tar UXP-5d6691e9d08dce30b461fced32ece77fd3ff1933.tar.gz UXP-5d6691e9d08dce30b461fced32ece77fd3ff1933.tar.lz UXP-5d6691e9d08dce30b461fced32ece77fd3ff1933.tar.xz UXP-5d6691e9d08dce30b461fced32ece77fd3ff1933.zip |
Merge pull request #1559 from athenian200/form-disabled-issue
Restore -moz-input-disabled and allow events to target disabled form controls.
Diffstat (limited to 'layout/forms/nsListControlFrame.cpp')
-rw-r--r-- | layout/forms/nsListControlFrame.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/layout/forms/nsListControlFrame.cpp b/layout/forms/nsListControlFrame.cpp index 2233c5996..7bd356a22 100644 --- a/layout/forms/nsListControlFrame.cpp +++ b/layout/forms/nsListControlFrame.cpp @@ -919,11 +919,16 @@ nsListControlFrame::HandleEvent(nsPresContext* aPresContext, if (nsEventStatus_eConsumeNoDefault == *aEventStatus) return NS_OK; - // disabled state affects how we're selected, but we don't want to go through - // nsHTMLScrollFrame if we're disabled. - if (IsContentDisabled()) { + // do we have style that affects how we are selected? + // do we have user-input style? + const nsStyleUserInterface* uiStyle = StyleUserInterface(); + if (uiStyle->mUserInput == StyleUserInput::None || + uiStyle->mUserInput == StyleUserInput::Disabled) { return nsFrame::HandleEvent(aPresContext, aEvent, aEventStatus); } + EventStates eventStates = mContent->AsElement()->State(); + if (eventStates.HasState(NS_EVENT_STATE_DISABLED)) + return NS_OK; return nsHTMLScrollFrame::HandleEvent(aPresContext, aEvent, aEventStatus); } |