diff options
author | dmichael@chromium.org <dmichael@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-02-14 18:05:39 +0000 |
---|---|---|
committer | dmichael@chromium.org <dmichael@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-02-14 18:05:39 +0000 |
commit | 2ef706e47ff06fb0509f660475e12392f6b40a72 (patch) | |
tree | 79af67b204457912f3735619d8a2c52b6edf903e /ppapi/proxy/ppp_input_event_proxy.cc | |
parent | bd9ea1bc4abd3dea19674737d963d6a50272ad45 (diff) | |
download | chromium_src-2ef706e47ff06fb0509f660475e12392f6b40a72.zip chromium_src-2ef706e47ff06fb0509f660475e12392f6b40a72.tar.gz chromium_src-2ef706e47ff06fb0509f660475e12392f6b40a72.tar.bz2 |
PPAPI: Add unlocking for PPP calls and callbacks. Add more locking.
With this patch, ppapi_tests pass locally when building with enable_pepper_threading=1. (They didn't before).
TODO: Test more calls off the main thread, make sync completion callbacks work.
BUG=92909
TEST=
Review URL: http://codereview.chromium.org/9391006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@121901 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ppapi/proxy/ppp_input_event_proxy.cc')
-rw-r--r-- | ppapi/proxy/ppp_input_event_proxy.cc | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/ppapi/proxy/ppp_input_event_proxy.cc b/ppapi/proxy/ppp_input_event_proxy.cc index be58b3ce..e49296f 100644 --- a/ppapi/proxy/ppp_input_event_proxy.cc +++ b/ppapi/proxy/ppp_input_event_proxy.cc @@ -98,7 +98,9 @@ void PPP_InputEvent_Proxy::OnMsgHandleInputEvent(PP_Instance instance, const InputEventData& data) { scoped_refptr<PPB_InputEvent_Shared> resource(new PPB_InputEvent_Shared( OBJECT_IS_PROXY, instance, data)); - ppp_input_event_impl_->HandleInputEvent(instance, resource->pp_resource()); + CallWhileUnlocked(ppp_input_event_impl_->HandleInputEvent, + instance, + resource->pp_resource()); } void PPP_InputEvent_Proxy::OnMsgHandleFilteredInputEvent( @@ -107,8 +109,9 @@ void PPP_InputEvent_Proxy::OnMsgHandleFilteredInputEvent( PP_Bool* result) { scoped_refptr<PPB_InputEvent_Shared> resource(new PPB_InputEvent_Shared( OBJECT_IS_PROXY, instance, data)); - *result = ppp_input_event_impl_->HandleInputEvent(instance, - resource->pp_resource()); + *result = CallWhileUnlocked(ppp_input_event_impl_->HandleInputEvent, + instance, + resource->pp_resource()); } } // namespace proxy |