summaryrefslogtreecommitdiffstats
path: root/layout/generic
diff options
context:
space:
mode:
authorathenian200 <athenian200@outlook.com>2020-01-16 14:07:04 -0600
committerwolfbeast <mcwerewolf@wolfbeast.com>2020-04-14 12:16:31 +0200
commit563dc95cdbdd94496360f14fc277c4b8fc79bbab (patch)
tree8c0dd0fb0fc73264d0a513f06497155071c598d1 /layout/generic
parent7e59ac9036ae2cbb91ff216e50eac75b9588557a (diff)
downloadUXP-563dc95cdbdd94496360f14fc277c4b8fc79bbab.tar
UXP-563dc95cdbdd94496360f14fc277c4b8fc79bbab.tar.gz
UXP-563dc95cdbdd94496360f14fc277c4b8fc79bbab.tar.lz
UXP-563dc95cdbdd94496360f14fc277c4b8fc79bbab.tar.xz
UXP-563dc95cdbdd94496360f14fc277c4b8fc79bbab.zip
Issue #1356 - Remove -moz-user-input disabled to improve event handling.
Diffstat (limited to 'layout/generic')
-rw-r--r--layout/generic/nsFrame.cpp13
-rw-r--r--layout/generic/nsIFrame.h5
2 files changed, 18 insertions, 0 deletions
diff --git a/layout/generic/nsFrame.cpp b/layout/generic/nsFrame.cpp
index bbbb5c332..8d4ea8754 100644
--- a/layout/generic/nsFrame.cpp
+++ b/layout/generic/nsFrame.cpp
@@ -5557,6 +5557,19 @@ nsFrame::Reflow(nsPresContext* aPresContext,
NS_FRAME_SET_TRUNCATION(aStatus, aReflowInput, aDesiredSize);
}
+bool
+nsIFrame::IsContentDisabled() const
+{
+ // FIXME(emilio): Doing this via CSS means callers must ensure the style is up
+ // to date, and they don't!
+ if (StyleUserInterface()->mUserInput == StyleUserInput::None) {
+ return true;
+ }
+
+ auto* element = nsGenericHTMLElement::FromContentOrNull(GetContent());
+ return element && element->IsDisabled();
+}
+
nsresult
nsFrame::CharacterDataChanged(CharacterDataChangeInfo* aInfo)
{
diff --git a/layout/generic/nsIFrame.h b/layout/generic/nsIFrame.h
index 57f5c460c..93eb95099 100644
--- a/layout/generic/nsIFrame.h
+++ b/layout/generic/nsIFrame.h
@@ -2436,6 +2436,11 @@ public:
nsIWidget* GetNearestWidget(nsPoint& aOffset) const;
/**
+ * Whether the content for this frame is disabled, used for event handling.
+ */
+ bool IsContentDisabled() const;
+
+ /**
* Get the "type" of the frame. May return nullptr.
*
* @see nsGkAtoms