Bug 1626570 - Improve handling of copying arrays in dom/fetch/. r=smaug

Differential Revision: https://phabricator.services.mozilla.com/D73652
This commit is contained in:
Simon Giesecke 2020-05-05 14:14:10 +00:00
parent a84bea3851
commit f43e7cfc99
4 changed files with 7 additions and 7 deletions

View File

@ -18,9 +18,9 @@
namespace mozilla {
namespace dom {
InternalHeaders::InternalHeaders(const nsTArray<Entry>&& aHeaders,
InternalHeaders::InternalHeaders(nsTArray<Entry>&& aHeaders,
HeadersGuardEnum aGuard)
: mGuard(aGuard), mList(aHeaders), mListDirty(true) {}
: mGuard(aGuard), mList(std::move(aHeaders)), mListDirty(true) {}
InternalHeaders::InternalHeaders(
const nsTArray<HeadersEntry>& aHeadersEntryList, HeadersGuardEnum aGuard)

View File

@ -64,7 +64,7 @@ class InternalHeaders final {
mGuard = aOther.mGuard;
}
explicit InternalHeaders(const nsTArray<Entry>&& aHeaders,
explicit InternalHeaders(nsTArray<Entry>&& aHeaders,
HeadersGuardEnum aGuard = HeadersGuardEnum::None);
InternalHeaders(const nsTArray<HeadersEntry>& aHeadersEntryList,

View File

@ -118,7 +118,7 @@ InternalRequest::InternalRequest(
}
InternalRequest::InternalRequest(const InternalRequest& aOther)
: mMethod(aOther.mMethod),
mURLList(aOther.mURLList),
mURLList(aOther.mURLList.Clone()),
mHeaders(new InternalHeaders(*aOther.mHeaders)),
mBodyLength(InternalResponse::UNKNOWN_BODY_SIZE),
mContentPolicyType(aOther.mContentPolicyType),
@ -143,7 +143,7 @@ InternalRequest::InternalRequest(const InternalRequest& aOther)
InternalRequest::InternalRequest(const IPCInternalRequest& aIPCRequest)
: mMethod(aIPCRequest.method()),
mURLList(aIPCRequest.urlList()),
mURLList(aIPCRequest.urlList().Clone()),
mHeaders(new InternalHeaders(aIPCRequest.headers(),
aIPCRequest.headersGuard())),
mBodyStream(mozilla::ipc::DeserializeIPCStream(aIPCRequest.body())),

View File

@ -327,14 +327,14 @@ already_AddRefed<InternalResponse> InternalResponse::OpaqueRedirectResponse() {
"URLList should not be emtpy for internalResponse");
RefPtr<InternalResponse> response = OpaqueResponse();
response->mType = ResponseType::Opaqueredirect;
response->mURLList = mURLList;
response->mURLList = mURLList.Clone();
return response.forget();
}
already_AddRefed<InternalResponse> InternalResponse::CreateIncompleteCopy() {
RefPtr<InternalResponse> copy = new InternalResponse(mStatus, mStatusText);
copy->mType = mType;
copy->mURLList = mURLList;
copy->mURLList = mURLList.Clone();
copy->mChannelInfo = mChannelInfo;
if (mPrincipalInfo) {
copy->mPrincipalInfo =