| 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 "ppapi/proxy/device_enumeration_resource_helper.h" | 5 #include "ppapi/proxy/device_enumeration_resource_helper.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <memory> |
| 10 |
| 9 #include "base/bind.h" | 11 #include "base/bind.h" |
| 10 #include "base/logging.h" | 12 #include "base/logging.h" |
| 11 #include "base/memory/scoped_ptr.h" | |
| 12 #include "ipc/ipc_message.h" | 13 #include "ipc/ipc_message.h" |
| 13 #include "ipc/ipc_message_macros.h" | 14 #include "ipc/ipc_message_macros.h" |
| 14 #include "ppapi/c/pp_array_output.h" | 15 #include "ppapi/c/pp_array_output.h" |
| 15 #include "ppapi/c/pp_errors.h" | 16 #include "ppapi/c/pp_errors.h" |
| 16 #include "ppapi/proxy/dispatch_reply_message.h" | 17 #include "ppapi/proxy/dispatch_reply_message.h" |
| 17 #include "ppapi/proxy/plugin_resource.h" | 18 #include "ppapi/proxy/plugin_resource.h" |
| 18 #include "ppapi/proxy/ppapi_messages.h" | 19 #include "ppapi/proxy/ppapi_messages.h" |
| 19 #include "ppapi/proxy/resource_message_params.h" | 20 #include "ppapi/proxy/resource_message_params.h" |
| 20 #include "ppapi/shared_impl/array_writer.h" | 21 #include "ppapi/shared_impl/array_writer.h" |
| 21 #include "ppapi/shared_impl/ppapi_globals.h" | 22 #include "ppapi/shared_impl/ppapi_globals.h" |
| (...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 140 const ResourceMessageReplyParams& /* params */, | 141 const ResourceMessageReplyParams& /* params */, |
| 141 uint32_t callback_id, | 142 uint32_t callback_id, |
| 142 const std::vector<DeviceRefData>& devices) { | 143 const std::vector<DeviceRefData>& devices) { |
| 143 if (monitor_callback_id_ != callback_id) { | 144 if (monitor_callback_id_ != callback_id) { |
| 144 // A new callback or NULL has been set. | 145 // A new callback or NULL has been set. |
| 145 return; | 146 return; |
| 146 } | 147 } |
| 147 | 148 |
| 148 CHECK(monitor_callback_.get()); | 149 CHECK(monitor_callback_.get()); |
| 149 | 150 |
| 150 scoped_ptr<PP_Resource[]> elements; | 151 std::unique_ptr<PP_Resource[]> elements; |
| 151 uint32_t size = static_cast<uint32_t>(devices.size()); | 152 uint32_t size = static_cast<uint32_t>(devices.size()); |
| 152 if (size > 0) { | 153 if (size > 0) { |
| 153 elements.reset(new PP_Resource[size]); | 154 elements.reset(new PP_Resource[size]); |
| 154 for (size_t index = 0; index < size; ++index) { | 155 for (size_t index = 0; index < size; ++index) { |
| 155 PPB_DeviceRef_Shared* device_object = new PPB_DeviceRef_Shared( | 156 PPB_DeviceRef_Shared* device_object = new PPB_DeviceRef_Shared( |
| 156 OBJECT_IS_PROXY, owner_->pp_instance(), devices[index]); | 157 OBJECT_IS_PROXY, owner_->pp_instance(), devices[index]); |
| 157 elements[index] = device_object->GetReference(); | 158 elements[index] = device_object->GetReference(); |
| 158 } | 159 } |
| 159 } | 160 } |
| 160 | 161 |
| (...skipping 16 matching lines...) Expand all Loading... |
| 177 OBJECT_IS_PROXY, owner_->pp_instance(), devices[i])); | 178 OBJECT_IS_PROXY, owner_->pp_instance(), devices[i])); |
| 178 } | 179 } |
| 179 if (!writer.StoreResourceVector(device_resources)) | 180 if (!writer.StoreResourceVector(device_resources)) |
| 180 return PP_ERROR_FAILED; | 181 return PP_ERROR_FAILED; |
| 181 | 182 |
| 182 return PP_OK; | 183 return PP_OK; |
| 183 } | 184 } |
| 184 | 185 |
| 185 } // namespace proxy | 186 } // namespace proxy |
| 186 } // namespace ppapi | 187 } // namespace ppapi |
| OLD | NEW |