| 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/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 Loading... |
| 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 |
| OLD | NEW |