OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "content/browser/loader/async_resource_handler.h" | 5 #include "content/browser/loader/async_resource_handler.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
(...skipping 255 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
266 GetRequestID(), handle, size, filter->peer_pid())); | 266 GetRequestID(), handle, size, filter->peer_pid())); |
267 sent_first_data_msg_ = true; | 267 sent_first_data_msg_ = true; |
268 } | 268 } |
269 | 269 |
270 int data_offset = buffer_->GetLastAllocationOffset(); | 270 int data_offset = buffer_->GetLastAllocationOffset(); |
271 | 271 |
272 int64_t current_transfer_size = request()->GetTotalReceivedBytes(); | 272 int64_t current_transfer_size = request()->GetTotalReceivedBytes(); |
273 int encoded_data_length = current_transfer_size - reported_transfer_size_; | 273 int encoded_data_length = current_transfer_size - reported_transfer_size_; |
274 reported_transfer_size_ = current_transfer_size; | 274 reported_transfer_size_ = current_transfer_size; |
275 | 275 |
| 276 // TODO(erikchen): Remove me after finished debugging for |
| 277 // http://crbug.com/527588. |
| 278 // The data offset can't exceed the size of the buffer. |
| 279 CHECK_LE(data_offset, kBufferSize); |
| 280 |
276 filter->Send(new ResourceMsg_DataReceived( | 281 filter->Send(new ResourceMsg_DataReceived( |
277 GetRequestID(), data_offset, bytes_read, encoded_data_length)); | 282 GetRequestID(), data_offset, bytes_read, encoded_data_length)); |
278 ++pending_data_count_; | 283 ++pending_data_count_; |
279 | 284 |
280 if (!buffer_->CanAllocate()) { | 285 if (!buffer_->CanAllocate()) { |
281 *defer = did_defer_ = true; | 286 *defer = did_defer_ = true; |
282 OnDefer(); | 287 OnDefer(); |
283 } | 288 } |
284 | 289 |
285 return true; | 290 return true; |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
374 request()->LogUnblocked(); | 379 request()->LogUnblocked(); |
375 controller()->Resume(); | 380 controller()->Resume(); |
376 } | 381 } |
377 } | 382 } |
378 | 383 |
379 void AsyncResourceHandler::OnDefer() { | 384 void AsyncResourceHandler::OnDefer() { |
380 request()->LogBlockedBy("AsyncResourceHandler"); | 385 request()->LogBlockedBy("AsyncResourceHandler"); |
381 } | 386 } |
382 | 387 |
383 } // namespace content | 388 } // namespace content |
OLD | NEW |