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

Side by Side Diff: net/url_request/url_request_job.cc

Issue 3012001: Move implementation from header to source. (Closed) Base URL: http://src.chromium.org/git/chromium.git
Patch Set: blank line Created 10 years, 5 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
« base/tracked.h ('K') | « net/url_request/url_request_job.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2006-2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2009 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 #include "net/url_request/url_request_job.h" 5 #include "net/url_request/url_request_job.h"
6 6
7 #include "base/message_loop.h" 7 #include "base/message_loop.h"
8 #include "base/string_util.h" 8 #include "base/string_util.h"
9 #include "net/base/auth.h" 9 #include "net/base/auth.h"
10 #include "net/base/io_buffer.h" 10 #include "net/base/io_buffer.h"
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
46 metrics_.reset(new URLRequestJobMetrics()); 46 metrics_.reset(new URLRequestJobMetrics());
47 metrics_->start_time_ = TimeTicks::Now(); 47 metrics_->start_time_ = TimeTicks::Now();
48 } 48 }
49 g_url_request_job_tracker.AddNewJob(this); 49 g_url_request_job_tracker.AddNewJob(this);
50 } 50 }
51 51
52 URLRequestJob::~URLRequestJob() { 52 URLRequestJob::~URLRequestJob() {
53 g_url_request_job_tracker.RemoveJob(this); 53 g_url_request_job_tracker.RemoveJob(this);
54 } 54 }
55 55
56 void URLRequestJob::SetUpload(net::UploadData* upload) {
57 }
58
59 void URLRequestJob::SetExtraRequestHeaders(
60 const net::HttpRequestHeaders& headers) {
61 }
62
56 void URLRequestJob::Kill() { 63 void URLRequestJob::Kill() {
57 // Make sure the request is notified that we are done. We assume that the 64 // Make sure the request is notified that we are done. We assume that the
58 // request took care of setting its error status before calling Kill. 65 // request took care of setting its error status before calling Kill.
59 if (request_) 66 if (request_)
60 NotifyCanceled(); 67 NotifyCanceled();
61 } 68 }
62 69
63 void URLRequestJob::DetachRequest() { 70 void URLRequestJob::DetachRequest() {
64 request_ = NULL; 71 request_ = NULL;
65 } 72 }
66 73
67 bool URLRequestJob::IsDownload() const {
68 return (load_flags_ & net::LOAD_IS_DOWNLOAD) != 0;
69 }
70
71 void URLRequestJob::SetupFilter() { 74 void URLRequestJob::SetupFilter() {
72 std::vector<Filter::FilterType> encoding_types; 75 std::vector<Filter::FilterType> encoding_types;
73 if (GetContentEncodings(&encoding_types)) { 76 if (GetContentEncodings(&encoding_types)) {
74 filter_.reset(Filter::Factory(encoding_types, *this)); 77 filter_.reset(Filter::Factory(encoding_types, *this));
75 } 78 }
76 } 79 }
77 80
78 bool URLRequestJob::IsRedirectResponse(GURL* location, 81 bool URLRequestJob::IsRedirectResponse(GURL* location,
79 int* http_status_code) { 82 int* http_status_code) {
80 // For non-HTTP jobs, headers will be null. 83 // For non-HTTP jobs, headers will be null.
81 net::HttpResponseHeaders* headers = request_->response_headers(); 84 net::HttpResponseHeaders* headers = request_->response_headers();
82 if (!headers) 85 if (!headers)
83 return false; 86 return false;
84 87
85 std::string value; 88 std::string value;
86 if (!headers->IsRedirect(&value)) 89 if (!headers->IsRedirect(&value))
87 return false; 90 return false;
88 91
89 *location = request_->url().Resolve(value); 92 *location = request_->url().Resolve(value);
90 *http_status_code = headers->response_code(); 93 *http_status_code = headers->response_code();
91 return true; 94 return true;
92 } 95 }
93 96
97 bool URLRequestJob::IsSafeRedirect(const GURL& location) {
98 return true;
99 }
100
101 bool URLRequestJob::NeedsAuth() {
102 return false;
103 }
104
94 void URLRequestJob::GetAuthChallengeInfo( 105 void URLRequestJob::GetAuthChallengeInfo(
95 scoped_refptr<net::AuthChallengeInfo>* auth_info) { 106 scoped_refptr<net::AuthChallengeInfo>* auth_info) {
96 // This will only be called if NeedsAuth() returns true, in which 107 // This will only be called if NeedsAuth() returns true, in which
97 // case the derived class should implement this! 108 // case the derived class should implement this!
98 NOTREACHED(); 109 NOTREACHED();
99 } 110 }
100 111
101 void URLRequestJob::SetAuth(const std::wstring& username, 112 void URLRequestJob::SetAuth(const std::wstring& username,
102 const std::wstring& password) { 113 const std::wstring& password) {
103 // This will only be called if NeedsAuth() returns true, in which 114 // This will only be called if NeedsAuth() returns true, in which
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
140 deferred_redirect_url_ = GURL(); 151 deferred_redirect_url_ = GURL();
141 deferred_redirect_status_code_ = -1; 152 deferred_redirect_status_code_ = -1;
142 153
143 FollowRedirect(redirect_url, redirect_status_code); 154 FollowRedirect(redirect_url, redirect_status_code);
144 } 155 }
145 156
146 int64 URLRequestJob::GetByteReadCount() const { 157 int64 URLRequestJob::GetByteReadCount() const {
147 return filter_input_byte_count_; 158 return filter_input_byte_count_;
148 } 159 }
149 160
161 bool URLRequestJob::GetMimeType(std::string* mime_type) const {
162 return false;
163 }
164
150 bool URLRequestJob::GetURL(GURL* gurl) const { 165 bool URLRequestJob::GetURL(GURL* gurl) const {
151 if (!request_) 166 if (!request_)
152 return false; 167 return false;
153 *gurl = request_->url(); 168 *gurl = request_->url();
154 return true; 169 return true;
155 } 170 }
156 171
157 base::Time URLRequestJob::GetRequestTime() const { 172 base::Time URLRequestJob::GetRequestTime() const {
158 if (!request_) 173 if (!request_)
159 return base::Time(); 174 return base::Time();
160 return request_->request_time(); 175 return request_->request_time();
161 }; 176 };
162 177
178 bool URLRequestJob::IsCachedContent() const {
179 return false;
180 }
181
182 int URLRequestJob::GetResponseCode() const {
183 return -1;
184 }
185
186 int URLRequestJob::GetInputStreamBufferSize() const {
187 return kFilterBufSize;
188 }
189
163 // This function calls ReadData to get stream data. If a filter exists, passes 190 // This function calls ReadData to get stream data. If a filter exists, passes
164 // the data to the attached filter. Then returns the output from filter back to 191 // the data to the attached filter. Then returns the output from filter back to
165 // the caller. 192 // the caller.
166 bool URLRequestJob::Read(net::IOBuffer* buf, int buf_size, int *bytes_read) { 193 bool URLRequestJob::Read(net::IOBuffer* buf, int buf_size, int *bytes_read) {
167 bool rv = false; 194 bool rv = false;
168 195
169 DCHECK_LT(buf_size, 1000000); // sanity check 196 DCHECK_LT(buf_size, 1000000); // sanity check
170 DCHECK(buf); 197 DCHECK(buf);
171 DCHECK(bytes_read); 198 DCHECK(bytes_read);
172 199
(...skipping 18 matching lines...) Expand all
191 } 218 }
192 if (rv && *bytes_read == 0) 219 if (rv && *bytes_read == 0)
193 NotifyDone(URLRequestStatus()); 220 NotifyDone(URLRequestStatus());
194 return rv; 221 return rv;
195 } 222 }
196 223
197 void URLRequestJob::StopCaching() { 224 void URLRequestJob::StopCaching() {
198 // Nothing to do here. 225 // Nothing to do here.
199 } 226 }
200 227
228 net::LoadState URLRequestJob::GetLoadState() const {
229 return net::LOAD_STATE_IDLE;
230 }
231
232 uint64 URLRequestJob::GetUploadProgress() const {
233 return 0;
234 }
235
236 bool URLRequestJob::GetCharset(std::string* charset) {
237 return false;
238 }
239
240 void URLRequestJob::GetResponseInfo(net::HttpResponseInfo* info) {
241 }
242
243 bool URLRequestJob::GetResponseCookies(std::vector<std::string>* cookies) {
244 return false;
245 }
246
247 bool URLRequestJob::GetContentEncodings(
248 std::vector<Filter::FilterType>* encoding_types) {
249 return false;
250 }
251
252 bool URLRequestJob::IsDownload() const {
253 return (load_flags_ & net::LOAD_IS_DOWNLOAD) != 0;
254 }
255
256 bool URLRequestJob::IsSdchResponse() const {
257 return false;
258 }
259
201 bool URLRequestJob::ReadRawDataForFilter(int* bytes_read) { 260 bool URLRequestJob::ReadRawDataForFilter(int* bytes_read) {
202 bool rv = false; 261 bool rv = false;
203 262
204 DCHECK(bytes_read); 263 DCHECK(bytes_read);
205 DCHECK(filter_.get()); 264 DCHECK(filter_.get());
206 265
207 *bytes_read = 0; 266 *bytes_read = 0;
208 267
209 // Get more pre-filtered data if needed. 268 // Get more pre-filtered data if needed.
210 // TODO(mbelshe): is it possible that the filter needs *MORE* data 269 // TODO(mbelshe): is it possible that the filter needs *MORE* data
(...skipping 623 matching lines...) Expand 10 before | Expand all | Expand 10 after
834 return; 893 return;
835 } 894 }
836 895
837 if (is_compressed_) { 896 if (is_compressed_) {
838 COMPRESSION_HISTOGRAM("NoProxy.BytesBeforeCompression", compressed_B); 897 COMPRESSION_HISTOGRAM("NoProxy.BytesBeforeCompression", compressed_B);
839 COMPRESSION_HISTOGRAM("NoProxy.BytesAfterCompression", decompressed_B); 898 COMPRESSION_HISTOGRAM("NoProxy.BytesAfterCompression", decompressed_B);
840 } else { 899 } else {
841 COMPRESSION_HISTOGRAM("NoProxy.ShouldHaveBeenCompressed", decompressed_B); 900 COMPRESSION_HISTOGRAM("NoProxy.ShouldHaveBeenCompressed", decompressed_B);
842 } 901 }
843 } 902 }
OLDNEW
« base/tracked.h ('K') | « net/url_request/url_request_job.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698