diff options
author | battre@chromium.org <battre@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-07-13 10:41:01 +0000 |
---|---|---|
committer | battre@chromium.org <battre@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-07-13 10:41:01 +0000 |
commit | a83dd330dfcc8914c2f1a348d619f0c39b8da50e (patch) | |
tree | 8b292fe9f4a8293ce9faad34ccff25a2dabd9336 /net/url_request/url_request_job.h | |
parent | b5523b350fa5eee2eaf1aa4fb9bc63f14815539a (diff) | |
download | chromium_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.h | 14 |
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(); |