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

Side by Side Diff: headless/public/util/generic_url_request_job.h

Issue 2695923010: Add Network.setSendRequestIdHeader and use it in headless (Closed)
Patch Set: Fix the layout test Created 3 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef HEADLESS_PUBLIC_UTIL_GENERIC_URL_REQUEST_JOB_H_ 5 #ifndef HEADLESS_PUBLIC_UTIL_GENERIC_URL_REQUEST_JOB_H_
6 #define HEADLESS_PUBLIC_UTIL_GENERIC_URL_REQUEST_JOB_H_ 6 #define HEADLESS_PUBLIC_UTIL_GENERIC_URL_REQUEST_JOB_H_
7 7
8 #include <stddef.h> 8 #include <stddef.h>
9 #include <functional> 9 #include <functional>
10 #include <memory> 10 #include <memory>
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
51 size_t response_data_size; 51 size_t response_data_size;
52 }; 52 };
53 53
54 class Delegate { 54 class Delegate {
55 public: 55 public:
56 // Allows the delegate to rewrite the URL for a given request. Return true 56 // Allows the delegate to rewrite the URL for a given request. Return true
57 // to signal that the rewrite is in progress and |callback| will be called 57 // to signal that the rewrite is in progress and |callback| will be called
58 // with the result, or false to indicate that no rewriting is necessary. 58 // with the result, or false to indicate that no rewriting is necessary.
59 // Called on an arbitrary thread. 59 // Called on an arbitrary thread.
60 virtual bool BlockOrRewriteRequest(const GURL& url, 60 virtual bool BlockOrRewriteRequest(const GURL& url,
61 const std::string& devtools_id,
61 const std::string& method, 62 const std::string& method,
62 const std::string& referrer, 63 const std::string& referrer,
63 RewriteCallback callback) = 0; 64 RewriteCallback callback);
65 // TODO(alexclarke): Make the above pure virtual and remove this.
66 virtual bool BlockOrRewriteRequest(const GURL& url,
67 const std::string& method,
68 const std::string& referrer,
69 RewriteCallback callback);
64 70
65 // Allows the delegate to synchronously fulfill a request with a reply. 71 // Allows the delegate to synchronously fulfill a request with a reply.
66 // Called on an arbitrary thread. 72 // Called on an arbitrary thread.
67 virtual const HttpResponse* MaybeMatchResource( 73 virtual const HttpResponse* MaybeMatchResource(
68 const GURL& url, 74 const GURL& url,
75 const std::string& devtools_id,
69 const std::string& method, 76 const std::string& method,
70 const net::HttpRequestHeaders& request_headers) = 0; 77 const net::HttpRequestHeaders& request_headers);
78 // TODO(alexclarke): Make the above pure virtual and remove this.
79 virtual const HttpResponse* MaybeMatchResource(
80 const GURL& url,
81 const std::string& method,
82 const net::HttpRequestHeaders& request_headers);
71 83
72 // Signals that a resource load has finished. Called on an arbitrary thread. 84 // Signals that a resource load has finished. Called on an arbitrary thread.
73 virtual void OnResourceLoadComplete(const GURL& final_url, 85 virtual void OnResourceLoadComplete(const GURL& final_url,
86 const std::string& devtools_id,
74 const std::string& mime_type, 87 const std::string& mime_type,
75 int http_response_code) = 0; 88 int http_response_code);
89 // TODO(alexclarke): Make the above pure virtual and remove this.
90 virtual void OnResourceLoadComplete(const GURL& final_url,
91 const std::string& mime_type,
92 int http_response_code) {}
76 93
77 protected: 94 protected:
78 virtual ~Delegate() {} 95 virtual ~Delegate() {}
79 }; 96 };
80 97
81 // NOTE |url_request_dispatcher| and |delegate| must outlive the 98 // NOTE |url_request_dispatcher| and |delegate| must outlive the
82 // GenericURLRequestJob. 99 // GenericURLRequestJob.
83 GenericURLRequestJob(net::URLRequest* request, 100 GenericURLRequestJob(net::URLRequest* request,
84 net::NetworkDelegate* network_delegate, 101 net::NetworkDelegate* network_delegate,
85 URLRequestDispatcher* url_request_dispatcher, 102 URLRequestDispatcher* url_request_dispatcher,
(...skipping 24 matching lines...) Expand all
110 const std::string& method, 127 const std::string& method,
111 const url::Origin& site_for_cookies); 128 const url::Origin& site_for_cookies);
112 129
113 void OnCookiesAvailable(const GURL& rewritten_url, 130 void OnCookiesAvailable(const GURL& rewritten_url,
114 const std::string& method, 131 const std::string& method,
115 const net::CookieList& cookie_list); 132 const net::CookieList& cookie_list);
116 133
117 std::unique_ptr<URLFetcher> url_fetcher_; 134 std::unique_ptr<URLFetcher> url_fetcher_;
118 net::HttpRequestHeaders extra_request_headers_; 135 net::HttpRequestHeaders extra_request_headers_;
119 scoped_refptr<net::HttpResponseHeaders> response_headers_; 136 scoped_refptr<net::HttpResponseHeaders> response_headers_;
137 std::string devtools_request_id_;
120 Delegate* delegate_; // Not owned. 138 Delegate* delegate_; // Not owned.
121 const char* body_ = nullptr; // Not owned. 139 const char* body_ = nullptr; // Not owned.
122 int http_response_code_ = 0; 140 int http_response_code_ = 0;
123 size_t body_size_ = 0; 141 size_t body_size_ = 0;
124 size_t read_offset_ = 0; 142 size_t read_offset_ = 0;
125 base::TimeTicks response_time_; 143 base::TimeTicks response_time_;
126 144
127 base::WeakPtrFactory<GenericURLRequestJob> weak_factory_; 145 base::WeakPtrFactory<GenericURLRequestJob> weak_factory_;
128 146
129 DISALLOW_COPY_AND_ASSIGN(GenericURLRequestJob); 147 DISALLOW_COPY_AND_ASSIGN(GenericURLRequestJob);
130 }; 148 };
131 149
132 } // namespace headless 150 } // namespace headless
133 151
134 #endif // HEADLESS_PUBLIC_UTIL_GENERIC_URL_REQUEST_JOB_H_ 152 #endif // HEADLESS_PUBLIC_UTIL_GENERIC_URL_REQUEST_JOB_H_
OLDNEW
« no previous file with comments | « headless/public/util/deterministic_http_protocol_handler.cc ('k') | headless/public/util/generic_url_request_job.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698