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); |