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

Side by Side Diff: chrome/common/resource_dispatcher.cc

Issue 594036: Support sending a sliced file in chromium.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 9 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/common/render_messages_internal.h ('k') | chrome/plugin/chrome_plugin_host.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // See http://dev.chromium.org/developers/design-documents/multi-process-resourc e-loading 5 // See http://dev.chromium.org/developers/design-documents/multi-process-resourc e-loading
6 6
7 #include "chrome/common/resource_dispatcher.h" 7 #include "chrome/common/resource_dispatcher.h"
8 8
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "base/compiler_specific.h" 10 #include "base/compiler_specific.h"
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
45 class IPCResourceLoaderBridge : public ResourceLoaderBridge { 45 class IPCResourceLoaderBridge : public ResourceLoaderBridge {
46 public: 46 public:
47 IPCResourceLoaderBridge(ResourceDispatcher* dispatcher, 47 IPCResourceLoaderBridge(ResourceDispatcher* dispatcher,
48 const webkit_glue::ResourceLoaderBridge::RequestInfo& request_info, 48 const webkit_glue::ResourceLoaderBridge::RequestInfo& request_info,
49 int host_renderer_id, 49 int host_renderer_id,
50 int host_render_view_id); 50 int host_render_view_id);
51 virtual ~IPCResourceLoaderBridge(); 51 virtual ~IPCResourceLoaderBridge();
52 52
53 // ResourceLoaderBridge 53 // ResourceLoaderBridge
54 virtual void AppendDataToUpload(const char* data, int data_len); 54 virtual void AppendDataToUpload(const char* data, int data_len);
55 virtual void AppendFileRangeToUpload(const FilePath& path, 55 virtual void AppendFileRangeToUpload(
56 uint64 offset, uint64 length); 56 const FilePath& path,
57 uint64 offset,
58 uint64 length,
59 const base::Time& expected_modification_time);
57 virtual void SetUploadIdentifier(int64 identifier); 60 virtual void SetUploadIdentifier(int64 identifier);
58 virtual bool Start(Peer* peer); 61 virtual bool Start(Peer* peer);
59 virtual void Cancel(); 62 virtual void Cancel();
60 virtual void SetDefersLoading(bool value); 63 virtual void SetDefersLoading(bool value);
61 virtual void SyncLoad(SyncLoadResponse* response); 64 virtual void SyncLoad(SyncLoadResponse* response);
62 65
63 #ifdef LOG_RESOURCE_REQUESTS 66 #ifdef LOG_RESOURCE_REQUESTS
64 const std::string& url() const { return url_; } 67 const std::string& url() const { return url_; }
65 #endif 68 #endif
66 69
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
145 // don't bother appending empty data segments 148 // don't bother appending empty data segments
146 if (data_len == 0) 149 if (data_len == 0)
147 return; 150 return;
148 151
149 if (!request_.upload_data) 152 if (!request_.upload_data)
150 request_.upload_data = new net::UploadData(); 153 request_.upload_data = new net::UploadData();
151 request_.upload_data->AppendBytes(data, data_len); 154 request_.upload_data->AppendBytes(data, data_len);
152 } 155 }
153 156
154 void IPCResourceLoaderBridge::AppendFileRangeToUpload( 157 void IPCResourceLoaderBridge::AppendFileRangeToUpload(
155 const FilePath& path, uint64 offset, uint64 length) { 158 const FilePath& path, uint64 offset, uint64 length,
159 const base::Time& expected_modification_time) {
156 DCHECK(request_id_ == -1) << "request already started"; 160 DCHECK(request_id_ == -1) << "request already started";
157 161
158 if (!request_.upload_data) 162 if (!request_.upload_data)
159 request_.upload_data = new net::UploadData(); 163 request_.upload_data = new net::UploadData();
160 request_.upload_data->AppendFileRange(path, offset, length); 164 request_.upload_data->AppendFileRange(path, offset, length,
165 expected_modification_time);
161 } 166 }
162 167
163 void IPCResourceLoaderBridge::SetUploadIdentifier(int64 identifier) { 168 void IPCResourceLoaderBridge::SetUploadIdentifier(int64 identifier) {
164 DCHECK(request_id_ == -1) << "request already started"; 169 DCHECK(request_id_ == -1) << "request already started";
165 170
166 if (!request_.upload_data) 171 if (!request_.upload_data)
167 request_.upload_data = new net::UploadData(); 172 request_.upload_data = new net::UploadData();
168 request_.upload_data->set_identifier(identifier); 173 request_.upload_data->set_identifier(identifier);
169 } 174 }
170 175
(...skipping 435 matching lines...) Expand 10 before | Expand all | Expand 10 after
606 // handle or there will be a memory leak. 611 // handle or there will be a memory leak.
607 if (message.type() == ViewMsg_Resource_DataReceived::ID) { 612 if (message.type() == ViewMsg_Resource_DataReceived::ID) {
608 base::SharedMemoryHandle shm_handle; 613 base::SharedMemoryHandle shm_handle;
609 if (IPC::ParamTraits<base::SharedMemoryHandle>::Read(&message, 614 if (IPC::ParamTraits<base::SharedMemoryHandle>::Read(&message,
610 &iter, 615 &iter,
611 &shm_handle)) { 616 &shm_handle)) {
612 base::SharedMemory::CloseHandle(shm_handle); 617 base::SharedMemory::CloseHandle(shm_handle);
613 } 618 }
614 } 619 }
615 } 620 }
OLDNEW
« no previous file with comments | « chrome/common/render_messages_internal.h ('k') | chrome/plugin/chrome_plugin_host.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698