OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2006, 2007, 2010, 2011 Apple Inc. All rights reserved. | 2 * Copyright (C) 2006, 2007, 2010, 2011 Apple Inc. All rights reserved. |
3 * (C) 2007 Graham Dennis (graham.dennis@gmail.com) | 3 * (C) 2007 Graham Dennis (graham.dennis@gmail.com) |
4 * | 4 * |
5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
6 * modification, are permitted provided that the following conditions | 6 * modification, are permitted provided that the following conditions |
7 * are met: | 7 * are met: |
8 * | 8 * |
9 * 1. Redistributions of source code must retain the above copyright | 9 * 1. Redistributions of source code must retain the above copyright |
10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
200 std::unique_ptr<WebDataConsumerHandle> handle) { | 200 std::unique_ptr<WebDataConsumerHandle> handle) { |
201 DCHECK(!response.isNull()); | 201 DCHECK(!response.isNull()); |
202 m_fetcher->didReceiveResponse(m_resource.get(), response.toResourceResponse(), | 202 m_fetcher->didReceiveResponse(m_resource.get(), response.toResourceResponse(), |
203 std::move(handle)); | 203 std::move(handle)); |
204 } | 204 } |
205 | 205 |
206 void ResourceLoader::didReceiveResponse(const WebURLResponse& response) { | 206 void ResourceLoader::didReceiveResponse(const WebURLResponse& response) { |
207 didReceiveResponse(response, nullptr); | 207 didReceiveResponse(response, nullptr); |
208 } | 208 } |
209 | 209 |
210 void ResourceLoader::didReceiveData(const char* data, | 210 void ResourceLoader::didReceiveData(const char* data, int length) { |
211 int length, | |
212 int encodedDataLength) { | |
213 CHECK_GE(length, 0); | 211 CHECK_GE(length, 0); |
214 m_fetcher->didReceiveData(m_resource.get(), data, length, encodedDataLength); | 212 m_fetcher->didReceiveData(m_resource.get(), data, length); |
215 m_resource->addToDecodedBodyLength(length); | 213 m_resource->addToDecodedBodyLength(length); |
216 m_resource->appendData(data, length); | 214 m_resource->appendData(data, length); |
217 } | 215 } |
218 | 216 |
| 217 void ResourceLoader::didReceiveTransferSizeUpdate(int transferSizeDiff) { |
| 218 DCHECK_GT(transferSizeDiff, 0); |
| 219 m_fetcher->didReceiveTransferSizeUpdate(m_resource.get(), transferSizeDiff); |
| 220 } |
| 221 |
219 void ResourceLoader::didFinishLoadingFirstPartInMultipart() { | 222 void ResourceLoader::didFinishLoadingFirstPartInMultipart() { |
220 m_fetcher->didFinishLoading(m_resource.get(), 0, | 223 m_fetcher->didFinishLoading(m_resource.get(), 0, |
221 ResourceFetcher::DidFinishFirstPartInMultipart); | 224 ResourceFetcher::DidFinishFirstPartInMultipart); |
222 } | 225 } |
223 | 226 |
224 void ResourceLoader::didFinishLoading(double finishTime, | 227 void ResourceLoader::didFinishLoading(double finishTime, |
225 int64_t encodedDataLength, | 228 int64_t encodedDataLength, |
226 int64_t encodedBodyLength) { | 229 int64_t encodedBodyLength) { |
227 m_resource->setEncodedDataLength(encodedDataLength); | 230 m_resource->setEncodedDataLength(encodedDataLength); |
228 m_resource->addToEncodedBodyLength(encodedBodyLength); | 231 m_resource->addToEncodedBodyLength(encodedBodyLength); |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
280 didReceiveResponse(responseOut); | 283 didReceiveResponse(responseOut); |
281 if (!m_loader) | 284 if (!m_loader) |
282 return; | 285 return; |
283 DCHECK_GE(responseOut.toResourceResponse().encodedBodyLength(), 0); | 286 DCHECK_GE(responseOut.toResourceResponse().encodedBodyLength(), 0); |
284 | 287 |
285 // Follow the async case convention of not calling didReceiveData or | 288 // Follow the async case convention of not calling didReceiveData or |
286 // appending data to m_resource if the response body is empty. Copying the | 289 // appending data to m_resource if the response body is empty. Copying the |
287 // empty buffer is a noop in most cases, but is destructive in the case of | 290 // empty buffer is a noop in most cases, but is destructive in the case of |
288 // a 304, where it will overwrite the cached data we should be reusing. | 291 // a 304, where it will overwrite the cached data we should be reusing. |
289 if (dataOut.size()) { | 292 if (dataOut.size()) { |
290 m_fetcher->didReceiveData(m_resource.get(), dataOut.data(), dataOut.size(), | 293 m_fetcher->didReceiveData(m_resource.get(), dataOut.data(), dataOut.size()); |
291 encodedDataLength); | |
292 m_resource->setResourceBuffer(dataOut); | 294 m_resource->setResourceBuffer(dataOut); |
293 } | 295 } |
294 didFinishLoading(monotonicallyIncreasingTime(), encodedDataLength, | 296 didFinishLoading(monotonicallyIncreasingTime(), encodedDataLength, |
295 encodedBodyLength); | 297 encodedBodyLength); |
296 } | 298 } |
297 | 299 |
298 void ResourceLoader::activateCacheAwareLoadingIfNeeded( | 300 void ResourceLoader::activateCacheAwareLoadingIfNeeded( |
299 const ResourceRequest& request) { | 301 const ResourceRequest& request) { |
300 DCHECK(!m_isCacheAwareLoadingActivated); | 302 DCHECK(!m_isCacheAwareLoadingActivated); |
301 | 303 |
(...skipping 10 matching lines...) Expand all Loading... |
312 return; | 314 return; |
313 | 315 |
314 // Don't activate if cache policy is explicitly set. | 316 // Don't activate if cache policy is explicitly set. |
315 if (request.getCachePolicy() != WebCachePolicy::UseProtocolCachePolicy) | 317 if (request.getCachePolicy() != WebCachePolicy::UseProtocolCachePolicy) |
316 return; | 318 return; |
317 | 319 |
318 m_isCacheAwareLoadingActivated = true; | 320 m_isCacheAwareLoadingActivated = true; |
319 } | 321 } |
320 | 322 |
321 } // namespace blink | 323 } // namespace blink |
OLD | NEW |