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

Side by Side Diff: chrome/browser/renderer_host/save_file_resource_handler.cc

Issue 172074: Show or open downloaded items on the UI thread for Mac (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/browser/download/save_package.cc ('k') | no next file » | 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 #include "chrome/browser/renderer_host/save_file_resource_handler.h" 5 #include "chrome/browser/renderer_host/save_file_resource_handler.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/message_loop.h" 8 #include "base/message_loop.h"
9 #include "base/string_util.h" 9 #include "base/string_util.h"
10 #include "chrome/browser/download/save_file_manager.h" 10 #include "chrome/browser/download/save_file_manager.h"
(...skipping 26 matching lines...) Expand all
37 SaveFileCreateInfo* info = new SaveFileCreateInfo; 37 SaveFileCreateInfo* info = new SaveFileCreateInfo;
38 info->url = url_; 38 info->url = url_;
39 info->final_url = final_url_; 39 info->final_url = final_url_;
40 info->total_bytes = content_length_; 40 info->total_bytes = content_length_;
41 info->save_id = save_id_; 41 info->save_id = save_id_;
42 info->render_process_id = render_process_id_; 42 info->render_process_id = render_process_id_;
43 info->render_view_id = render_view_id_; 43 info->render_view_id = render_view_id_;
44 info->request_id = request_id; 44 info->request_id = request_id;
45 info->content_disposition = content_disposition_; 45 info->content_disposition = content_disposition_;
46 info->save_source = SaveFileCreateInfo::SAVE_FILE_FROM_NET; 46 info->save_source = SaveFileCreateInfo::SAVE_FILE_FROM_NET;
47 save_manager_->GetSaveLoop()->PostTask(FROM_HERE, 47 save_manager_->file_loop()->PostTask(FROM_HERE,
48 NewRunnableMethod(save_manager_, 48 NewRunnableMethod(save_manager_,
49 &SaveFileManager::StartSave, 49 &SaveFileManager::StartSave,
50 info)); 50 info));
51 return true; 51 return true;
52 } 52 }
53 53
54 bool SaveFileResourceHandler::OnWillRead(int request_id, net::IOBuffer** buf, 54 bool SaveFileResourceHandler::OnWillRead(int request_id, net::IOBuffer** buf,
55 int* buf_size, int min_size) { 55 int* buf_size, int min_size) {
56 DCHECK(buf && buf_size); 56 DCHECK(buf && buf_size);
57 if (!read_buffer_) { 57 if (!read_buffer_) {
58 *buf_size = min_size < 0 ? kReadBufSize : min_size; 58 *buf_size = min_size < 0 ? kReadBufSize : min_size;
59 read_buffer_ = new net::IOBuffer(*buf_size); 59 read_buffer_ = new net::IOBuffer(*buf_size);
60 } 60 }
61 *buf = read_buffer_.get(); 61 *buf = read_buffer_.get();
62 // TODO(willchan): Remove after debugging bug 16371. 62 // TODO(willchan): Remove after debugging bug 16371.
63 CHECK(read_buffer_->data()); 63 CHECK(read_buffer_->data());
64 return true; 64 return true;
65 } 65 }
66 66
67 bool SaveFileResourceHandler::OnReadCompleted(int request_id, int* bytes_read) { 67 bool SaveFileResourceHandler::OnReadCompleted(int request_id, int* bytes_read) {
68 DCHECK(read_buffer_); 68 DCHECK(read_buffer_);
69 // We are passing ownership of this buffer to the save file manager. 69 // We are passing ownership of this buffer to the save file manager.
70 net::IOBuffer* buffer = NULL; 70 net::IOBuffer* buffer = NULL;
71 read_buffer_.swap(&buffer); 71 read_buffer_.swap(&buffer);
72 save_manager_->GetSaveLoop()->PostTask(FROM_HERE, 72 save_manager_->file_loop()->PostTask(FROM_HERE,
73 NewRunnableMethod(save_manager_, 73 NewRunnableMethod(save_manager_,
74 &SaveFileManager::UpdateSaveProgress, 74 &SaveFileManager::UpdateSaveProgress,
75 save_id_, 75 save_id_,
76 buffer, 76 buffer,
77 *bytes_read)); 77 *bytes_read));
78 return true; 78 return true;
79 } 79 }
80 80
81 bool SaveFileResourceHandler::OnResponseCompleted( 81 bool SaveFileResourceHandler::OnResponseCompleted(
82 int request_id, 82 int request_id,
83 const URLRequestStatus& status, 83 const URLRequestStatus& status,
84 const std::string& security_info) { 84 const std::string& security_info) {
85 save_manager_->GetSaveLoop()->PostTask(FROM_HERE, 85 save_manager_->file_loop()->PostTask(FROM_HERE,
86 NewRunnableMethod(save_manager_, 86 NewRunnableMethod(save_manager_,
87 &SaveFileManager::SaveFinished, 87 &SaveFileManager::SaveFinished,
88 save_id_, 88 save_id_,
89 url_, 89 url_,
90 render_process_id_, 90 render_process_id_,
91 status.is_success() && !status.is_io_pending())); 91 status.is_success() && !status.is_io_pending()));
92 read_buffer_ = NULL; 92 read_buffer_ = NULL;
93 return true; 93 return true;
94 } 94 }
95 95
96 void SaveFileResourceHandler::set_content_length( 96 void SaveFileResourceHandler::set_content_length(
97 const std::string& content_length) { 97 const std::string& content_length) {
98 content_length_ = StringToInt64(content_length); 98 content_length_ = StringToInt64(content_length);
99 } 99 }
OLDNEW
« no previous file with comments | « chrome/browser/download/save_package.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698