From 064dd8f2a24da39231114cf50207782c90bd20e9 Mon Sep 17 00:00:00 2001 From: Ehsan Akhgari Date: Tue, 1 Aug 2017 20:27:24 -0400 Subject: [PATCH] Bug 1386468 - Only register SelectionChangeListener for plaintext controls when dom.select_events.textcontrols.enabled is turned on; r=mystor --- layout/generic/nsFrameSelection.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/layout/generic/nsFrameSelection.cpp b/layout/generic/nsFrameSelection.cpp index 9f5780b97466..02592cfedd32 100644 --- a/layout/generic/nsFrameSelection.cpp +++ b/layout/generic/nsFrameSelection.cpp @@ -728,8 +728,13 @@ nsFrameSelection::Init(nsIPresShell *aShell, nsIContent *aLimiter) } } + bool plaintextControl = (aLimiter != nullptr); + bool initSelectEvents = plaintextControl ? + sSelectionEventsOnTextControlsEnabled : + sSelectionEventsEnabled; + nsIDocument* doc = aShell->GetDocument(); - if (sSelectionEventsEnabled || + if (initSelectEvents || (doc && nsContentUtils::IsSystemPrincipal(doc->NodePrincipal()))) { int8_t index = GetIndexFromSelectionType(SelectionType::eNormal); if (mDomSelections[index]) {