Bug 1947099 - Get rid of unused aDocument parameter of EditorBase::InsertTextWithTransaction r=m_kato

Differential Revision: https://phabricator.services.mozilla.com/D237518
This commit is contained in:
Masayuki Nakano
2025-02-11 23:42:53 +00:00
parent e51ff081c6
commit ad9fbd6b1a
7 changed files with 18 additions and 48 deletions

View File

@@ -3238,8 +3238,8 @@ nsresult EditorBase::ScrollSelectionFocusIntoView() const {
}
Result<InsertTextResult, nsresult> EditorBase::InsertTextWithTransaction(
Document& aDocument, const nsAString& aStringToInsert,
const EditorDOMPoint& aPointToInsert, InsertTextTo aInsertTextTo) {
const nsAString& aStringToInsert, const EditorDOMPoint& aPointToInsert,
InsertTextTo aInsertTextTo) {
MOZ_ASSERT_IF(IsTextEditor(),
aInsertTextTo == InsertTextTo::ExistingTextNodeIfAvailable);

View File

@@ -1742,7 +1742,6 @@ class EditorBase : public nsIEditor,
* If there is no text node, this creates new text node and put
* aStringToInsert to it.
*
* @param aDocument The document of this editor.
* @param aStringToInsert The string to insert.
* @param aPointToInsert The point to insert aStringToInsert.
* Must be valid DOM point.
@@ -1756,8 +1755,7 @@ class EditorBase : public nsIEditor,
AlwaysCreateNewTextNode
};
[[nodiscard]] MOZ_CAN_RUN_SCRIPT virtual Result<InsertTextResult, nsresult>
InsertTextWithTransaction(Document& aDocument,
const nsAString& aStringToInsert,
InsertTextWithTransaction(const nsAString& aStringToInsert,
const EditorDOMPoint& aPointToInsert,
InsertTextTo aInsertTextTo);

View File

@@ -1137,11 +1137,6 @@ Result<EditActionResult, nsresult> HTMLEditor::HandleInsertText(
}
}
RefPtr<Document> document = GetDocument();
if (NS_WARN_IF(!document)) {
return Err(NS_ERROR_FAILURE);
}
const bool isHandlingComposition =
aEditSubAction == EditSubAction::eInsertTextComingFromIME;
auto pointToInsert = isHandlingComposition
@@ -1196,7 +1191,7 @@ Result<EditActionResult, nsresult> HTMLEditor::HandleInsertText(
// but IME needs the InsertTextWithTransaction() call to still happen
// since empty strings are meaningful there.
Result<InsertTextResult, nsresult> insertEmptyTextResultOrError =
InsertTextWithTransaction(*document, aInsertionString, pointToInsert,
InsertTextWithTransaction(aInsertionString, pointToInsert,
InsertTextTo::ExistingTextNodeIfAvailable);
if (MOZ_UNLIKELY(insertEmptyTextResultOrError.isErr())) {
NS_WARNING("HTMLEditor::InsertTextWithTransaction() failed");
@@ -1344,7 +1339,7 @@ Result<EditActionResult, nsresult> HTMLEditor::HandleInsertText(
MOZ_ASSERT(*lineBreakType == LineBreakType::Linefeed);
Result<InsertTextResult, nsresult> insertTextResult =
InsertTextWithTransaction(
*document, aInsertionString, currentPoint,
aInsertionString, currentPoint,
InsertTextTo::ExistingTextNodeIfAvailable);
if (MOZ_UNLIKELY(insertTextResult.isErr())) {
NS_WARNING("HTMLEditor::InsertTextWithTransaction() failed");
@@ -1378,7 +1373,7 @@ Result<EditActionResult, nsresult> HTMLEditor::HandleInsertText(
lineStartOffset, lineLength);
Result<InsertTextResult, nsresult> insertTextResult =
InsertTextWithTransaction(
*document, lineText, currentPoint,
lineText, currentPoint,
GetInsertTextTo(inclusiveNextLinefeedOffset,
lineStartOffset));
if (MOZ_UNLIKELY(insertTextResult.isErr())) {

View File

@@ -4197,12 +4197,8 @@ Result<InsertTextResult, nsresult> HTMLEditor::ReplaceTextWithTransaction(
}
if (!aLength) {
RefPtr<Document> document = GetDocument();
if (NS_WARN_IF(!document)) {
return Err(NS_ERROR_NOT_INITIALIZED);
}
Result<InsertTextResult, nsresult> insertTextResult =
InsertTextWithTransaction(*document, aStringToInsert,
InsertTextWithTransaction(aStringToInsert,
EditorDOMPoint(&aTextNode, aOffset),
InsertTextTo::ExistingTextNodeIfAvailable);
NS_WARNING_ASSERTION(insertTextResult.isOk(),
@@ -4285,20 +4281,20 @@ Result<InsertTextResult, nsresult> HTMLEditor::ReplaceTextWithTransaction(
}
Result<InsertTextResult, nsresult> HTMLEditor::InsertTextWithTransaction(
Document& aDocument, const nsAString& aStringToInsert,
const EditorDOMPoint& aPointToInsert, InsertTextTo aInsertTextTo) {
const nsAString& aStringToInsert, const EditorDOMPoint& aPointToInsert,
InsertTextTo aInsertTextTo) {
if (NS_WARN_IF(!aPointToInsert.IsSet())) {
return Err(NS_ERROR_INVALID_ARG);
}
// Do nothing if the node is read-only
if (MOZ_UNLIKELY(NS_WARN_IF(!HTMLEditUtils::IsSimplyEditableNode(
*aPointToInsert.GetContainer())))) {
if (NS_WARN_IF(!HTMLEditUtils::IsSimplyEditableNode(
*aPointToInsert.GetContainer()))) {
return Err(NS_ERROR_FAILURE);
}
return EditorBase::InsertTextWithTransaction(aDocument, aStringToInsert,
aPointToInsert, aInsertTextTo);
return EditorBase::InsertTextWithTransaction(aStringToInsert, aPointToInsert,
aInsertTextTo);
}
Result<EditorDOMPoint, nsresult> HTMLEditor::PrepareToInsertLineBreak(

View File

@@ -849,8 +849,7 @@ class HTMLEditor final : public EditorBase,
* this returns error.
*/
[[nodiscard]] MOZ_CAN_RUN_SCRIPT Result<InsertTextResult, nsresult>
InsertTextWithTransaction(Document& aDocument,
const nsAString& aStringToInsert,
InsertTextWithTransaction(const nsAString& aStringToInsert,
const EditorDOMPoint& aPointToInsert,
InsertTextTo aInsertTextTo) final;

View File

@@ -212,14 +212,9 @@ TextEditor::InsertLineFeedCharacterAtSelection() {
MOZ_ASSERT(pointToInsert.IsSetAndValid());
MOZ_ASSERT(!pointToInsert.IsContainerHTMLElement(nsGkAtoms::br));
RefPtr<Document> document = GetDocument();
if (NS_WARN_IF(!document)) {
return Err(NS_ERROR_NOT_INITIALIZED);
}
// Insert a linefeed character.
Result<InsertTextResult, nsresult> insertTextResult =
InsertTextWithTransaction(*document, u"\n"_ns, pointToInsert,
InsertTextWithTransaction(u"\n"_ns, pointToInsert,
InsertTextTo::ExistingTextNodeIfAvailable);
if (MOZ_UNLIKELY(insertTextResult.isErr())) {
NS_WARNING("TextEditor::InsertTextWithTransaction(\"\\n\") failed");
@@ -445,11 +440,6 @@ Result<EditActionResult, nsresult> TextEditor::HandleInsertText(
}
MOZ_ASSERT(!atStartOfSelection.IsContainerHTMLElement(nsGkAtoms::br));
RefPtr<Document> document = GetDocument();
if (NS_WARN_IF(!document)) {
return Err(NS_ERROR_NOT_INITIALIZED);
}
if (aEditSubAction == EditSubAction::eInsertTextComingFromIME) {
EditorDOMPoint compositionStartPoint =
GetFirstIMESelectionStartPoint<EditorDOMPoint>();
@@ -460,8 +450,7 @@ Result<EditActionResult, nsresult> TextEditor::HandleInsertText(
"TextEditor::FindBetterInsertionPoint() failed, but ignored");
}
Result<InsertTextResult, nsresult> insertTextResult =
InsertTextWithTransaction(*document, insertionString,
compositionStartPoint,
InsertTextWithTransaction(insertionString, compositionStartPoint,
InsertTextTo::ExistingTextNodeIfAvailable);
if (MOZ_UNLIKELY(insertTextResult.isErr())) {
NS_WARNING("EditorBase::InsertTextWithTransaction() failed");
@@ -482,8 +471,7 @@ Result<EditActionResult, nsresult> TextEditor::HandleInsertText(
MOZ_ASSERT(aEditSubAction == EditSubAction::eInsertText);
Result<InsertTextResult, nsresult> insertTextResult =
InsertTextWithTransaction(*document, insertionString,
atStartOfSelection,
InsertTextWithTransaction(insertionString, atStartOfSelection,
InsertTextTo::ExistingTextNodeIfAvailable);
if (MOZ_UNLIKELY(insertTextResult.isErr())) {
NS_WARNING("EditorBase::InsertTextWithTransaction() failed");

View File

@@ -1404,16 +1404,10 @@ Result<InsertTextResult, nsresult> WhiteSpaceVisibilityKeeper::ReplaceText(
// runtime cost. So, perhaps, we should return error code which couldn't
// modify it and make each caller of this method decide whether it should
// keep or stop handling the edit action.
if (MOZ_UNLIKELY(!aHTMLEditor.GetDocument())) {
NS_WARNING(
"WhiteSpaceVisibilityKeeper::ReplaceText() lost proper document");
return Err(NS_ERROR_UNEXPECTED);
}
AutoTrackDOMPoint trackPointToPutCaret(aHTMLEditor.RangeUpdaterRef(),
&pointToPutCaret);
OwningNonNull<Document> document = *aHTMLEditor.GetDocument();
Result<InsertTextResult, nsresult> insertTextResult =
aHTMLEditor.InsertTextWithTransaction(document, theString, pointToInsert,
aHTMLEditor.InsertTextWithTransaction(theString, pointToInsert,
aInsertTextTo);
if (MOZ_UNLIKELY(insertTextResult.isErr())) {
NS_WARNING("HTMLEditor::InsertTextWithTransaction() failed");