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

Unified Diff: webkit/tools/test_shell/simple_resource_loader_bridge.cc

Issue 10834289: Split net::UploadData into two: for IPC and for upload handling (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase + moved ResolveBlobRef from webkit_blob to webkit_glue Created 8 years, 4 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « webkit/glue/weburlloader_impl.cc ('k') | webkit/tools/test_shell/test_shell.gypi » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webkit/tools/test_shell/simple_resource_loader_bridge.cc
diff --git a/webkit/tools/test_shell/simple_resource_loader_bridge.cc b/webkit/tools/test_shell/simple_resource_loader_bridge.cc
index e8caad490d13af152a6712166ed3358c28189127..d233da6adbf53d7b87b69114c6393c265d70dc40 100644
--- a/webkit/tools/test_shell/simple_resource_loader_bridge.cc
+++ b/webkit/tools/test_shell/simple_resource_loader_bridge.cc
@@ -68,6 +68,7 @@
#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"
@@ -81,6 +82,7 @@
#endif
using webkit_glue::ResourceLoaderBridge;
+using webkit_glue::ResourceRequestBody;
using webkit_glue::ResourceResponseInfo;
using net::StaticCookiePolicy;
using net::HttpResponseHeaders;
@@ -279,7 +281,7 @@ struct RequestParams {
ResourceType::Type request_type;
int appcache_host_id;
bool download_to_file;
- scoped_refptr<net::UploadData> upload;
+ scoped_refptr<ResourceRequestBody> request_body;
};
// The interval for calls to RequestProxy::MaybeUpdateUploadProgress
@@ -414,13 +416,6 @@ class RequestProxy
// actions performed on the owner's thread.
void AsyncStart(RequestParams* params) {
- // Might need to resolve the blob references in the upload data.
- if (params->upload) {
- static_cast<TestShellRequestContext*>(g_request_context)->
- blob_storage_controller()->ResolveBlobReferencesInUploadData(
- params->upload.get());
- }
-
request_.reset(new net::URLRequest(params->url, this, g_request_context));
request_->set_method(params->method);
request_->set_first_party_for_cookies(params->first_party_for_cookies);
@@ -431,7 +426,12 @@ class RequestProxy
headers.AddHeadersFromString(params->headers);
request_->SetExtraRequestHeaders(headers);
request_->set_load_flags(params->load_flags);
- request_->set_upload(params->upload.get());
+ if (params->request_body) {
+ request_->set_upload(
+ params->request_body->ResolveElementsAndCreateUploadData(
+ static_cast<TestShellRequestContext*>(g_request_context)->
+ blob_storage_controller()));
+ }
SimpleAppCacheSystem::SetExtraRequestInfo(
request_.get(), params->appcache_host_id, params->request_type);
@@ -874,37 +874,10 @@ class ResourceLoaderBridgeImpl : public ResourceLoaderBridge {
// --------------------------------------------------------------------------
// ResourceLoaderBridge implementation:
- virtual void AppendDataToUpload(const char* data, int data_len) {
- DCHECK(params_.get());
- 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) {
+ virtual void SetRequestBody(ResourceRequestBody* request_body) {
DCHECK(params_.get());
- if (!params_->upload)
- params_->upload = new net::UploadData();
- params_->upload->set_identifier(identifier);
+ DCHECK(!params_->request_body);
+ params_->request_body = request_body;
}
virtual bool Start(Peer* peer) {
« no previous file with comments | « webkit/glue/weburlloader_impl.cc ('k') | webkit/tools/test_shell/test_shell.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698