diff options
author | kinuko@chromium.org <kinuko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-08-21 08:20:57 +0000 |
---|---|---|
committer | kinuko@chromium.org <kinuko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-08-21 08:20:57 +0000 |
commit | 611a071344e691fdc368593ae0deaf15ab1ce34c (patch) | |
tree | 2f82ac7e9b295db2983f28d891caa94954416415 /webkit/tools | |
parent | 2c03980fa0873647293a0e8fade9b6d0adc1193c (diff) | |
download | chromium_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.cc | 46 | ||||
-rw-r--r-- | webkit/tools/test_shell/test_shell.gypi | 1 |
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', |