OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/upload_data_stream_builder.h" | 5 #include "content/browser/loader/upload_data_stream_builder.h" |
6 | 6 |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 #include "content/browser/fileapi/upload_file_system_file_element_reader.h" | 8 #include "content/browser/fileapi/upload_file_system_file_element_reader.h" |
9 #include "content/common/resource_request_body.h" | 9 #include "content/common/resource_request_body.h" |
10 #include "net/base/elements_upload_data_stream.h" | 10 #include "net/base/elements_upload_data_stream.h" |
(...skipping 12 matching lines...) Expand all Loading... |
23 // A subclass of net::UploadBytesElementReader which owns ResourceRequestBody. | 23 // A subclass of net::UploadBytesElementReader which owns ResourceRequestBody. |
24 class BytesElementReader : public net::UploadBytesElementReader { | 24 class BytesElementReader : public net::UploadBytesElementReader { |
25 public: | 25 public: |
26 BytesElementReader(ResourceRequestBody* resource_request_body, | 26 BytesElementReader(ResourceRequestBody* resource_request_body, |
27 const ResourceRequestBody::Element& element) | 27 const ResourceRequestBody::Element& element) |
28 : net::UploadBytesElementReader(element.bytes(), element.length()), | 28 : net::UploadBytesElementReader(element.bytes(), element.length()), |
29 resource_request_body_(resource_request_body) { | 29 resource_request_body_(resource_request_body) { |
30 DCHECK_EQ(ResourceRequestBody::Element::TYPE_BYTES, element.type()); | 30 DCHECK_EQ(ResourceRequestBody::Element::TYPE_BYTES, element.type()); |
31 } | 31 } |
32 | 32 |
33 virtual ~BytesElementReader() {} | 33 ~BytesElementReader() override {} |
34 | 34 |
35 private: | 35 private: |
36 scoped_refptr<ResourceRequestBody> resource_request_body_; | 36 scoped_refptr<ResourceRequestBody> resource_request_body_; |
37 | 37 |
38 DISALLOW_COPY_AND_ASSIGN(BytesElementReader); | 38 DISALLOW_COPY_AND_ASSIGN(BytesElementReader); |
39 }; | 39 }; |
40 | 40 |
41 // A subclass of net::UploadFileElementReader which owns ResourceRequestBody. | 41 // A subclass of net::UploadFileElementReader which owns ResourceRequestBody. |
42 // This class is necessary to ensure the BlobData and any attached shareable | 42 // This class is necessary to ensure the BlobData and any attached shareable |
43 // files survive until upload completion. | 43 // files survive until upload completion. |
44 class FileElementReader : public net::UploadFileElementReader { | 44 class FileElementReader : public net::UploadFileElementReader { |
45 public: | 45 public: |
46 FileElementReader(ResourceRequestBody* resource_request_body, | 46 FileElementReader(ResourceRequestBody* resource_request_body, |
47 base::TaskRunner* task_runner, | 47 base::TaskRunner* task_runner, |
48 const ResourceRequestBody::Element& element) | 48 const ResourceRequestBody::Element& element) |
49 : net::UploadFileElementReader(task_runner, | 49 : net::UploadFileElementReader(task_runner, |
50 element.path(), | 50 element.path(), |
51 element.offset(), | 51 element.offset(), |
52 element.length(), | 52 element.length(), |
53 element.expected_modification_time()), | 53 element.expected_modification_time()), |
54 resource_request_body_(resource_request_body) { | 54 resource_request_body_(resource_request_body) { |
55 DCHECK_EQ(ResourceRequestBody::Element::TYPE_FILE, element.type()); | 55 DCHECK_EQ(ResourceRequestBody::Element::TYPE_FILE, element.type()); |
56 } | 56 } |
57 | 57 |
58 virtual ~FileElementReader() {} | 58 ~FileElementReader() override {} |
59 | 59 |
60 private: | 60 private: |
61 scoped_refptr<ResourceRequestBody> resource_request_body_; | 61 scoped_refptr<ResourceRequestBody> resource_request_body_; |
62 | 62 |
63 DISALLOW_COPY_AND_ASSIGN(FileElementReader); | 63 DISALLOW_COPY_AND_ASSIGN(FileElementReader); |
64 }; | 64 }; |
65 | 65 |
66 void ResolveBlobReference( | 66 void ResolveBlobReference( |
67 storage::BlobStorageContext* blob_context, | 67 storage::BlobStorageContext* blob_context, |
68 const ResourceRequestBody::Element& element, | 68 const ResourceRequestBody::Element& element, |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
132 break; | 132 break; |
133 } | 133 } |
134 } | 134 } |
135 | 135 |
136 return make_scoped_ptr( | 136 return make_scoped_ptr( |
137 new net::ElementsUploadDataStream(element_readers.Pass(), | 137 new net::ElementsUploadDataStream(element_readers.Pass(), |
138 body->identifier())); | 138 body->identifier())); |
139 } | 139 } |
140 | 140 |
141 } // namespace content | 141 } // namespace content |
OLD | NEW |