зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1510580 - Use nsIURIFixup in netwerk/protocol/http, r=valentin
This commit is contained in:
Родитель
df66599cf0
Коммит
a91ebb7cd1
|
@ -68,6 +68,7 @@
|
|||
#include "nsIXULRuntime.h"
|
||||
#include "nsICacheInfoChannel.h"
|
||||
#include "nsIDOMWindowUtils.h"
|
||||
#include "nsIURIFixup.h"
|
||||
#include "nsHttpChannel.h"
|
||||
#include "nsRedirectHistoryEntry.h"
|
||||
#include "nsServerTiming.h"
|
||||
|
@ -1905,10 +1906,18 @@ HttpBaseChannel::SetReferrerWithPolicy(nsIURI *referrer,
|
|||
|
||||
// strip away any userpass; we don't want to be giving out passwords ;-)
|
||||
// This is required by Referrer Policy stripping algorithm.
|
||||
rv = NS_MutateURI(clone)
|
||||
.SetUserPass(EmptyCString())
|
||||
.Finalize(clone);
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
nsCOMPtr<nsIURIFixup> urifixup = services::GetURIFixup();
|
||||
if (NS_WARN_IF(!urifixup)) {
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
|
||||
nsCOMPtr<nsIURI> exposableURI;
|
||||
rv = urifixup->CreateExposableURI(clone, getter_AddRefs(exposableURI));
|
||||
if (NS_WARN_IF(NS_FAILED(rv))) {
|
||||
return rv;
|
||||
}
|
||||
|
||||
clone = exposableURI;
|
||||
|
||||
// 0: full URI
|
||||
// 1: scheme+host+port+path
|
||||
|
|
|
@ -82,6 +82,7 @@
|
|||
#include "nsIHttpChannelInternal.h"
|
||||
#include "nsIPrompt.h"
|
||||
#include "nsInputStreamPump.h"
|
||||
#include "nsIURIFixup.h"
|
||||
#include "nsURLHelper.h"
|
||||
#include "nsISocketTransport.h"
|
||||
#include "nsIStreamConverterService.h"
|
||||
|
@ -1113,11 +1114,17 @@ nsHttpChannel::SetupTransaction()
|
|||
if (NS_FAILED(rv)) return rv;
|
||||
if (!buf.IsEmpty() && ((strncmp(mSpec.get(), "http:", 5) == 0) ||
|
||||
strncmp(mSpec.get(), "https:", 6) == 0)) {
|
||||
nsCOMPtr<nsIURIFixup> urifixup = services::GetURIFixup();
|
||||
if (NS_WARN_IF(!urifixup)) {
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
|
||||
nsCOMPtr<nsIURI> tempURI;
|
||||
rv = NS_MutateURI(mURI)
|
||||
.SetUserPass(EmptyCString())
|
||||
.Finalize(tempURI);
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
nsresult rv = urifixup->CreateExposableURI(mURI, getter_AddRefs(tempURI));
|
||||
if (NS_WARN_IF(NS_FAILED(rv))) {
|
||||
return rv;
|
||||
}
|
||||
|
||||
rv = tempURI->GetAsciiSpec(path);
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
requestURI = &path;
|
||||
|
|
Загрузка…
Ссылка в новой задаче