Make HTMLEditor::ComputeEditingHostInternal
use common ancestor of all selection ranges
Selection ranges can cross editing host boundaries if no editing host has focus.
Therefore, Selection.focusNode
may be in an editing host but there may be
no active/focused editing host.
The computation may be expensive if there are a lot of ranges and selecting
in slotted shadow tree. However, it's rare case, so, I think it's okay for
now.
Differential Revision: https://phabricator.services.mozilla.com/D224282
bugzilla-url: https://bugzilla.mozilla.org/show_bug.cgi?id=1922149
gecko-commit: 356daac9fcd1d2ded218db99afc3ae81ed8711ba
gecko-reviewers: m_kato