OLD | NEW |
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 "content/browser/download/save_file_resource_handler.h" | 5 #include "content/browser/download/save_file_resource_handler.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/logging.h" | 8 #include "base/logging.h" |
9 #include "base/message_loop/message_loop.h" | 9 #include "base/message_loop/message_loop.h" |
10 #include "base/strings/string_number_conversions.h" | 10 #include "base/strings/string_number_conversions.h" |
11 #include "content/browser/download/save_file_manager.h" | 11 #include "content/browser/download/save_file_manager.h" |
12 #include "content/public/browser/browser_thread.h" | 12 #include "content/public/browser/browser_thread.h" |
13 #include "net/base/io_buffer.h" | 13 #include "net/base/io_buffer.h" |
| 14 #include "net/url_request/redirect_info.h" |
14 #include "net/url_request/url_request_status.h" | 15 #include "net/url_request/url_request_status.h" |
15 | 16 |
16 namespace content { | 17 namespace content { |
17 | 18 |
18 SaveFileResourceHandler::SaveFileResourceHandler(net::URLRequest* request, | 19 SaveFileResourceHandler::SaveFileResourceHandler(net::URLRequest* request, |
19 int render_process_host_id, | 20 int render_process_host_id, |
20 int render_view_id, | 21 int render_view_id, |
21 const GURL& url, | 22 const GURL& url, |
22 SaveFileManager* manager) | 23 SaveFileManager* manager) |
23 : ResourceHandler(request), | 24 : ResourceHandler(request), |
24 save_id_(-1), | 25 save_id_(-1), |
25 render_process_id_(render_process_host_id), | 26 render_process_id_(render_process_host_id), |
26 render_view_id_(render_view_id), | 27 render_view_id_(render_view_id), |
27 url_(url), | 28 url_(url), |
28 content_length_(0), | 29 content_length_(0), |
29 save_manager_(manager) { | 30 save_manager_(manager) { |
30 } | 31 } |
31 | 32 |
32 SaveFileResourceHandler::~SaveFileResourceHandler() { | 33 SaveFileResourceHandler::~SaveFileResourceHandler() { |
33 } | 34 } |
34 | 35 |
35 bool SaveFileResourceHandler::OnUploadProgress(uint64 position, uint64 size) { | 36 bool SaveFileResourceHandler::OnUploadProgress(uint64 position, uint64 size) { |
36 return true; | 37 return true; |
37 } | 38 } |
38 | 39 |
39 bool SaveFileResourceHandler::OnRequestRedirected( | 40 bool SaveFileResourceHandler::OnRequestRedirected( |
40 const GURL& url, | 41 const net::RedirectInfo& redirect_info, |
41 ResourceResponse* response, | 42 ResourceResponse* response, |
42 bool* defer) { | 43 bool* defer) { |
43 final_url_ = url; | 44 final_url_ = redirect_info.new_url; |
44 return true; | 45 return true; |
45 } | 46 } |
46 | 47 |
47 bool SaveFileResourceHandler::OnResponseStarted(ResourceResponse* response, | 48 bool SaveFileResourceHandler::OnResponseStarted(ResourceResponse* response, |
48 bool* defer) { | 49 bool* defer) { |
49 save_id_ = save_manager_->GetNextId(); | 50 save_id_ = save_manager_->GetNextId(); |
50 // |save_manager_| consumes (deletes): | 51 // |save_manager_| consumes (deletes): |
51 SaveFileCreateInfo* info = new SaveFileCreateInfo; | 52 SaveFileCreateInfo* info = new SaveFileCreateInfo; |
52 info->url = url_; | 53 info->url = url_; |
53 info->final_url = final_url_; | 54 info->final_url = final_url_; |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
111 void SaveFileResourceHandler::OnDataDownloaded(int bytes_downloaded) { | 112 void SaveFileResourceHandler::OnDataDownloaded(int bytes_downloaded) { |
112 NOTREACHED(); | 113 NOTREACHED(); |
113 } | 114 } |
114 | 115 |
115 void SaveFileResourceHandler::set_content_length( | 116 void SaveFileResourceHandler::set_content_length( |
116 const std::string& content_length) { | 117 const std::string& content_length) { |
117 base::StringToInt64(content_length, &content_length_); | 118 base::StringToInt64(content_length, &content_length_); |
118 } | 119 } |
119 | 120 |
120 } // namespace content | 121 } // namespace content |
OLD | NEW |