Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(143)

Side by Side Diff: webkit/glue/resource_request_body.cc

Issue 11275223: net: Change type of UploadData::elements from std::vector to ScopedVector (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: _ Created 8 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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/glue/resource_request_body.h" 5 #include "webkit/glue/resource_request_body.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "net/base/upload_data.h" 8 #include "net/base/upload_data.h"
9 #include "webkit/blob/blob_storage_controller.h" 9 #include "webkit/blob/blob_storage_controller.h"
10 10
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
56 // No need to resolve, just append the element. 56 // No need to resolve, just append the element.
57 resolved_elements.push_back(&element); 57 resolved_elements.push_back(&element);
58 } 58 }
59 } 59 }
60 60
61 net::UploadData* upload_data = new net::UploadData; 61 net::UploadData* upload_data = new net::UploadData;
62 // We attach 'this' to UploadData so that we do not need to copy 62 // We attach 'this' to UploadData so that we do not need to copy
63 // bytes for TYPE_BYTES. 63 // bytes for TYPE_BYTES.
64 upload_data->SetUserData( 64 upload_data->SetUserData(
65 this, new base::UserDataAdapter<ResourceRequestBody>(this)); 65 this, new base::UserDataAdapter<ResourceRequestBody>(this));
66 std::vector<net::UploadElement>* elements = 66 ScopedVector<net::UploadElement>* elements =
67 upload_data->elements_mutable(); 67 upload_data->elements_mutable();
68 for (size_t i = 0; i < resolved_elements.size(); ++i) { 68 for (size_t i = 0; i < resolved_elements.size(); ++i) {
69 const Element& element = *resolved_elements[i]; 69 const Element& element = *resolved_elements[i];
70 switch (element.type()) { 70 switch (element.type()) {
71 case Element::TYPE_BYTES: 71 case Element::TYPE_BYTES:
72 elements->push_back(net::UploadElement()); 72 elements->push_back(new net::UploadElement());
73 elements->back().SetToSharedBytes(element.bytes(), element.length()); 73 elements->back()->SetToSharedBytes(element.bytes(), element.length());
74 break; 74 break;
75 case Element::TYPE_FILE: 75 case Element::TYPE_FILE:
76 elements->push_back(net::UploadElement()); 76 elements->push_back(new net::UploadElement());
77 elements->back().SetToFilePathRange( 77 elements->back()->SetToFilePathRange(
78 element.path(), 78 element.path(),
79 element.offset(), 79 element.offset(),
80 element.length(), 80 element.length(),
81 element.expected_modification_time()); 81 element.expected_modification_time());
82 break; 82 break;
83 case Element::TYPE_FILE_FILESYSTEM: 83 case Element::TYPE_FILE_FILESYSTEM:
84 // TODO(kinuko): Resolve FileSystemURL before creating UploadData. 84 // TODO(kinuko): Resolve FileSystemURL before creating UploadData.
85 NOTREACHED(); 85 NOTREACHED();
86 break; 86 break;
87 case Element::TYPE_BLOB: 87 case Element::TYPE_BLOB:
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
119 119
120 // Append the elements in the referred blob data. 120 // Append the elements in the referred blob data.
121 for (size_t i = 0; i < blob_data->items().size(); ++i) { 121 for (size_t i = 0; i < blob_data->items().size(); ++i) {
122 const BlobData::Item& item = blob_data->items().at(i); 122 const BlobData::Item& item = blob_data->items().at(i);
123 DCHECK_NE(BlobData::Item::TYPE_BLOB, item.type()); 123 DCHECK_NE(BlobData::Item::TYPE_BLOB, item.type());
124 resolved_elements->push_back(&item); 124 resolved_elements->push_back(&item);
125 } 125 }
126 } 126 }
127 127
128 } // namespace webkit_glue 128 } // namespace webkit_glue
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698