| 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/ppb_testing_proxy.h" | 5 #include "ppapi/proxy/ppb_testing_proxy.h" |
| 6 | 6 |
| 7 #include "base/message_loop/message_loop.h" | 7 #include "base/message_loop/message_loop.h" |
| 8 #include "ppapi/c/private/ppb_testing_private.h" | 8 #include "ppapi/c/private/ppb_testing_private.h" |
| 9 #include "ppapi/proxy/enter_proxy.h" | 9 #include "ppapi/proxy/enter_proxy.h" |
| 10 #include "ppapi/proxy/plugin_dispatcher.h" | 10 #include "ppapi/proxy/plugin_dispatcher.h" |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 73 uint32_t result = 0; | 73 uint32_t result = 0; |
| 74 dispatcher->Send(new PpapiHostMsg_PPBTesting_GetLiveObjectsForInstance( | 74 dispatcher->Send(new PpapiHostMsg_PPBTesting_GetLiveObjectsForInstance( |
| 75 API_ID_PPB_TESTING, instance_id, &result)); | 75 API_ID_PPB_TESTING, instance_id, &result)); |
| 76 return result; | 76 return result; |
| 77 } | 77 } |
| 78 | 78 |
| 79 PP_Bool IsOutOfProcess() { | 79 PP_Bool IsOutOfProcess() { |
| 80 return PP_TRUE; | 80 return PP_TRUE; |
| 81 } | 81 } |
| 82 | 82 |
| 83 PP_Bool IsPeripheral(PP_Instance instance_id) { | 83 void PostPowerSaverStatus(PP_Instance instance_id) { |
| 84 ProxyAutoLock lock; | 84 ProxyAutoLock lock; |
| 85 PluginDispatcher* dispatcher = PluginDispatcher::GetForInstance(instance_id); | 85 PluginDispatcher* dispatcher = PluginDispatcher::GetForInstance(instance_id); |
| 86 if (!dispatcher) | 86 if (!dispatcher) |
| 87 return PP_FALSE; | 87 return; |
| 88 | 88 |
| 89 PP_Bool result = PP_FALSE; | 89 dispatcher->Send(new PpapiHostMsg_PPBTesting_PostPowerSaverStatus( |
| 90 dispatcher->Send(new PpapiHostMsg_PPBTesting_IsPeripheral( | 90 API_ID_PPB_TESTING, instance_id)); |
| 91 API_ID_PPB_TESTING, instance_id, &result)); | 91 } |
| 92 return result; | 92 |
| 93 void SubscribeToPowerSaverNotifications(PP_Instance instance_id) { |
| 94 ProxyAutoLock lock; |
| 95 PluginDispatcher* dispatcher = PluginDispatcher::GetForInstance(instance_id); |
| 96 if (!dispatcher) |
| 97 return; |
| 98 |
| 99 dispatcher->Send( |
| 100 new PpapiHostMsg_PPBTesting_SubscribeToPowerSaverNotifications( |
| 101 API_ID_PPB_TESTING, instance_id)); |
| 93 } | 102 } |
| 94 | 103 |
| 95 void SimulateInputEvent(PP_Instance instance_id, PP_Resource input_event) { | 104 void SimulateInputEvent(PP_Instance instance_id, PP_Resource input_event) { |
| 96 ProxyAutoLock lock; | 105 ProxyAutoLock lock; |
| 97 PluginDispatcher* dispatcher = PluginDispatcher::GetForInstance(instance_id); | 106 PluginDispatcher* dispatcher = PluginDispatcher::GetForInstance(instance_id); |
| 98 if (!dispatcher) | 107 if (!dispatcher) |
| 99 return; | 108 return; |
| 100 EnterResourceNoLock<PPB_InputEvent_API> enter(input_event, false); | 109 EnterResourceNoLock<PPB_InputEvent_API> enter(input_event, false); |
| 101 if (enter.failed()) | 110 if (enter.failed()) |
| 102 return; | 111 return; |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 143 // TODO(raymes): Implement this if we need it. | 152 // TODO(raymes): Implement this if we need it. |
| 144 NOTIMPLEMENTED(); | 153 NOTIMPLEMENTED(); |
| 145 } | 154 } |
| 146 | 155 |
| 147 const PPB_Testing_Private testing_interface = { | 156 const PPB_Testing_Private testing_interface = { |
| 148 &ReadImageData, | 157 &ReadImageData, |
| 149 &RunMessageLoop, | 158 &RunMessageLoop, |
| 150 &QuitMessageLoop, | 159 &QuitMessageLoop, |
| 151 &GetLiveObjectsForInstance, | 160 &GetLiveObjectsForInstance, |
| 152 &IsOutOfProcess, | 161 &IsOutOfProcess, |
| 153 &IsPeripheral, | 162 &PostPowerSaverStatus, |
| 163 &SubscribeToPowerSaverNotifications, |
| 154 &SimulateInputEvent, | 164 &SimulateInputEvent, |
| 155 &GetDocumentURL, | 165 &GetDocumentURL, |
| 156 &GetLiveVars, | 166 &GetLiveVars, |
| 157 &SetMinimumArrayBufferSizeForShmem, | 167 &SetMinimumArrayBufferSizeForShmem, |
| 158 &RunV8GC}; | 168 &RunV8GC}; |
| 159 | 169 |
| 160 } // namespace | 170 } // namespace |
| 161 | 171 |
| 162 PPB_Testing_Proxy::PPB_Testing_Proxy(Dispatcher* dispatcher) | 172 PPB_Testing_Proxy::PPB_Testing_Proxy(Dispatcher* dispatcher) |
| 163 : InterfaceProxy(dispatcher), | 173 : InterfaceProxy(dispatcher), |
| (...skipping 15 matching lines...) Expand all Loading... |
| 179 bool PPB_Testing_Proxy::OnMessageReceived(const IPC::Message& msg) { | 189 bool PPB_Testing_Proxy::OnMessageReceived(const IPC::Message& msg) { |
| 180 if (!dispatcher()->permissions().HasPermission(PERMISSION_TESTING)) | 190 if (!dispatcher()->permissions().HasPermission(PERMISSION_TESTING)) |
| 181 return false; | 191 return false; |
| 182 | 192 |
| 183 bool handled = true; | 193 bool handled = true; |
| 184 IPC_BEGIN_MESSAGE_MAP(PPB_Testing_Proxy, msg) | 194 IPC_BEGIN_MESSAGE_MAP(PPB_Testing_Proxy, msg) |
| 185 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBTesting_ReadImageData, | 195 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBTesting_ReadImageData, |
| 186 OnMsgReadImageData) | 196 OnMsgReadImageData) |
| 187 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBTesting_GetLiveObjectsForInstance, | 197 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBTesting_GetLiveObjectsForInstance, |
| 188 OnMsgGetLiveObjectsForInstance) | 198 OnMsgGetLiveObjectsForInstance) |
| 189 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBTesting_IsPeripheral, OnMsgIsPeripheral) | 199 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBTesting_PostPowerSaverStatus, |
| 200 OnMsgPostPowerSaverStatus) |
| 201 IPC_MESSAGE_HANDLER( |
| 202 PpapiHostMsg_PPBTesting_SubscribeToPowerSaverNotifications, |
| 203 OnMsgSubscribeToPowerSaverNotifications) |
| 190 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBTesting_SimulateInputEvent, | 204 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBTesting_SimulateInputEvent, |
| 191 OnMsgSimulateInputEvent) | 205 OnMsgSimulateInputEvent) |
| 192 IPC_MESSAGE_HANDLER( | 206 IPC_MESSAGE_HANDLER( |
| 193 PpapiHostMsg_PPBTesting_SetMinimumArrayBufferSizeForShmem, | 207 PpapiHostMsg_PPBTesting_SetMinimumArrayBufferSizeForShmem, |
| 194 OnMsgSetMinimumArrayBufferSizeForShmem) | 208 OnMsgSetMinimumArrayBufferSizeForShmem) |
| 195 IPC_MESSAGE_UNHANDLED(handled = false) | 209 IPC_MESSAGE_UNHANDLED(handled = false) |
| 196 IPC_END_MESSAGE_MAP() | 210 IPC_END_MESSAGE_MAP() |
| 197 return handled; | 211 return handled; |
| 198 } | 212 } |
| 199 | 213 |
| (...skipping 12 matching lines...) Expand all Loading... |
| 212 | 226 |
| 213 void PPB_Testing_Proxy::OnMsgQuitMessageLoop(PP_Instance instance) { | 227 void PPB_Testing_Proxy::OnMsgQuitMessageLoop(PP_Instance instance) { |
| 214 ppb_testing_impl_->QuitMessageLoop(instance); | 228 ppb_testing_impl_->QuitMessageLoop(instance); |
| 215 } | 229 } |
| 216 | 230 |
| 217 void PPB_Testing_Proxy::OnMsgGetLiveObjectsForInstance(PP_Instance instance, | 231 void PPB_Testing_Proxy::OnMsgGetLiveObjectsForInstance(PP_Instance instance, |
| 218 uint32_t* result) { | 232 uint32_t* result) { |
| 219 *result = ppb_testing_impl_->GetLiveObjectsForInstance(instance); | 233 *result = ppb_testing_impl_->GetLiveObjectsForInstance(instance); |
| 220 } | 234 } |
| 221 | 235 |
| 222 void PPB_Testing_Proxy::OnMsgIsPeripheral(PP_Instance instance, | 236 void PPB_Testing_Proxy::OnMsgPostPowerSaverStatus(PP_Instance instance) { |
| 223 PP_Bool* result) { | 237 ppb_testing_impl_->PostPowerSaverStatus(instance); |
| 224 *result = ppb_testing_impl_->IsPeripheral(instance); | 238 } |
| 239 |
| 240 void PPB_Testing_Proxy::OnMsgSubscribeToPowerSaverNotifications( |
| 241 PP_Instance instance) { |
| 242 ppb_testing_impl_->SubscribeToPowerSaverNotifications(instance); |
| 225 } | 243 } |
| 226 | 244 |
| 227 void PPB_Testing_Proxy::OnMsgSimulateInputEvent( | 245 void PPB_Testing_Proxy::OnMsgSimulateInputEvent( |
| 228 PP_Instance instance, | 246 PP_Instance instance, |
| 229 const InputEventData& input_event) { | 247 const InputEventData& input_event) { |
| 230 scoped_refptr<PPB_InputEvent_Shared> input_event_impl( | 248 scoped_refptr<PPB_InputEvent_Shared> input_event_impl( |
| 231 new PPB_InputEvent_Shared(OBJECT_IS_PROXY, instance, input_event)); | 249 new PPB_InputEvent_Shared(OBJECT_IS_PROXY, instance, input_event)); |
| 232 ppb_testing_impl_->SimulateInputEvent(instance, | 250 ppb_testing_impl_->SimulateInputEvent(instance, |
| 233 input_event_impl->pp_resource()); | 251 input_event_impl->pp_resource()); |
| 234 } | 252 } |
| 235 | 253 |
| 236 void PPB_Testing_Proxy::OnMsgSetMinimumArrayBufferSizeForShmem( | 254 void PPB_Testing_Proxy::OnMsgSetMinimumArrayBufferSizeForShmem( |
| 237 uint32_t threshold) { | 255 uint32_t threshold) { |
| 238 RawVarDataGraph::SetMinimumArrayBufferSizeForShmemForTest(threshold); | 256 RawVarDataGraph::SetMinimumArrayBufferSizeForShmemForTest(threshold); |
| 239 } | 257 } |
| 240 | 258 |
| 241 } // namespace proxy | 259 } // namespace proxy |
| 242 } // namespace ppapi | 260 } // namespace ppapi |
| OLD | NEW |