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

Side by Side Diff: chrome/browser/automation/url_request_automation_job.cc

Issue 10825073: Stop using ScopedAllowIO in content::ResourceDispatcherHostImpl (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Remove const Created 8 years, 3 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 #include "chrome/browser/automation/url_request_automation_job.h" 5 #include "chrome/browser/automation/url_request_automation_job.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/compiler_specific.h" 8 #include "base/compiler_specific.h"
9 #include "base/message_loop.h" 9 #include "base/message_loop.h"
10 #include "base/time.h" 10 #include "base/time.h"
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
58 AutomationResourceMessageFilter* filter, 58 AutomationResourceMessageFilter* filter,
59 bool is_pending) 59 bool is_pending)
60 : net::URLRequestJob(request, network_delegate), 60 : net::URLRequestJob(request, network_delegate),
61 id_(0), 61 id_(0),
62 tab_(tab), 62 tab_(tab),
63 message_filter_(filter), 63 message_filter_(filter),
64 pending_buf_size_(0), 64 pending_buf_size_(0),
65 redirect_status_(0), 65 redirect_status_(0),
66 request_id_(request_id), 66 request_id_(request_id),
67 is_pending_(is_pending), 67 is_pending_(is_pending),
68 upload_size_(0),
68 ALLOW_THIS_IN_INITIALIZER_LIST(weak_factory_(this)) { 69 ALLOW_THIS_IN_INITIALIZER_LIST(weak_factory_(this)) {
69 DVLOG(1) << "URLRequestAutomationJob create. Count: " << ++instance_count_; 70 DVLOG(1) << "URLRequestAutomationJob create. Count: " << ++instance_count_;
70 DCHECK(message_filter_ != NULL); 71 DCHECK(message_filter_ != NULL);
71 72
72 if (message_filter_) { 73 if (message_filter_) {
73 id_ = message_filter_->NewAutomationRequestId(); 74 id_ = message_filter_->NewAutomationRequestId();
74 DCHECK_NE(id_, 0); 75 DCHECK_NE(id_, 0);
75 } 76 }
76 } 77 }
77 78
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after
225 bool URLRequestAutomationJob::IsRedirectResponse( 226 bool URLRequestAutomationJob::IsRedirectResponse(
226 GURL* location, int* http_status_code) { 227 GURL* location, int* http_status_code) {
227 if (!net::HttpResponseHeaders::IsRedirectResponseCode(redirect_status_)) 228 if (!net::HttpResponseHeaders::IsRedirectResponseCode(redirect_status_))
228 return false; 229 return false;
229 230
230 *http_status_code = redirect_status_; 231 *http_status_code = redirect_status_;
231 *location = GURL(redirect_url_); 232 *location = GURL(redirect_url_);
232 return true; 233 return true;
233 } 234 }
234 235
235 uint64 URLRequestAutomationJob::GetUploadProgress() const { 236 net::UploadProgress URLRequestAutomationJob::GetUploadProgress() const {
237 uint64 progress = 0;
236 if (request_ && request_->status().is_success()) { 238 if (request_ && request_->status().is_success()) {
237 // We don't support incremental progress notifications in ChromeFrame. When 239 // We don't support incremental progress notifications in ChromeFrame. When
238 // we receive a response for the POST request from Chromeframe, it means 240 // we receive a response for the POST request from Chromeframe, it means
239 // that the upload is fully complete. 241 // that the upload is fully complete.
240 const ResourceRequestInfo* info = ResourceRequestInfo::ForRequest(request_); 242 progress = upload_size_;
241 if (info) {
242 return info->GetUploadSize();
243 }
244 } 243 }
245 return 0; 244 return net::UploadProgress(progress, upload_size_);
246 } 245 }
247 246
248 net::HostPortPair URLRequestAutomationJob::GetSocketAddress() const { 247 net::HostPortPair URLRequestAutomationJob::GetSocketAddress() const {
249 return socket_address_; 248 return socket_address_;
250 } 249 }
251 250
252 bool URLRequestAutomationJob::MayFilterMessage(const IPC::Message& message, 251 bool URLRequestAutomationJob::MayFilterMessage(const IPC::Message& message,
253 int* request_id) { 252 int* request_id) {
254 switch (message.type()) { 253 switch (message.type()) {
255 case AutomationMsg_RequestStarted::ID: 254 case AutomationMsg_RequestStarted::ID:
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
298 redirect_status_ = response.redirect_status; 297 redirect_status_ = response.redirect_status;
299 DCHECK(redirect_status_ == 0 || redirect_status_ == 200 || 298 DCHECK(redirect_status_ == 0 || redirect_status_ == 200 ||
300 (redirect_status_ >= 300 && redirect_status_ < 400)); 299 (redirect_status_ >= 300 && redirect_status_ < 400));
301 300
302 if (!response.headers.empty()) { 301 if (!response.headers.empty()) {
303 headers_ = new net::HttpResponseHeaders( 302 headers_ = new net::HttpResponseHeaders(
304 net::HttpUtil::AssembleRawHeaders(response.headers.data(), 303 net::HttpUtil::AssembleRawHeaders(response.headers.data(),
305 response.headers.size())); 304 response.headers.size()));
306 } 305 }
307 socket_address_ = response.socket_address; 306 socket_address_ = response.socket_address;
307 upload_size_ = response.upload_size;
308 NotifyHeadersComplete(); 308 NotifyHeadersComplete();
309 } 309 }
310 310
311 void URLRequestAutomationJob::OnDataAvailable( 311 void URLRequestAutomationJob::OnDataAvailable(
312 int id, const std::string& bytes) { 312 int id, const std::string& bytes) {
313 DVLOG(1) << "URLRequestAutomationJob: " << request_->url().spec() 313 DVLOG(1) << "URLRequestAutomationJob: " << request_->url().spec()
314 << " - data available, Size: " << bytes.size(); 314 << " - data available, Size: " << bytes.size();
315 DCHECK(!bytes.empty()); 315 DCHECK(!bytes.empty());
316 316
317 // The request completed, and we have all the data. 317 // The request completed, and we have all the data.
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after
488 if (!is_done()) { 488 if (!is_done()) {
489 NotifyDone(request_status_); 489 NotifyDone(request_status_);
490 } 490 }
491 // Reset any pending reads. 491 // Reset any pending reads.
492 if (pending_buf_) { 492 if (pending_buf_) {
493 pending_buf_ = NULL; 493 pending_buf_ = NULL;
494 pending_buf_size_ = 0; 494 pending_buf_size_ = 0;
495 NotifyReadComplete(0); 495 NotifyReadComplete(0);
496 } 496 }
497 } 497 }
OLDNEW
« no previous file with comments | « chrome/browser/automation/url_request_automation_job.h ('k') | chrome/common/automation_messages.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698