NS_IMETHODIMP FetchDriver::OnStopRequest(nsIRequest* aRequest, nsISupports* aContext, nsresult aStatusCode) { workers::AssertIsOnMainThread(); if (mPipeOutputStream) { mPipeOutputStream->Close(); } if (NS_FAILED(aStatusCode)) { FailWithNetworkError(); return aStatusCode; } ContinueHttpFetchAfterNetworkFetch(); return NS_OK; }
NS_IMETHODIMP FetchDriver::OnStopRequest(nsIRequest* aRequest, nsISupports* aContext, nsresult aStatusCode) { workers::AssertIsOnMainThread(); if (NS_FAILED(aStatusCode)) { nsCOMPtr<nsIAsyncOutputStream> outputStream = do_QueryInterface(mPipeOutputStream); if (outputStream) { outputStream->CloseWithStatus(NS_BINDING_FAILED); } // We proceed as usual here, since we've already created a successful response // from OnStartRequest. SucceedWithResponse(); return aStatusCode; } if (mPipeOutputStream) { mPipeOutputStream->Close(); } ContinueHttpFetchAfterNetworkFetch(); return NS_OK; }