From 611a071344e691fdc368593ae0deaf15ab1ce34c Mon Sep 17 00:00:00 2001 From: "kinuko@chromium.org" Date: Tue, 21 Aug 2012 08:20:57 +0000 Subject: 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 --- .../test_shell/simple_resource_loader_bridge.cc | 46 ++++++++++++++++------ webkit/tools/test_shell/test_shell.gypi | 1 - 2 files changed, 35 insertions(+), 12 deletions(-) (limited to 'webkit/tools') 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 request_body; + scoped_refptr 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(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', -- cgit v1.1