Bug 1433958 - Change code that calls nsIURI.setQueryWithEncoding to use nsIURIMutator
MozReview-Commit-ID: crYLGLcsk6
--- a/dom/base/Link.cpp
+++ b/dom/base/Link.cpp
@@ -520,25 +520,30 @@ Link::SetPathname(const nsAString &aPath
return;
}
SetHrefAttribute(uri);
}
void
Link::SetSearch(const nsAString& aSearch)
{
- nsCOMPtr<nsIURI> uri(GetURIToMutate());
+ nsCOMPtr<nsIURI> uri(GetURI());
nsCOMPtr<nsIURL> url(do_QueryInterface(uri));
if (!url) {
// Ignore failures to be compatible with NS4.
return;
}
auto encoding = mElement->OwnerDoc()->GetDocumentCharacterSet();
- (void)url->SetQueryWithEncoding(NS_ConvertUTF16toUTF8(aSearch), encoding);
+ nsresult rv = NS_MutateURI(uri)
+ .SetQueryWithEncoding(NS_ConvertUTF16toUTF8(aSearch), encoding)
+ .Finalize(uri);
+ if (NS_FAILED(rv)) {
+ return;
+ }
SetHrefAttribute(uri);
}
void
Link::SetPort(const nsAString &aPort)
{
nsCOMPtr<nsIURI> uri(GetURIToMutate());
if (!uri) {
--- a/dom/base/Location.cpp
+++ b/dom/base/Location.cpp
@@ -814,27 +814,31 @@ Location::SetSearch(const nsAString& aSe
ErrorResult& aRv)
{
if (!CallerSubsumes(&aSubjectPrincipal)) {
aRv.Throw(NS_ERROR_DOM_SECURITY_ERR);
return;
}
nsCOMPtr<nsIURI> uri;
- aRv = GetWritableURI(getter_AddRefs(uri));
+ aRv = GetURI(getter_AddRefs(uri));
nsCOMPtr<nsIURL> url(do_QueryInterface(uri));
if (NS_WARN_IF(aRv.Failed()) || !url) {
return;
}
if (nsIDocument* doc = GetEntryDocument()) {
- aRv = url->SetQueryWithEncoding(NS_ConvertUTF16toUTF8(aSearch),
- doc->GetDocumentCharacterSet());
+ aRv = NS_MutateURI(uri)
+ .SetQueryWithEncoding(NS_ConvertUTF16toUTF8(aSearch),
+ doc->GetDocumentCharacterSet())
+ .Finalize(uri);
} else {
- aRv = url->SetQuery(NS_ConvertUTF16toUTF8(aSearch));
+ aRv = NS_MutateURI(uri)
+ .SetQuery(NS_ConvertUTF16toUTF8(aSearch))
+ .Finalize(uri);
}
if (NS_WARN_IF(aRv.Failed())) {
return;
}
aRv = SetURI(uri);
}
--- a/modules/libjar/nsJARURI.cpp
+++ b/modules/libjar/nsJARURI.cpp
@@ -680,17 +680,19 @@ nsJARURI::SetQuery(const nsACString& que
{
return mJAREntry->SetQuery(query);
}
NS_IMETHODIMP
nsJARURI::SetQueryWithEncoding(const nsACString& query,
const Encoding* encoding)
{
- return mJAREntry->SetQueryWithEncoding(query, encoding);
+ return NS_MutateURI(mJAREntry)
+ .SetQueryWithEncoding(query, encoding)
+ .Finalize(mJAREntry);
}
NS_IMETHODIMP
nsJARURI::GetRef(nsACString& ref)
{
return mJAREntry->GetRef(ref);
}