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

Side by Side Diff: content/renderer/pepper/pepper_file_chooser_host.cc

Issue 605593002: PPAPI: Support sending browser-hosted resources synchronously Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix content_browsertests Created 6 years, 1 month 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
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 "content/renderer/pepper/pepper_file_chooser_host.h" 5 #include "content/renderer/pepper/pepper_file_chooser_host.h"
6 6
7 #include "base/files/file_path.h" 7 #include "base/files/file_path.h"
8 #include "base/strings/utf_string_conversions.h" 8 #include "base/strings/utf_string_conversions.h"
9 #include "content/public/renderer/renderer_ppapi_host.h" 9 #include "content/public/renderer/renderer_ppapi_host.h"
10 #include "content/renderer/pepper/pepper_file_ref_renderer_host.h" 10 #include "content/renderer/pepper/pepper_file_ref_renderer_host.h"
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
159 return PP_ERROR_NOACCESS; 159 return PP_ERROR_NOACCESS;
160 } 160 }
161 161
162 reply_context_ = context->MakeReplyMessageContext(); 162 reply_context_ = context->MakeReplyMessageContext();
163 return PP_OK_COMPLETIONPENDING; 163 return PP_OK_COMPLETIONPENDING;
164 } 164 }
165 165
166 void PepperFileChooserHost::DidCreateResourceHosts( 166 void PepperFileChooserHost::DidCreateResourceHosts(
167 const std::vector<base::FilePath>& file_paths, 167 const std::vector<base::FilePath>& file_paths,
168 const std::vector<std::string>& display_names, 168 const std::vector<std::string>& display_names,
169 const std::vector<int>& browser_ids) { 169 const ppapi::proxy::CompletedBrowserResourceHosts& browser_hosts) {
170 DCHECK(file_paths.size() == display_names.size()); 170 DCHECK_EQ(file_paths.size(), display_names.size());
171 DCHECK(file_paths.size() == browser_ids.size()); 171 DCHECK_EQ(file_paths.size(), browser_hosts.host_ids.size());
172 172
173 std::vector<ppapi::FileRefCreateInfo> chosen_files; 173 std::vector<ppapi::FileRefCreateInfo> chosen_files;
174 for (size_t i = 0; i < browser_ids.size(); ++i) { 174 for (size_t i = 0; i < browser_hosts.host_ids.size(); ++i) {
175 PepperFileRefRendererHost* renderer_host = new PepperFileRefRendererHost( 175 PepperFileRefRendererHost* renderer_host = new PepperFileRefRendererHost(
176 renderer_ppapi_host_, pp_instance(), 0, file_paths[i]); 176 renderer_ppapi_host_, pp_instance(), 0, file_paths[i]);
177 int renderer_id = 177 int renderer_id =
178 renderer_ppapi_host_->GetPpapiHost()->AddPendingResourceHost( 178 renderer_ppapi_host_->GetPpapiHost()->AddPendingResourceHost(
179 scoped_ptr<ppapi::host::ResourceHost>(renderer_host)); 179 scoped_ptr<ppapi::host::ResourceHost>(renderer_host));
180 ppapi::FileRefCreateInfo info = ppapi::MakeExternalFileRefCreateInfo( 180 ppapi::FileRefCreateInfo info = ppapi::MakeExternalFileRefCreateInfo(
181 file_paths[i], display_names[i], browser_ids[i], renderer_id); 181 file_paths[i],
182 display_names[i],
183 browser_hosts.host_ids[i],
184 renderer_id);
182 chosen_files.push_back(info); 185 chosen_files.push_back(info);
183 } 186 }
184 187
185 reply_context_.params.set_result(PP_OK); 188 reply_context_.params.set_result(PP_OK);
186 host()->SendReply(reply_context_, 189 host()->SendReply(reply_context_,
187 PpapiPluginMsg_FileChooser_ShowReply(chosen_files)); 190 PpapiPluginMsg_FileChooser_ShowReply(chosen_files));
188 reply_context_ = ppapi::host::ReplyMessageContext(); 191 reply_context_ = ppapi::host::ReplyMessageContext();
189 handler_ = NULL; // Handler deletes itself. 192 handler_ = NULL; // Handler deletes itself.
190 } 193 }
191 194
192 } // namespace content 195 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/pepper/pepper_file_chooser_host.h ('k') | content/renderer/pepper/renderer_ppapi_host_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698