Bug 1943226 - Make nsFrameSelection treat limiters are elements r=jjaschke,dom-core
`nsFrameSelection::GetLimiter()` is not `nullptr` only when it's an instance for an independent selection of a text control. In the case, it's set to the editor root anonymous `<div>` of the text control. Despite the name, this is already optimized only for this purpose in `nsFrameSelection::NodeIsInLimiters()`. Thus, we don't have any problems to make this clearer for the other developers with renaming some parameter names. `nsFrameSelection::GetAncestorLimiter()` is also always an `Element`. So, we can change this to `Element` too. Differential Revision: https://phabricator.services.mozilla.com/D235254
This commit is contained in:
@@ -939,7 +939,7 @@ void PresShell::Init(nsPresContext* aPresContext, nsViewManager* aViewManager) {
|
||||
mAccessibleCaretEventHub->Init();
|
||||
}
|
||||
|
||||
mSelection = new nsFrameSelection(this, nullptr, accessibleCaretEnabled);
|
||||
mSelection = new nsFrameSelection(this, accessibleCaretEnabled);
|
||||
|
||||
// Important: this has to happen after the selection has been set up
|
||||
#ifdef SHOW_CARET
|
||||
@@ -2462,7 +2462,7 @@ PresShell::CompleteMove(bool aForward, bool aExtend) {
|
||||
// Beware! This may flush notifications via synchronous
|
||||
// ScrollSelectionIntoView.
|
||||
RefPtr<nsFrameSelection> frameSelection = mSelection;
|
||||
nsIContent* limiter = frameSelection->GetAncestorLimiter();
|
||||
Element* const limiter = frameSelection->GetAncestorLimiter();
|
||||
nsIFrame* frame = limiter ? limiter->GetPrimaryFrame()
|
||||
: FrameConstructor()->GetRootElementFrame();
|
||||
if (!frame) {
|
||||
|
||||
Reference in New Issue
Block a user