зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1342197 part 2. Use nsITextControlElement::GetRootEditorNode to get the root editor node in nsTextControlFrame::GetSelectionRange. r=ehsan
MozReview-Commit-ID: 7ncJVNVGF78
This commit is contained in:
Родитель
12dc2641c8
Коммит
5649e18813
|
@ -803,15 +803,6 @@ nsTextControlFrame::ScrollSelectionIntoView()
|
||||||
return NS_ERROR_FAILURE;
|
return NS_ERROR_FAILURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
mozilla::dom::Element*
|
|
||||||
nsTextControlFrame::GetRootNodeAndInitializeEditor()
|
|
||||||
{
|
|
||||||
nsCOMPtr<nsIDOMElement> root;
|
|
||||||
GetRootNodeAndInitializeEditor(getter_AddRefs(root));
|
|
||||||
nsCOMPtr<mozilla::dom::Element> rootElem = do_QueryInterface(root);
|
|
||||||
return rootElem;
|
|
||||||
}
|
|
||||||
|
|
||||||
nsresult
|
nsresult
|
||||||
nsTextControlFrame::GetRootNodeAndInitializeEditor(nsIDOMElement **aRootElement)
|
nsTextControlFrame::GetRootNodeAndInitializeEditor(nsIDOMElement **aRootElement)
|
||||||
{
|
{
|
||||||
|
@ -1062,7 +1053,7 @@ nsTextControlFrame::GetSelectionRange(int32_t* aSelectionStart,
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
mozilla::dom::Element* root = GetRootNodeAndInitializeEditor();
|
mozilla::dom::Element* root = txtCtrl->GetRootEditorNode();
|
||||||
NS_ENSURE_STATE(root);
|
NS_ENSURE_STATE(root);
|
||||||
nsContentUtils::GetSelectionInTextControl(sel, root,
|
nsContentUtils::GetSelectionInTextControl(sel, root,
|
||||||
*aSelectionStart, *aSelectionEnd);
|
*aSelectionStart, *aSelectionEnd);
|
||||||
|
|
|
@ -321,9 +321,13 @@ private:
|
||||||
SelectionDirection aDirection = eNone);
|
SelectionDirection aDirection = eNone);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return the root DOM element, and implicitly initialize the editor if needed.
|
* Return the root DOM element, and implicitly initialize the editor if
|
||||||
|
* needed.
|
||||||
|
*
|
||||||
|
* XXXbz This function is slow. Very slow. Consider using
|
||||||
|
* EnsureEditorInitialized() if you need that, and
|
||||||
|
* nsITextControlElement::GetRootEditorNode on our content if you need that.
|
||||||
*/
|
*/
|
||||||
mozilla::dom::Element* GetRootNodeAndInitializeEditor();
|
|
||||||
nsresult GetRootNodeAndInitializeEditor(nsIDOMElement **aRootElement);
|
nsresult GetRootNodeAndInitializeEditor(nsIDOMElement **aRootElement);
|
||||||
|
|
||||||
void FinishedInitializer() {
|
void FinishedInitializer() {
|
||||||
|
|
Загрузка…
Ссылка в новой задаче