tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

commit 2ced0045c3ebd68a8ed9f30f4b7f4942bcfa2f43
parent 213a52f102a49ef6feea6fb36aba9869e1571aab
Author: Edgar Chen <echen@mozilla.com>
Date:   Sat, 15 Nov 2025 23:08:28 +0000

Bug 2000323 - Get rid of nsIDocumentEncoder::NativeInit(); r=smaug

`nsIDocumentEncoder::NativeInit()` was introduced in bug 574089. It took a
`nsIDocument` directly, whereas `::Init()` took a `nsIDOMDocument` instead.
But now they both take `Document` as an argument. So `NativeInt()` can be
removed and the call sites can use `Init()` instead.

Differential Revision: https://phabricator.services.mozilla.com/D272720

Diffstat:
Mdom/base/FragmentOrElement.cpp | 2+-
Mdom/base/nsCopySupport.cpp | 7+++----
Mdom/serializers/nsDOMSerializer.cpp | 2+-
Mdom/serializers/nsDocumentEncoder.cpp | 10+++-------
Mdom/serializers/nsIDocumentEncoder.idl | 3---
Mdom/webbrowserpersist/WebBrowserPersistLocalDocument.cpp | 5++---
Meditor/libeditor/EditorBase.cpp | 2+-
Mparser/html/nsParserUtils.cpp | 12++++++------
8 files changed, 17 insertions(+), 26 deletions(-)

diff --git a/dom/base/FragmentOrElement.cpp b/dom/base/FragmentOrElement.cpp @@ -1900,7 +1900,7 @@ void FragmentOrElement::GetMarkup(bool aIncludeSelf, nsAString& aMarkup) { } } - DebugOnly<nsresult> rv = docEncoder->NativeInit(doc, contentType, flags); + DebugOnly<nsresult> rv = docEncoder->Init(doc, contentType, flags); MOZ_ASSERT(NS_SUCCEEDED(rv)); if (aIncludeSelf) { diff --git a/dom/base/nsCopySupport.cpp b/dom/base/nsCopySupport.cpp @@ -581,10 +581,9 @@ static nsresult AppendDOMNode(nsITransferable* aTransferable, NS_ENSURE_TRUE(document->IsHTMLDocument(), NS_OK); // init encoder with document and node - rv = docEncoder->NativeInit( - document, NS_LITERAL_STRING_FROM_CSTRING(kHTMLMime), - nsIDocumentEncoder::OutputAbsoluteLinks | - nsIDocumentEncoder::OutputEncodeBasicEntities); + rv = docEncoder->Init(document, NS_LITERAL_STRING_FROM_CSTRING(kHTMLMime), + nsIDocumentEncoder::OutputAbsoluteLinks | + nsIDocumentEncoder::OutputEncodeBasicEntities); NS_ENSURE_SUCCESS(rv, rv); rv = docEncoder->SetNode(aDOMNode); diff --git a/dom/serializers/nsDOMSerializer.cpp b/dom/serializers/nsDOMSerializer.cpp @@ -31,7 +31,7 @@ static already_AddRefed<nsIDocumentEncoder> SetUpEncoder( bool entireDocument = (doc == &aRoot); // This method will fail if no document - nsresult rv = encoder->NativeInit( + nsresult rv = encoder->Init( doc, u"application/xhtml+xml"_ns, nsIDocumentEncoder::OutputRaw | nsIDocumentEncoder::OutputDontRewriteEncodingDeclaration); diff --git a/dom/serializers/nsDocumentEncoder.cpp b/dom/serializers/nsDocumentEncoder.cpp @@ -726,13 +726,9 @@ nsDocumentEncoder::~nsDocumentEncoder() = default; NS_IMETHODIMP nsDocumentEncoder::Init(Document* aDocument, const nsAString& aMimeType, uint32_t aFlags) { - return NativeInit(aDocument, aMimeType, aFlags); -} - -NS_IMETHODIMP -nsDocumentEncoder::NativeInit(Document* aDocument, const nsAString& aMimeType, - uint32_t aFlags) { - if (!aDocument) return NS_ERROR_INVALID_ARG; + if (!aDocument) { + return NS_ERROR_INVALID_ARG; + } Initialize(!mMimeType.Equals(aMimeType), GetAllowRangeCrossShadowBoundary(aFlags)); diff --git a/dom/serializers/nsIDocumentEncoder.idl b/dom/serializers/nsIDocumentEncoder.idl @@ -252,9 +252,6 @@ interface nsIDocumentEncoder : nsISupports void init(in Document aDocument, in AString aMimeType, in unsigned long aFlags); - [noscript] void nativeInit(in Document aDocument, - in AString aMimeType, - in unsigned long aFlags); /** * If the selection is set to a non-null value, then the diff --git a/dom/webbrowserpersist/WebBrowserPersistLocalDocument.cpp b/dom/webbrowserpersist/WebBrowserPersistLocalDocument.cpp @@ -1259,9 +1259,8 @@ nsresult WebBrowserPersistLocalDocument::GetDocEncoder( do_createDocumentEncoder(PromiseFlatCString(aContentType).get()); NS_ENSURE_TRUE(encoder, NS_ERROR_FAILURE); - nsresult rv = - encoder->NativeInit(mDocument, NS_ConvertASCIItoUTF16(aContentType), - ConvertEncoderFlags(aEncoderFlags)); + nsresult rv = encoder->Init(mDocument, NS_ConvertASCIItoUTF16(aContentType), + ConvertEncoderFlags(aEncoderFlags)); NS_ENSURE_SUCCESS(rv, NS_ERROR_FAILURE); nsAutoCString charSet; diff --git a/editor/libeditor/EditorBase.cpp b/editor/libeditor/EditorBase.cpp @@ -1515,7 +1515,7 @@ already_AddRefed<nsIDocumentEncoder> EditorBase::GetAndInitDocEncoder( RefPtr<Document> doc = GetDocument(); NS_ASSERTION(doc, "Need a document"); - nsresult rv = docEncoder->NativeInit( + nsresult rv = docEncoder->Init( doc, aFormatType, aDocumentEncoderFlags | nsIDocumentEncoder::RequiresReinitAfterOutput); if (NS_FAILED(rv)) { diff --git a/parser/html/nsParserUtils.cpp b/parser/html/nsParserUtils.cpp @@ -53,12 +53,12 @@ static nsresult SanitizeWith(const nsAString& aInput, nsAString& aOutput, aDoSanitize(document.get()); nsCOMPtr<nsIDocumentEncoder> encoder = do_createDocumentEncoder("text/html"); - encoder->NativeInit(document, u"text/html"_ns, - nsIDocumentEncoder::OutputDontRewriteEncodingDeclaration | - nsIDocumentEncoder::OutputNoScriptContent | - nsIDocumentEncoder::OutputEncodeBasicEntities | - nsIDocumentEncoder::OutputLFLineBreak | - nsIDocumentEncoder::OutputRaw); + encoder->Init(document, u"text/html"_ns, + nsIDocumentEncoder::OutputDontRewriteEncodingDeclaration | + nsIDocumentEncoder::OutputNoScriptContent | + nsIDocumentEncoder::OutputEncodeBasicEntities | + nsIDocumentEncoder::OutputLFLineBreak | + nsIDocumentEncoder::OutputRaw); return encoder->EncodeToString(aOutput); }