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

Side by Side Diff: Source/core/platform/chromium/support/WebHTTPBody.cpp

Issue 23992003: blob hacking webcore style (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 7 years, 2 months 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2009 Google Inc. All rights reserved. 2 * Copyright (C) 2009 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
72 if (index >= m_private->elements().size()) 72 if (index >= m_private->elements().size())
73 return false; 73 return false;
74 74
75 const FormDataElement& element = m_private->elements()[index]; 75 const FormDataElement& element = m_private->elements()[index];
76 76
77 result.data.reset(); 77 result.data.reset();
78 result.filePath.reset(); 78 result.filePath.reset();
79 result.fileStart = 0; 79 result.fileStart = 0;
80 result.fileLength = 0; 80 result.fileLength = 0;
81 result.modificationTime = invalidFileTime(); 81 result.modificationTime = invalidFileTime();
82 result.url = KURL();
83 result.blobURL = KURL();
84 result.blobUUID.reset(); 82 result.blobUUID.reset();
85 83
86 switch (element.m_type) { 84 switch (element.m_type) {
87 case FormDataElement::data: 85 case FormDataElement::data:
88 result.type = Element::TypeData; 86 result.type = Element::TypeData;
89 result.data.assign(element.m_data.data(), element.m_data.size()); 87 result.data.assign(element.m_data.data(), element.m_data.size());
90 break; 88 break;
91 case FormDataElement::encodedFile: 89 case FormDataElement::encodedFile:
92 result.type = Element::TypeFile; 90 result.type = Element::TypeFile;
93 result.filePath = element.m_filename; 91 result.filePath = element.m_filename;
94 result.fileStart = element.m_fileStart; 92 result.fileStart = element.m_fileStart;
95 result.fileLength = element.m_fileLength; 93 result.fileLength = element.m_fileLength;
96 result.modificationTime = element.m_expectedFileModificationTime; 94 result.modificationTime = element.m_expectedFileModificationTime;
97 break; 95 break;
98 case FormDataElement::encodedBlob: 96 case FormDataElement::encodedBlob:
99 result.type = Element::TypeBlob; 97 result.type = Element::TypeBlob;
100 result.url = element.m_url; // DEPRECATED, should be able to remove afte r https://codereview.chromium.org/23223003/ lands 98 result.blobUUID = element.m_blobUUID;
101 result.blobURL = element.m_url; // FIXME: deprecate this.
102 break; 99 break;
103 case FormDataElement::encodedURL: 100 case FormDataElement::encodedFileSystemURL:
104 result.type = Element::TypeFileSystemURL; 101 result.type = Element::TypeFileSystemURL;
105 result.url = element.m_url; // DEPRECATED 102 result.fileSystemURL = element.m_fileSystemURL;
106 result.fileSystemURL = element.m_url;
107 result.fileStart = element.m_fileStart; 103 result.fileStart = element.m_fileStart;
108 result.fileLength = element.m_fileLength; 104 result.fileLength = element.m_fileLength;
109 result.modificationTime = element.m_expectedFileModificationTime; 105 result.modificationTime = element.m_expectedFileModificationTime;
110 break; 106 break;
111 default: 107 default:
112 ASSERT_NOT_REACHED(); 108 ASSERT_NOT_REACHED();
113 return false; 109 return false;
114 } 110 }
115 111
116 return true; 112 return true;
(...skipping 17 matching lines...) Expand all
134 { 130 {
135 ensureMutable(); 131 ensureMutable();
136 m_private->appendFileRange(filePath, fileStart, fileLength, modificationTime ); 132 m_private->appendFileRange(filePath, fileStart, fileLength, modificationTime );
137 } 133 }
138 134
139 void WebHTTPBody::appendFileSystemURLRange(const WebURL& url, long long start, l ong long length, double modificationTime) 135 void WebHTTPBody::appendFileSystemURLRange(const WebURL& url, long long start, l ong long length, double modificationTime)
140 { 136 {
141 // Currently we only support filesystem URL. 137 // Currently we only support filesystem URL.
142 ASSERT(KURL(url).protocolIs("filesystem")); 138 ASSERT(KURL(url).protocolIs("filesystem"));
143 ensureMutable(); 139 ensureMutable();
144 m_private->appendURLRange(url, start, length, modificationTime); 140 m_private->appendFileSystemURLRange(url, start, length, modificationTime);
145 } 141 }
146 142
147 void WebHTTPBody::appendURLRange(const WebURL& url, long long start, long long l ength, double modificationTime) 143 void WebHTTPBody::appendBlob(const WebString& uuid)
148 { 144 {
149 appendFileSystemURLRange(url, start, length, modificationTime);
150 }
151
152 void WebHTTPBody::appendBlob(const WebURL& blobURL)
153 {
154 ASSERT(KURL(blobURL).protocolIs("blob"));
155 ensureMutable(); 145 ensureMutable();
156 m_private->appendBlob(blobURL); 146 m_private->appendBlob(uuid, 0);
157 } 147 }
158 148
159 long long WebHTTPBody::identifier() const 149 long long WebHTTPBody::identifier() const
160 { 150 {
161 ASSERT(!isNull()); 151 ASSERT(!isNull());
162 return m_private->identifier(); 152 return m_private->identifier();
163 } 153 }
164 154
165 void WebHTTPBody::setIdentifier(long long identifier) 155 void WebHTTPBody::setIdentifier(long long identifier)
166 { 156 {
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
203 } 193 }
204 194
205 void WebHTTPBody::ensureMutable() 195 void WebHTTPBody::ensureMutable()
206 { 196 {
207 ASSERT(!isNull()); 197 ASSERT(!isNull());
208 if (!m_private->hasOneRef()) 198 if (!m_private->hasOneRef())
209 assign(static_cast<WebHTTPBodyPrivate*>(m_private->copy().leakRef())); 199 assign(static_cast<WebHTTPBodyPrivate*>(m_private->copy().leakRef()));
210 } 200 }
211 201
212 } // namespace WebKit 202 } // namespace WebKit
OLDNEW
« no previous file with comments | « Source/core/platform/chromium/ChromiumDataObjectItem.cpp ('k') | Source/core/platform/network/BlobData.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698