Bug 1433958 - Change code that uses nsIURI.setHostAndPort() to use nsIURIMutator
* Removes setHostAndPort from nsIURIMutator as it only has one use
* Instead, the consumer sets the port to -1 before calling setHostPort()
MozReview-Commit-ID: Jx9UMW440hq
--- a/dom/html/nsHTMLDocument.cpp
+++ b/dom/html/nsHTMLDocument.cpp
@@ -24,16 +24,17 @@
#include "nsPresContext.h"
#include "nsIDOMNode.h" // for Find
#include "nsIDOMNodeList.h"
#include "nsIDOMElement.h"
#include "nsPIDOMWindow.h"
#include "nsDOMString.h"
#include "nsIStreamListener.h"
#include "nsIURI.h"
+#include "nsIURIMutator.h"
#include "nsIIOService.h"
#include "nsNetUtil.h"
#include "nsIPrivateBrowsingChannel.h"
#include "nsIContentViewer.h"
#include "nsDocShell.h"
#include "nsDocShellLoadTypes.h"
#include "nsIWebNavigation.h"
#include "nsIBaseWindow.h"
@@ -921,34 +922,27 @@ nsHTMLDocument::CreateInheritingURIForHo
}
// Create new URI
nsCOMPtr<nsIURI> uri = GetDomainURI();
if (!uri) {
return nullptr;
}
- nsCOMPtr<nsIURI> newURI;
- nsresult rv = uri->Clone(getter_AddRefs(newURI));
+ nsresult rv;
+ rv = NS_MutateURI(uri)
+ .SetUserPass(EmptyCString())
+ .SetPort(-1) // we want to reset the port number if needed.
+ .SetHostPort(aHostString)
+ .Finalize(uri);
if (NS_FAILED(rv)) {
return nullptr;
}
- rv = newURI->SetUserPass(EmptyCString());
- if (NS_FAILED(rv)) {
- return nullptr;
- }
-
- // We use SetHostAndPort because we want to reset the port number if needed.
- rv = newURI->SetHostAndPort(aHostString);
- if (NS_FAILED(rv)) {
- return nullptr;
- }
-
- return newURI.forget();
+ return uri.forget();
}
already_AddRefed<nsIURI>
nsHTMLDocument::RegistrableDomainSuffixOfInternal(const nsAString& aNewDomain,
nsIURI* aOrigHost)
{
if (NS_WARN_IF(!aOrigHost)) {
return nullptr;
--- a/netwerk/base/nsIURIMutator.idl
+++ b/netwerk/base/nsIURIMutator.idl
@@ -144,17 +144,16 @@ interface nsIURISetSpec : nsISupports
[scriptable, builtinclass, uuid(5403a6ec-99d7-405e-8b45-9f805bbdfcef)]
interface nsIURISetters : nsIURISetSpec
{
[must_use] nsIURIMutator setScheme(in AUTF8String aScheme);
[must_use] nsIURIMutator setUserPass(in AUTF8String aUserPass);
[must_use] nsIURIMutator setUsername(in AUTF8String aUsername);
[must_use] nsIURIMutator setPassword(in AUTF8String aPassword);
[must_use] nsIURIMutator setHostPort(in AUTF8String aHostPort);
- [must_use] nsIURIMutator setHostAndPort(in AUTF8String aHostAndPort);
[must_use] nsIURIMutator setHost(in AUTF8String aHost);
[must_use] nsIURIMutator setPort(in long aPort);
[must_use] nsIURIMutator setPathQueryRef(in AUTF8String aPathQueryRef);
[must_use] nsIURIMutator setRef(in AUTF8String aRef);
[must_use] nsIURIMutator setFilePath(in AUTF8String aFilePath);
[must_use] nsIURIMutator setQuery(in AUTF8String aQuery);
[must_use, noscript] nsIURIMutator setQueryWithEncoding(in AUTF8String query, in Encoding encoding);
};
@@ -190,22 +189,16 @@ interface nsIURISetters : nsIURISetSpec
} \
MOZ_MUST_USE NS_IMETHOD \
SetHostPort(const nsACString& aHostPort, nsIURIMutator** aMutator) override \
{ \
if (aMutator) NS_ADDREF(*aMutator = this); \
return !_to ? NS_ERROR_NULL_POINTER : _to->SetHostPort(aHostPort); \
} \
MOZ_MUST_USE NS_IMETHOD \
- SetHostAndPort(const nsACString& aHostAndPort, nsIURIMutator** aMutator) override \
- { \
- if (aMutator) NS_ADDREF(*aMutator = this); \
- return !_to ? NS_ERROR_NULL_POINTER : _to->SetHostAndPort(aHostAndPort); \
- } \
- MOZ_MUST_USE NS_IMETHOD \
SetHost(const nsACString& aHost, nsIURIMutator** aMutator) override \
{ \
if (aMutator) NS_ADDREF(*aMutator = this); \
return !_to ? NS_ERROR_NULL_POINTER : _to->SetHost(aHost); \
} \
MOZ_MUST_USE NS_IMETHOD \
SetPort(int32_t aPort, nsIURIMutator** aMutator) override \
{ \
@@ -355,22 +348,16 @@ public:
return *this;
}
NS_MutateURI& SetHostPort(const nsACString& aHostPort)
{
NS_ENSURE_SUCCESS(mStatus, *this);
mStatus = mMutator->SetHostPort(aHostPort, nullptr);
return *this;
}
- NS_MutateURI& SetHostAndPort(const nsACString& aHostAndPort)
- {
- NS_ENSURE_SUCCESS(mStatus, *this);
- mStatus = mMutator->SetHostAndPort(aHostAndPort, nullptr);
- return *this;
- }
NS_MutateURI& SetHost(const nsACString& aHost)
{
NS_ENSURE_SUCCESS(mStatus, *this);
mStatus = mMutator->SetHost(aHost, nullptr);
return *this;
}
NS_MutateURI& SetPort(int32_t aPort)
{