Update to Chromium revision 170167.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@932 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
This commit is contained in:
Marshall Greenblatt
2012-11-30 18:30:34 +00:00
parent 4a3b1ec9e2
commit f53c281acd
11 changed files with 122 additions and 73 deletions

View File

@ -10,7 +10,14 @@
#include "libcef/http_header_utils.h"
#include "base/logging.h"
#include "net/base/upload_data.h"
#include "net/base/upload_data_stream.h"
#include "net/base/upload_element_reader.h"
#include "net/base/upload_bytes_element_reader.h"
#include "net/base/upload_file_element_reader.h"
#include "net/http/http_request_headers.h"
#include "net/url_request/url_request.h"
#include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebURLRequest.h"
using WebKit::WebHTTPBody;
using WebKit::WebString;
@ -103,7 +110,7 @@ void CefRequestImpl::Set(net::URLRequest* request) {
GetHeaderMap(headers, headermap_);
// Transfer post data, if any
const net::UploadData* data = request->get_upload();
const net::UploadDataStream* data = request->get_upload();
if (data) {
postdata_ = CefPostData::CreatePostData();
static_cast<CefPostDataImpl*>(postdata_.get())->Set(*data);
@ -305,6 +312,21 @@ void CefPostDataImpl::Set(const net::UploadData& data) {
}
}
void CefPostDataImpl::Set(const net::UploadDataStream& data_stream) {
AutoLock lock_scope(this);
CefRefPtr<CefPostDataElement> postelem;
const ScopedVector<net::UploadElementReader>& elements =
data_stream.element_readers();
ScopedVector<net::UploadElementReader>::const_iterator it = elements.begin();
for (; it != elements.end(); ++it) {
postelem = CefPostDataElement::CreatePostDataElement();
static_cast<CefPostDataElementImpl*>(postelem.get())->Set(**it);
AddElement(postelem);
}
}
void CefPostDataImpl::Get(net::UploadData& data) {
AutoLock lock_scope(this);
@ -448,6 +470,27 @@ void CefPostDataElementImpl::Set(const net::UploadElement& element) {
}
}
void CefPostDataElementImpl::Set(
const net::UploadElementReader& element_reader) {
AutoLock lock_scope(this);
const net::UploadBytesElementReader* bytes_reader =
element_reader.AsBytesReader();
if (bytes_reader) {
SetToBytes(bytes_reader->length(), bytes_reader->bytes());
return;
}
const net::UploadFileElementReader* file_reader =
element_reader.AsFileReader();
if (file_reader) {
SetToFile(file_reader->path().value());
return;
}
NOTREACHED();
}
void CefPostDataElementImpl::Get(net::UploadElement& element) {
AutoLock lock_scope(this);