summaryrefslogtreecommitdiffstats
path: root/webkit/tools
diff options
context:
space:
mode:
authorkinuko@chromium.org <kinuko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-21 08:20:57 +0000
committerkinuko@chromium.org <kinuko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-21 08:20:57 +0000
commit611a071344e691fdc368593ae0deaf15ab1ce34c (patch)
tree2f82ac7e9b295db2983f28d891caa94954416415 /webkit/tools
parent2c03980fa0873647293a0e8fade9b6d0adc1193c (diff)
downloadchromium_src-611a071344e691fdc368593ae0deaf15ab1ce34c.zip
chromium_src-611a071344e691fdc368593ae0deaf15ab1ce34c.tar.gz
chromium_src-611a071344e691fdc368593ae0deaf15ab1ce34c.tar.bz2
Revert 152528 - Split net::UploadData into two: for resource request IPC and for upload handling
Introducing webkit_glue::ResourceRequestBody as a content-level abstraction corresponding to WebHTTPBody and as an alternative of net::UploadData in ResourceRequest. This interface can contain content-level objects like Blob (or FileSystem URL in later patches) while net::UploadData should NOT. This patch also removes Blob support in net::UploadData. BUG=110119 TEST=existing tests Review URL: https://chromiumcodereview.appspot.com/10834289 TBR=kinuko@chromium.org Review URL: https://chromiumcodereview.appspot.com/10831402 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@152529 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/tools')
-rw-r--r--webkit/tools/test_shell/simple_resource_loader_bridge.cc46
-rw-r--r--webkit/tools/test_shell/test_shell.gypi1
2 files changed, 35 insertions, 12 deletions
diff --git a/webkit/tools/test_shell/simple_resource_loader_bridge.cc b/webkit/tools/test_shell/simple_resource_loader_bridge.cc
index 6af385a..e8caad4 100644
--- a/webkit/tools/test_shell/simple_resource_loader_bridge.cc
+++ b/webkit/tools/test_shell/simple_resource_loader_bridge.cc
@@ -68,7 +68,6 @@
#include "webkit/fileapi/file_system_dir_url_request_job.h"
#include "webkit/fileapi/file_system_url_request_job.h"
#include "webkit/glue/resource_loader_bridge.h"
-#include "webkit/glue/resource_request_body.h"
#include "webkit/glue/webkit_glue.h"
#include "webkit/tools/test_shell/simple_appcache_system.h"
#include "webkit/tools/test_shell/simple_file_system.h"
@@ -82,7 +81,6 @@
#endif
using webkit_glue::ResourceLoaderBridge;
-using webkit_glue::ResourceRequestBody;
using webkit_glue::ResourceResponseInfo;
using net::StaticCookiePolicy;
using net::HttpResponseHeaders;
@@ -281,7 +279,7 @@ struct RequestParams {
ResourceType::Type request_type;
int appcache_host_id;
bool download_to_file;
- scoped_refptr<ResourceRequestBody> request_body;
+ scoped_refptr<net::UploadData> upload;
};
// The interval for calls to RequestProxy::MaybeUpdateUploadProgress
@@ -417,10 +415,10 @@ class RequestProxy
void AsyncStart(RequestParams* params) {
// Might need to resolve the blob references in the upload data.
- if (params->request_body) {
+ if (params->upload) {
static_cast<TestShellRequestContext*>(g_request_context)->
- blob_storage_controller()->ResolveBlobReferencesInRequestBody(
- params->request_body.get());
+ blob_storage_controller()->ResolveBlobReferencesInUploadData(
+ params->upload.get());
}
request_.reset(new net::URLRequest(params->url, this, g_request_context));
@@ -433,8 +431,7 @@ class RequestProxy
headers.AddHeadersFromString(params->headers);
request_->SetExtraRequestHeaders(headers);
request_->set_load_flags(params->load_flags);
- if (params->request_body)
- request_->set_upload(params->request_body->CreateUploadData());
+ request_->set_upload(params->upload.get());
SimpleAppCacheSystem::SetExtraRequestInfo(
request_.get(), params->appcache_host_id, params->request_type);
@@ -877,10 +874,37 @@ class ResourceLoaderBridgeImpl : public ResourceLoaderBridge {
// --------------------------------------------------------------------------
// ResourceLoaderBridge implementation:
- virtual void SetRequestBody(ResourceRequestBody* request_body) {
+ virtual void AppendDataToUpload(const char* data, int data_len) {
DCHECK(params_.get());
- DCHECK(!params_->request_body);
- params_->request_body = request_body;
+ if (!params_->upload)
+ params_->upload = new net::UploadData();
+ params_->upload->AppendBytes(data, data_len);
+ }
+
+ virtual void AppendFileRangeToUpload(
+ const FilePath& file_path,
+ uint64 offset,
+ uint64 length,
+ const base::Time& expected_modification_time) {
+ DCHECK(params_.get());
+ if (!params_->upload)
+ params_->upload = new net::UploadData();
+ params_->upload->AppendFileRange(file_path, offset, length,
+ expected_modification_time);
+ }
+
+ virtual void AppendBlobToUpload(const GURL& blob_url) {
+ DCHECK(params_.get());
+ if (!params_->upload)
+ params_->upload = new net::UploadData();
+ params_->upload->AppendBlob(blob_url);
+ }
+
+ virtual void SetUploadIdentifier(int64 identifier) {
+ DCHECK(params_.get());
+ if (!params_->upload)
+ params_->upload = new net::UploadData();
+ params_->upload->set_identifier(identifier);
}
virtual bool Start(Peer* peer) {
diff --git a/webkit/tools/test_shell/test_shell.gypi b/webkit/tools/test_shell/test_shell.gypi
index 378cfd30..7a832b2 100644
--- a/webkit/tools/test_shell/test_shell.gypi
+++ b/webkit/tools/test_shell/test_shell.gypi
@@ -372,7 +372,6 @@
'../../glue/multipart_response_delegate_unittest.cc',
'../../glue/regular_expression_unittest.cc',
'../../glue/resource_fetcher_unittest.cc',
- '../../glue/resource_request_body_unittest.cc',
'../../glue/unittest_test_server.h',
'../../glue/webcursor_unittest.cc',
'../../glue/webkit_glue_unittest.cc',