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

Side by Side Diff: ppapi/proxy/ppb_testing_proxy.cc

Issue 8413021: Add functions to generate input events to PPB_Testing_Dev. These make (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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.h" 7 #include "base/message_loop.h"
8 #include "ppapi/c/dev/ppb_testing_dev.h" 8 #include "ppapi/c/dev/ppb_testing_dev.h"
9 #include "ppapi/proxy/plugin_dispatcher.h" 9 #include "ppapi/proxy/plugin_dispatcher.h"
10 #include "ppapi/proxy/plugin_globals.h"
10 #include "ppapi/proxy/ppapi_messages.h" 11 #include "ppapi/proxy/ppapi_messages.h"
11 #include "ppapi/shared_impl/ppapi_globals.h" 12 #include "ppapi/shared_impl/ppapi_globals.h"
12 #include "ppapi/shared_impl/resource.h" 13 #include "ppapi/shared_impl/resource.h"
13 #include "ppapi/shared_impl/resource_tracker.h" 14 #include "ppapi/shared_impl/resource_tracker.h"
14 15
15 namespace ppapi { 16 namespace ppapi {
16 namespace proxy { 17 namespace proxy {
17 18
18 namespace { 19 namespace {
19 20
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 uint32_t result = 0; 62 uint32_t result = 0;
62 dispatcher->Send(new PpapiHostMsg_PPBTesting_GetLiveObjectsForInstance( 63 dispatcher->Send(new PpapiHostMsg_PPBTesting_GetLiveObjectsForInstance(
63 API_ID_PPB_TESTING, instance_id, &result)); 64 API_ID_PPB_TESTING, instance_id, &result));
64 return result; 65 return result;
65 } 66 }
66 67
67 PP_Bool IsOutOfProcess() { 68 PP_Bool IsOutOfProcess() {
68 return PP_TRUE; 69 return PP_TRUE;
69 } 70 }
70 71
72 void SimulateInputEvent(PP_Instance instance_id, PP_Resource input_event) {
73 PluginDispatcher* dispatcher = PluginDispatcher::GetForInstance(instance_id);
74 if (!dispatcher)
75 return;
76 HostResource input_event_resource;
77 input_event_resource.SetHostResource(instance_id, input_event);
78 dispatcher->Send(new PpapiHostMsg_PPBTesting_SimulateInputEvent(
79 API_ID_PPB_TESTING, instance_id, input_event_resource));
80 }
81
71 const PPB_Testing_Dev testing_interface = { 82 const PPB_Testing_Dev testing_interface = {
72 &ReadImageData, 83 &ReadImageData,
73 &RunMessageLoop, 84 &RunMessageLoop,
74 &QuitMessageLoop, 85 &QuitMessageLoop,
75 &GetLiveObjectsForInstance, 86 &GetLiveObjectsForInstance,
76 &IsOutOfProcess 87 &IsOutOfProcess,
88 &SimulateInputEvent
77 }; 89 };
78 90
79 InterfaceProxy* CreateTestingProxy(Dispatcher* dispatcher) { 91 InterfaceProxy* CreateTestingProxy(Dispatcher* dispatcher) {
80 return new PPB_Testing_Proxy(dispatcher); 92 return new PPB_Testing_Proxy(dispatcher);
81 } 93 }
82 94
83 } // namespace 95 } // namespace
84 96
85 PPB_Testing_Proxy::PPB_Testing_Proxy(Dispatcher* dispatcher) 97 PPB_Testing_Proxy::PPB_Testing_Proxy(Dispatcher* dispatcher)
86 : InterfaceProxy(dispatcher), 98 : InterfaceProxy(dispatcher),
(...skipping 19 matching lines...) Expand all
106 return &info; 118 return &info;
107 } 119 }
108 120
109 bool PPB_Testing_Proxy::OnMessageReceived(const IPC::Message& msg) { 121 bool PPB_Testing_Proxy::OnMessageReceived(const IPC::Message& msg) {
110 bool handled = true; 122 bool handled = true;
111 IPC_BEGIN_MESSAGE_MAP(PPB_Testing_Proxy, msg) 123 IPC_BEGIN_MESSAGE_MAP(PPB_Testing_Proxy, msg)
112 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBTesting_ReadImageData, 124 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBTesting_ReadImageData,
113 OnMsgReadImageData) 125 OnMsgReadImageData)
114 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBTesting_GetLiveObjectsForInstance, 126 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBTesting_GetLiveObjectsForInstance,
115 OnMsgGetLiveObjectsForInstance) 127 OnMsgGetLiveObjectsForInstance)
128 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBTesting_SimulateInputEvent,
129 OnMsgSimulateInputEvent)
116 IPC_MESSAGE_UNHANDLED(handled = false) 130 IPC_MESSAGE_UNHANDLED(handled = false)
117 IPC_END_MESSAGE_MAP() 131 IPC_END_MESSAGE_MAP()
118 return handled; 132 return handled;
119 } 133 }
120 134
121 void PPB_Testing_Proxy::OnMsgReadImageData( 135 void PPB_Testing_Proxy::OnMsgReadImageData(
122 const HostResource& device_context_2d, 136 const HostResource& device_context_2d,
123 const HostResource& image, 137 const HostResource& image,
124 const PP_Point& top_left, 138 const PP_Point& top_left,
125 PP_Bool* result) { 139 PP_Bool* result) {
126 *result = ppb_testing_impl_->ReadImageData( 140 *result = ppb_testing_impl_->ReadImageData(
127 device_context_2d.host_resource(), image.host_resource(), &top_left); 141 device_context_2d.host_resource(), image.host_resource(), &top_left);
128 } 142 }
129 143
130 void PPB_Testing_Proxy::OnMsgRunMessageLoop(PP_Instance instance) { 144 void PPB_Testing_Proxy::OnMsgRunMessageLoop(PP_Instance instance) {
131 ppb_testing_impl_->RunMessageLoop(instance); 145 ppb_testing_impl_->RunMessageLoop(instance);
132 } 146 }
133 147
134 void PPB_Testing_Proxy::OnMsgQuitMessageLoop(PP_Instance instance) { 148 void PPB_Testing_Proxy::OnMsgQuitMessageLoop(PP_Instance instance) {
135 ppb_testing_impl_->QuitMessageLoop(instance); 149 ppb_testing_impl_->QuitMessageLoop(instance);
136 } 150 }
137 151
138 void PPB_Testing_Proxy::OnMsgGetLiveObjectsForInstance(PP_Instance instance, 152 void PPB_Testing_Proxy::OnMsgGetLiveObjectsForInstance(PP_Instance instance,
139 uint32_t* result) { 153 uint32_t* result) {
140 *result = ppb_testing_impl_->GetLiveObjectsForInstance(instance); 154 *result = ppb_testing_impl_->GetLiveObjectsForInstance(instance);
141 } 155 }
142 156
157 void PPB_Testing_Proxy::OnMsgSimulateInputEvent(
158 PP_Instance instance,
159 const ppapi::HostResource& input_event) {
160 PP_Resource plugin_input_event =
161 PluginGlobals::Get()->plugin_resource_tracker()->
162 PluginResourceForHostResource(input_event);
163 ppb_testing_impl_->SimulateInputEvent(instance, plugin_input_event);
164 }
165
143 } // namespace proxy 166 } // namespace proxy
144 } // namespace ppapi 167 } // namespace ppapi
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698