Chromium Code Reviews| Index: content/browser/loader/resource_request_info_impl.h |
| diff --git a/content/browser/loader/resource_request_info_impl.h b/content/browser/loader/resource_request_info_impl.h |
| index 34d05b98164f6f281f92264fcf660b05d3db4ac3..b0e5231e3bc8ef275b8fa8a239920a2b61bb39b2 100644 |
| --- a/content/browser/loader/resource_request_info_impl.h |
| +++ b/content/browser/loader/resource_request_info_impl.h |
| @@ -18,6 +18,8 @@ |
| #include "content/public/common/resource_type.h" |
| #include "net/base/load_states.h" |
| +struct ResourceHostMsg_Request; |
| + |
| namespace content { |
| class CrossSiteResourceHandler; |
| class DetachableResourceHandler; |
| @@ -39,6 +41,9 @@ class ResourceRequestInfoImpl : public ResourceRequestInfo, |
| CONTENT_EXPORT static const ResourceRequestInfoImpl* ForRequest( |
| const net::URLRequest* request); |
| + // TODO(ricea): Something about this constructor. |
|
davidben
2015/10/08 21:57:52
?
Adam Rice
2015/10/13 22:53:17
I feel that 26 arguments is excessive. TODO remove
|
| + // |original_request| is owned by the caller. If non-NULL, it is copied by |
| + // the constructor. |
| CONTENT_EXPORT ResourceRequestInfoImpl( |
| int process_type, |
| int child_id, |
| @@ -64,7 +69,8 @@ class ResourceRequestInfoImpl : public ResourceRequestInfo, |
| blink::WebPageVisibilityState visibility_state, |
| ResourceContext* context, |
| base::WeakPtr<ResourceMessageFilter> filter, |
| - bool is_async); |
| + bool is_async, |
| + const ResourceHostMsg_Request* original_request); |
| ~ResourceRequestInfoImpl() override; |
| // ResourceRequestInfo implementation: |
| @@ -178,6 +184,9 @@ class ResourceRequestInfoImpl : public ResourceRequestInfo, |
| void set_do_not_prompt_for_login(bool do_not_prompt) { |
| do_not_prompt_for_login_ = do_not_prompt; |
| } |
| + ResourceHostMsg_Request* original_request() { |
| + return original_request_.get(); |
| + } |
| private: |
| FRIEND_TEST_ALL_PREFIXES(ResourceDispatcherHostTest, |
| @@ -217,6 +226,13 @@ class ResourceRequestInfoImpl : public ResourceRequestInfo, |
| // The filter might be deleted without deleting this object if the process |
| // exits during a transfer. |
| base::WeakPtr<ResourceMessageFilter> filter_; |
| + |
| + // Original request information required to clone the request if an async |
|
davidben
2015/10/08 21:57:52
See comment in the RDH re how to avoid this.
Adam Rice
2015/10/13 22:53:17
I'm sorry, I can't find the comment that you are r
|
| + // revalidation will be performed. NULL if async revalidation is not |
|
davidben
2015/10/08 21:57:52
nullptr
Adam Rice
2015/10/13 22:53:17
Done.
|
| + // applicable to this request (eg. it is already an async revalidation, is not |
| + // method "GET", etc.). |
| + scoped_ptr<ResourceHostMsg_Request> original_request_; |
| + |
| bool is_async_; |
| DISALLOW_COPY_AND_ASSIGN(ResourceRequestInfoImpl); |