summaryrefslogtreecommitdiffstats
path: root/net/url_request/url_request_job.h
diff options
context:
space:
mode:
authorbattre@chromium.org <battre@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-07-13 10:41:01 +0000
committerbattre@chromium.org <battre@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-07-13 10:41:01 +0000
commita83dd330dfcc8914c2f1a348d619f0c39b8da50e (patch)
tree8b292fe9f4a8293ce9faad34ccff25a2dabd9336 /net/url_request/url_request_job.h
parentb5523b350fa5eee2eaf1aa4fb9bc63f14815539a (diff)
downloadchromium_src-a83dd330dfcc8914c2f1a348d619f0c39b8da50e.zip
chromium_src-a83dd330dfcc8914c2f1a348d619f0c39b8da50e.tar.gz
chromium_src-a83dd330dfcc8914c2f1a348d619f0c39b8da50e.tar.bz2
Fix leaking request IDs in webRequest API
The current webRequest API did not guarantee that either onCompleted or onErrorOccurred is called for each request. If an extension fills a REQUEST_ID -> URL hashmap for all requests at the onBeforeRequest event, and tried to delete the entries on onCompleted and onErrorOccurred, some entries remained in the hashmap. BUG=86139 TEST=execute example extension attached to bug Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=92331 Review URL: http://codereview.chromium.org/7190007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92349 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/url_request/url_request_job.h')
-rw-r--r--net/url_request/url_request_job.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/net/url_request/url_request_job.h b/net/url_request/url_request_job.h
index d2261ca..e9887ad 100644
--- a/net/url_request/url_request_job.h
+++ b/net/url_request/url_request_job.h
@@ -24,9 +24,11 @@
namespace net {
class AuthChallengeInfo;
+class CookieOptions;
class HttpRequestHeaders;
class HttpResponseInfo;
class IOBuffer;
+class SSLCertRequestInfo;
class URLRequest;
class UploadData;
class URLRequestStatus;
@@ -190,6 +192,18 @@ class NET_API URLRequestJob : public base::RefCounted<URLRequestJob>,
friend class base::RefCounted<URLRequestJob>;
virtual ~URLRequestJob();
+ // Notifies the job that a certificate is requested.
+ void NotifyCertificateRequested(SSLCertRequestInfo* cert_request_info);
+
+ // Notifies the job about an SSL certificate error.
+ void NotifySSLCertificateError(int cert_error, X509Certificate* cert);
+
+ // Delegates to URLRequest::Delegate.
+ bool CanGetCookies();
+
+ // Delegates to URLRequest::Delegate.
+ bool CanSetCookie(const std::string& cookie_line, CookieOptions* options);
+
// Notifies the job that headers have been received.
void NotifyHeadersComplete();