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

Unified Diff: net/url_request/url_request_http_job.h

Issue 12701011: [Net] Propagate priority changes from URLRequest to HttpTransaction (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix leaks Created 7 years, 9 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 | « net/url_request/url_request_ftp_job_unittest.cc ('k') | net/url_request/url_request_http_job.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/url_request/url_request_http_job.h
diff --git a/net/url_request/url_request_http_job.h b/net/url_request/url_request_http_job.h
index 8020625e14c67b4d3ebae22b28ae63a5ab40d04b..73d216f668fd6d777dd8646df04b1515a4459b2b 100644
--- a/net/url_request/url_request_http_job.h
+++ b/net/url_request/url_request_http_job.h
@@ -14,6 +14,7 @@
#include "base/time.h"
#include "net/base/auth.h"
#include "net/base/completion_callback.h"
+#include "net/base/net_export.h"
#include "net/cookies/cookie_store.h"
#include "net/http/http_request_info.h"
#include "net/url_request/url_request_job.h"
@@ -30,7 +31,7 @@ class URLRequestContext;
// A URLRequestJob subclass that is built on top of HttpTransaction. It
// provides an implementation for both HTTP and HTTPS.
-class URLRequestHttpJob : public URLRequestJob {
+class NET_EXPORT_PRIVATE URLRequestHttpJob : public URLRequestJob {
public:
static URLRequestJob* Factory(URLRequest* request,
NetworkDelegate* network_delegate,
@@ -41,6 +42,28 @@ class URLRequestHttpJob : public URLRequestJob {
NetworkDelegate* network_delegate,
const HttpUserAgentSettings* http_user_agent_settings);
+ virtual ~URLRequestHttpJob();
+
+ // Overridden from URLRequestJob:
+ virtual void SetPriority(RequestPriority priority) OVERRIDE;
+ virtual void Start() OVERRIDE;
+ virtual void Kill() OVERRIDE;
+
+ RequestPriority priority() const {
+ return priority_;
+ }
+
+ private:
+ enum CompletionCause {
+ ABORTED,
+ FINISHED
+ };
+
+ typedef base::RefCountedData<bool> SharedBoolean;
+
+ class HttpFilterContext;
+ class HttpTransactionDelegateImpl;
+
// Shadows URLRequestJob's version of this method so we can grab cookies.
void NotifyHeadersComplete();
@@ -73,8 +96,6 @@ class URLRequestHttpJob : public URLRequestJob {
virtual void SetUpload(UploadDataStream* upload) OVERRIDE;
virtual void SetExtraRequestHeaders(
const HttpRequestHeaders& headers) OVERRIDE;
- virtual void Start() OVERRIDE;
- virtual void Kill() OVERRIDE;
virtual LoadState GetLoadState() const OVERRIDE;
virtual UploadProgress GetUploadProgress() const OVERRIDE;
virtual bool GetMimeType(std::string* mime_type) const OVERRIDE;
@@ -99,60 +120,6 @@ class URLRequestHttpJob : public URLRequestJob {
virtual HostPortPair GetSocketAddress() const OVERRIDE;
virtual void NotifyURLRequestDestroyed() OVERRIDE;
- HttpRequestInfo request_info_;
- const HttpResponseInfo* response_info_;
-
- std::vector<std::string> response_cookies_;
- size_t response_cookies_save_index_;
- base::Time response_date_;
-
- // Auth states for proxy and origin server.
- AuthState proxy_auth_state_;
- AuthState server_auth_state_;
- AuthCredentials auth_credentials_;
-
- CompletionCallback start_callback_;
- CompletionCallback notify_before_headers_sent_callback_;
-
- bool read_in_progress_;
-
- // An URL for an SDCH dictionary as suggested in a Get-Dictionary HTTP header.
- GURL sdch_dictionary_url_;
-
- scoped_ptr<HttpTransaction> transaction_;
-
- // This is used to supervise traffic and enforce exponential
- // back-off. May be NULL.
- scoped_refptr<URLRequestThrottlerEntryInterface> throttling_entry_;
-
- // Indicated if an SDCH dictionary was advertised, and hence an SDCH
- // compressed response is expected. We use this to help detect (accidental?)
- // proxy corruption of a response, which sometimes marks SDCH content as
- // having no content encoding <oops>.
- bool sdch_dictionary_advertised_;
-
- // For SDCH latency experiments, when we are able to do SDCH, we may enable
- // either an SDCH latency test xor a pass through test. The following bools
- // indicate what we decided on for this instance.
- bool sdch_test_activated_; // Advertising a dictionary for sdch.
- bool sdch_test_control_; // Not even accepting-content sdch.
-
- // For recording of stats, we need to remember if this is cached content.
- bool is_cached_content_;
-
- private:
- enum CompletionCause {
- ABORTED,
- FINISHED
- };
-
- typedef base::RefCountedData<bool> SharedBoolean;
-
- class HttpFilterContext;
- class HttpTransactionDelegateImpl;
-
- virtual ~URLRequestHttpJob();
-
void RecordTimer();
void ResetTimer();
@@ -199,6 +166,49 @@ class URLRequestHttpJob : public URLRequestJob {
// Override of the private interface of URLRequestJob.
virtual void OnDetachRequest() OVERRIDE;
+ RequestPriority priority_;
+
+ HttpRequestInfo request_info_;
+ const HttpResponseInfo* response_info_;
+
+ std::vector<std::string> response_cookies_;
+ size_t response_cookies_save_index_;
+ base::Time response_date_;
+
+ // Auth states for proxy and origin server.
+ AuthState proxy_auth_state_;
+ AuthState server_auth_state_;
+ AuthCredentials auth_credentials_;
+
+ CompletionCallback start_callback_;
+ CompletionCallback notify_before_headers_sent_callback_;
+
+ bool read_in_progress_;
+
+ // An URL for an SDCH dictionary as suggested in a Get-Dictionary HTTP header.
+ GURL sdch_dictionary_url_;
+
+ scoped_ptr<HttpTransaction> transaction_;
+
+ // This is used to supervise traffic and enforce exponential
+ // back-off. May be NULL.
+ scoped_refptr<URLRequestThrottlerEntryInterface> throttling_entry_;
+
+ // Indicated if an SDCH dictionary was advertised, and hence an SDCH
+ // compressed response is expected. We use this to help detect (accidental?)
+ // proxy corruption of a response, which sometimes marks SDCH content as
+ // having no content encoding <oops>.
+ bool sdch_dictionary_advertised_;
+
+ // For SDCH latency experiments, when we are able to do SDCH, we may enable
+ // either an SDCH latency test xor a pass through test. The following bools
+ // indicate what we decided on for this instance.
+ bool sdch_test_activated_; // Advertising a dictionary for sdch.
+ bool sdch_test_control_; // Not even accepting-content sdch.
+
+ // For recording of stats, we need to remember if this is cached content.
+ bool is_cached_content_;
+
base::Time request_creation_time_;
// Data used for statistics gathering. This data is only used for histograms
« no previous file with comments | « net/url_request/url_request_ftp_job_unittest.cc ('k') | net/url_request/url_request_http_job.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698