diff options
author | athenian200 <athenian200@outlook.com> | 2020-05-20 23:25:37 -0500 |
---|---|---|
committer | Moonchild <moonchild@palemoon.org> | 2020-05-21 13:10:27 +0000 |
commit | 8b44473fe65a1dd6eb30525e0d4f1370010b2d54 (patch) | |
tree | 9c53472972470607131bdf2978d4ec73993f4d0d /layout/forms | |
parent | 6e0aee959ecc485297c2da5bc9229d3cff13ccc4 (diff) | |
download | UXP-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 'layout/forms')
-rw-r--r-- | layout/forms/nsComboboxControlFrame.cpp | 4 | ||||
-rw-r--r-- | layout/forms/nsFormControlFrame.cpp | 6 | ||||
-rw-r--r-- | layout/forms/nsGfxButtonControlFrame.cpp | 5 | ||||
-rw-r--r-- | layout/forms/nsImageControlFrame.cpp | 8 | ||||
-rw-r--r-- | layout/forms/nsListControlFrame.cpp | 11 |
5 files changed, 26 insertions, 8 deletions
diff --git a/layout/forms/nsComboboxControlFrame.cpp b/layout/forms/nsComboboxControlFrame.cpp index 78185616f..5a9438939 100644 --- a/layout/forms/nsComboboxControlFrame.cpp +++ b/layout/forms/nsComboboxControlFrame.cpp @@ -1165,7 +1165,9 @@ nsComboboxControlFrame::HandleEvent(nsPresContext* aPresContext, // If we have style that affects how we are selected, feed event down to // nsFrame::HandleEvent so that selection takes place when appropriate. - if (IsContentDisabled()) { + const nsStyleUserInterface* uiStyle = StyleUserInterface(); + if (uiStyle->mUserInput == StyleUserInput::None || + uiStyle->mUserInput == StyleUserInput::Disabled) { return nsBlockFrame::HandleEvent(aPresContext, aEvent, aEventStatus); } return NS_OK; diff --git a/layout/forms/nsFormControlFrame.cpp b/layout/forms/nsFormControlFrame.cpp index 8dbe564dd..4ee62acbf 100644 --- a/layout/forms/nsFormControlFrame.cpp +++ b/layout/forms/nsFormControlFrame.cpp @@ -183,8 +183,10 @@ nsFormControlFrame::HandleEvent(nsPresContext* aPresContext, WidgetGUIEvent* aEvent, nsEventStatus* aEventStatus) { - // Check for disabled content so that selection works properly (?). - if (IsContentDisabled()) { + // Check for user-input:none style + const nsStyleUserInterface* uiStyle = StyleUserInterface(); + if (uiStyle->mUserInput == StyleUserInput::None || + uiStyle->mUserInput == StyleUserInput::Disabled) { return nsFrame::HandleEvent(aPresContext, aEvent, aEventStatus); } return NS_OK; diff --git a/layout/forms/nsGfxButtonControlFrame.cpp b/layout/forms/nsGfxButtonControlFrame.cpp index 393145e0b..90da437f7 100644 --- a/layout/forms/nsGfxButtonControlFrame.cpp +++ b/layout/forms/nsGfxButtonControlFrame.cpp @@ -227,7 +227,10 @@ nsGfxButtonControlFrame::HandleEvent(nsPresContext* aPresContext, // from being called. The nsFrame::HandleEvent causes the button label // to be selected (Drawn with an XOR rectangle over the label) - if (IsContentDisabled()) { + // 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); } return NS_OK; diff --git a/layout/forms/nsImageControlFrame.cpp b/layout/forms/nsImageControlFrame.cpp index 8aef41538..212fa9356 100644 --- a/layout/forms/nsImageControlFrame.cpp +++ b/layout/forms/nsImageControlFrame.cpp @@ -150,9 +150,15 @@ nsImageControlFrame::HandleEvent(nsPresContext* aPresContext, return NS_OK; } - if (IsContentDisabled()) { + // 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); } + if (mContent->HasAttr(kNameSpaceID_None, nsGkAtoms::disabled)) { // XXX cache disabled + return NS_OK; + } *aEventStatus = nsEventStatus_eIgnore; diff --git a/layout/forms/nsListControlFrame.cpp b/layout/forms/nsListControlFrame.cpp index 58e81039f..cc5f37f9a 100644 --- a/layout/forms/nsListControlFrame.cpp +++ b/layout/forms/nsListControlFrame.cpp @@ -920,11 +920,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); } |