void SelectionManager::SetControlSelectionListener(dom::Element* aFocusedElm) { // When focus moves such that the caret is part of a new frame selection // this removes the old selection listener and attaches a new one for // the current focus. ClearControlSelectionListener(); mLastTextAccessible = nullptr; mCurrCtrlFrame = aFocusedElm->GetPrimaryFrame(); if (!mCurrCtrlFrame) return; const nsFrameSelection* frameSel = mCurrCtrlFrame->GetConstFrameSelection(); NS_ASSERTION(frameSel, "No frame selection for focused element!"); if (!frameSel) return; // Register 'this' as selection listener for the normal selection. Selection* normalSel = frameSel->GetSelection(nsISelectionController::SELECTION_NORMAL); normalSel->AddSelectionListener(this); // Register 'this' as selection listener for the spell check selection. Selection* spellSel = frameSel->GetSelection(nsISelectionController::SELECTION_SPELLCHECK); spellSel->AddSelectionListener(this); }
void SelectionManager::AddDocSelectionListener(nsIPresShell* aPresShell) { const nsFrameSelection* frameSel = aPresShell->ConstFrameSelection(); // Register 'this' as selection listener for the normal selection. Selection* normalSel = frameSel->GetSelection(SelectionType::eNormal); normalSel->AddSelectionListener(this); // Register 'this' as selection listener for the spell check selection. Selection* spellSel = frameSel->GetSelection(SelectionType::eSpellCheck); spellSel->AddSelectionListener(this); }
void SelectionManager::AddDocSelectionListener(nsIPresShell* aPresShell) { const nsFrameSelection* frameSel = aPresShell->ConstFrameSelection(); // Register 'this' as selection listener for the normal selection. Selection* normalSel = frameSel->GetSelection(nsISelectionController::SELECTION_NORMAL); normalSel->AddSelectionListener(this); // Register 'this' as selection listener for the spell check selection. Selection* spellSel = frameSel->GetSelection(nsISelectionController::SELECTION_SPELLCHECK); spellSel->AddSelectionListener(this); }
void SelectionManager::SetControlSelectionListener(dom::Element* aFocusedElm) { // When focus moves such that the caret is part of a new frame selection // this removes the old selection listener and attaches a new one for // the current focus. ClearControlSelectionListener(); nsIFrame* controlFrame = aFocusedElm->GetPrimaryFrame(); if (!controlFrame) return; const nsFrameSelection* frameSel = controlFrame->GetConstFrameSelection(); NS_ASSERTION(frameSel, "No frame selection for focused element!"); if (!frameSel) return; // Register 'this' as selection listener for the normal selection. Selection* normalSel = frameSel->GetSelection(SelectionType::eNormal); normalSel->AddSelectionListener(this); mCurrCtrlNormalSel = normalSel; // Register 'this' as selection listener for the spell check selection. Selection* spellSel = frameSel->GetSelection(SelectionType::eSpellCheck); spellSel->AddSelectionListener(this); mCurrCtrlSpellSel = spellSel; }