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 |