| 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 "webkit/browser/blob/blob_url_request_job.h" | 5 #include "webkit/browser/blob/blob_url_request_job.h" |
| 6 | 6 |
| 7 #include <limits> | 7 #include <limits> |
| 8 | 8 |
| 9 #include "base/basictypes.h" | 9 #include "base/basictypes.h" |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| (...skipping 12 matching lines...) Expand all Loading... |
| 23 #include "net/http/http_response_info.h" | 23 #include "net/http/http_response_info.h" |
| 24 #include "net/http/http_util.h" | 24 #include "net/http/http_util.h" |
| 25 #include "net/url_request/url_request.h" | 25 #include "net/url_request/url_request.h" |
| 26 #include "net/url_request/url_request_context.h" | 26 #include "net/url_request/url_request_context.h" |
| 27 #include "net/url_request/url_request_error_job.h" | 27 #include "net/url_request/url_request_error_job.h" |
| 28 #include "net/url_request/url_request_status.h" | 28 #include "net/url_request/url_request_status.h" |
| 29 #include "webkit/browser/blob/file_stream_reader.h" | 29 #include "webkit/browser/blob/file_stream_reader.h" |
| 30 #include "webkit/browser/fileapi/file_system_context.h" | 30 #include "webkit/browser/fileapi/file_system_context.h" |
| 31 #include "webkit/browser/fileapi/file_system_url.h" | 31 #include "webkit/browser/fileapi/file_system_url.h" |
| 32 | 32 |
| 33 namespace webkit_blob { | 33 namespace storage { |
| 34 | 34 |
| 35 namespace { | 35 namespace { |
| 36 | 36 |
| 37 bool IsFileType(BlobData::Item::Type type) { | 37 bool IsFileType(BlobData::Item::Type type) { |
| 38 switch (type) { | 38 switch (type) { |
| 39 case BlobData::Item::TYPE_FILE: | 39 case BlobData::Item::TYPE_FILE: |
| 40 case BlobData::Item::TYPE_FILE_FILESYSTEM: | 40 case BlobData::Item::TYPE_FILE_FILESYSTEM: |
| 41 return true; | 41 return true; |
| 42 default: | 42 default: |
| 43 return false; | 43 return false; |
| 44 } | 44 } |
| 45 } | 45 } |
| 46 | 46 |
| 47 } // namespace | 47 } // namespace |
| 48 | 48 |
| 49 BlobURLRequestJob::BlobURLRequestJob( | 49 BlobURLRequestJob::BlobURLRequestJob( |
| 50 net::URLRequest* request, | 50 net::URLRequest* request, |
| 51 net::NetworkDelegate* network_delegate, | 51 net::NetworkDelegate* network_delegate, |
| 52 BlobData* blob_data, | 52 BlobData* blob_data, |
| 53 fileapi::FileSystemContext* file_system_context, | 53 storage::FileSystemContext* file_system_context, |
| 54 base::MessageLoopProxy* file_thread_proxy) | 54 base::MessageLoopProxy* file_thread_proxy) |
| 55 : net::URLRequestJob(request, network_delegate), | 55 : net::URLRequestJob(request, network_delegate), |
| 56 blob_data_(blob_data), | 56 blob_data_(blob_data), |
| 57 file_system_context_(file_system_context), | 57 file_system_context_(file_system_context), |
| 58 file_thread_proxy_(file_thread_proxy), | 58 file_thread_proxy_(file_thread_proxy), |
| 59 total_size_(0), | 59 total_size_(0), |
| 60 remaining_bytes_(0), | 60 remaining_bytes_(0), |
| 61 pending_get_file_info_count_(0), | 61 pending_get_file_info_count_(0), |
| 62 current_item_index_(0), | 62 current_item_index_(0), |
| 63 current_item_offset_(0), | 63 current_item_offset_(0), |
| (...skipping 502 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 566 switch (item.type()) { | 566 switch (item.type()) { |
| 567 case BlobData::Item::TYPE_FILE: | 567 case BlobData::Item::TYPE_FILE: |
| 568 reader = FileStreamReader::CreateForLocalFile( | 568 reader = FileStreamReader::CreateForLocalFile( |
| 569 file_thread_proxy_.get(), | 569 file_thread_proxy_.get(), |
| 570 item.path(), | 570 item.path(), |
| 571 item.offset() + additional_offset, | 571 item.offset() + additional_offset, |
| 572 item.expected_modification_time()); | 572 item.expected_modification_time()); |
| 573 break; | 573 break; |
| 574 case BlobData::Item::TYPE_FILE_FILESYSTEM: | 574 case BlobData::Item::TYPE_FILE_FILESYSTEM: |
| 575 reader = file_system_context_->CreateFileStreamReader( | 575 reader = file_system_context_->CreateFileStreamReader( |
| 576 fileapi::FileSystemURL( | 576 storage::FileSystemURL( |
| 577 file_system_context_->CrackURL(item.filesystem_url())), | 577 file_system_context_->CrackURL( |
| 578 item.offset() + additional_offset, | 578 item.filesystem_url())), |
| 579 item.expected_modification_time()).release(); | 579 item.offset() + additional_offset, |
| 580 item.expected_modification_time()) |
| 581 .release(); |
| 580 break; | 582 break; |
| 581 default: | 583 default: |
| 582 NOTREACHED(); | 584 NOTREACHED(); |
| 583 } | 585 } |
| 584 DCHECK(reader); | 586 DCHECK(reader); |
| 585 index_to_reader_[index] = reader; | 587 index_to_reader_[index] = reader; |
| 586 } | 588 } |
| 587 | 589 |
| 588 } // namespace webkit_blob | 590 } // namespace storage |
| OLD | NEW |