Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(230)

Unified Diff: net/ocsp/nss_ocsp.cc

Issue 407093011: Allow URLRequests from one context to have different NetworkDelegates. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix new tests Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « mojo/services/network/url_loader_impl.cc ('k') | net/spdy/spdy_network_transaction_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/ocsp/nss_ocsp.cc
diff --git a/net/ocsp/nss_ocsp.cc b/net/ocsp/nss_ocsp.cc
index 7c719487b49d4ff5e10ec9b513bdbbf7ef2e49ef..1d7fa9dc87b73b9a73aeea8469887a0ce31b96d8 100644
--- a/net/ocsp/nss_ocsp.cc
+++ b/net/ocsp/nss_ocsp.cc
@@ -20,6 +20,7 @@
#include "base/compiler_specific.h"
#include "base/lazy_instance.h"
#include "base/logging.h"
+#include "base/memory/scoped_ptr.h"
#include "base/message_loop/message_loop.h"
#include "base/metrics/histogram.h"
#include "base/stl_util.h"
@@ -187,7 +188,6 @@ class OCSPRequestSession
: url_(url),
http_request_method_(http_request_method),
timeout_(timeout),
- request_(NULL),
buffer_(new IOBuffer(kRecvBufferSize)),
response_code_(-1),
cv_(&lock_),
@@ -218,7 +218,7 @@ class OCSPRequestSession
}
bool Started() const {
- return request_ != NULL;
+ return request_.get() != NULL;
}
void Cancel() {
@@ -286,7 +286,7 @@ class OCSPRequestSession
virtual void OnReceivedRedirect(URLRequest* request,
const RedirectInfo& redirect_info,
bool* defer_redirect) OVERRIDE {
- DCHECK_EQ(request, request_);
+ DCHECK_EQ(request_.get(), request);
DCHECK_EQ(base::MessageLoopForIO::current(), io_loop_);
if (!redirect_info.new_url.SchemeIs("http")) {
@@ -297,7 +297,7 @@ class OCSPRequestSession
}
virtual void OnResponseStarted(URLRequest* request) OVERRIDE {
- DCHECK_EQ(request, request_);
+ DCHECK_EQ(request_.get(), request);
DCHECK_EQ(base::MessageLoopForIO::current(), io_loop_);
int bytes_read = 0;
@@ -307,12 +307,12 @@ class OCSPRequestSession
response_headers_->GetMimeType(&response_content_type_);
request_->Read(buffer_.get(), kRecvBufferSize, &bytes_read);
}
- OnReadCompleted(request_, bytes_read);
+ OnReadCompleted(request_.get(), bytes_read);
}
virtual void OnReadCompleted(URLRequest* request,
int bytes_read) OVERRIDE {
- DCHECK_EQ(request, request_);
+ DCHECK_EQ(request_.get(), request);
DCHECK_EQ(base::MessageLoopForIO::current(), io_loop_);
do {
@@ -322,8 +322,7 @@ class OCSPRequestSession
} while (request_->Read(buffer_.get(), kRecvBufferSize, &bytes_read));
if (!request_->status().is_io_pending()) {
- delete request_;
- request_ = NULL;
+ request_.reset();
g_ocsp_io_loop.Get().RemoveRequest(this);
{
base::AutoLock autolock(lock_);
@@ -345,9 +344,7 @@ class OCSPRequestSession
}
#endif
if (request_) {
- request_->Cancel();
- delete request_;
- request_ = NULL;
+ request_.reset();
g_ocsp_io_loop.Get().RemoveRequest(this);
{
base::AutoLock autolock(lock_);
@@ -398,8 +395,8 @@ class OCSPRequestSession
g_ocsp_io_loop.Get().AddRequest(this);
}
- request_ =
- new URLRequest(url_, DEFAULT_PRIORITY, this, url_request_context);
+ request_ = url_request_context->CreateRequest(
+ url_, DEFAULT_PRIORITY, this, NULL);
// To meet the privacy requirements of incognito mode.
request_->SetLoadFlags(LOAD_DISABLE_CACHE | LOAD_DO_NOT_SAVE_COOKIES |
LOAD_DO_NOT_SEND_COOKIES);
@@ -424,10 +421,10 @@ class OCSPRequestSession
AddRef(); // Release after |request_| deleted.
}
- GURL url_; // The URL we eventually wound up at
+ GURL url_; // The URL we eventually wound up at
std::string http_request_method_;
- base::TimeDelta timeout_; // The timeout for OCSP
- URLRequest* request_; // The actual request this wraps
+ base::TimeDelta timeout_; // The timeout for OCSP
+ scoped_ptr<URLRequest> request_; // The actual request this wraps
scoped_refptr<IOBuffer> buffer_; // Read buffer
HttpRequestHeaders extra_request_headers_;
« no previous file with comments | « mojo/services/network/url_loader_impl.cc ('k') | net/spdy/spdy_network_transaction_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698