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 |