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

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

Issue 9558009: Add HandleInputEventAck message to allow out-of-process plugins to respond to user gestures. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 8 years, 9 months 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
« no previous file with comments | « ppapi/proxy/ppb_instance_proxy.h ('k') | ppapi/proxy/ppp_input_event_proxy.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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_instance_proxy.h" 5 #include "ppapi/proxy/ppb_instance_proxy.h"
6 6
7 #include "ppapi/c/pp_errors.h" 7 #include "ppapi/c/pp_errors.h"
8 #include "ppapi/c/pp_time.h"
8 #include "ppapi/c/pp_var.h" 9 #include "ppapi/c/pp_var.h"
9 #include "ppapi/c/ppb_audio_config.h" 10 #include "ppapi/c/ppb_audio_config.h"
10 #include "ppapi/c/ppb_instance.h" 11 #include "ppapi/c/ppb_instance.h"
11 #include "ppapi/c/ppb_messaging.h" 12 #include "ppapi/c/ppb_messaging.h"
12 #include "ppapi/c/ppb_mouse_lock.h" 13 #include "ppapi/c/ppb_mouse_lock.h"
13 #include "ppapi/proxy/enter_proxy.h" 14 #include "ppapi/proxy/enter_proxy.h"
14 #include "ppapi/proxy/host_dispatcher.h" 15 #include "ppapi/proxy/host_dispatcher.h"
15 #include "ppapi/proxy/plugin_dispatcher.h" 16 #include "ppapi/proxy/plugin_dispatcher.h"
16 #include "ppapi/proxy/plugin_proxy_delegate.h" 17 #include "ppapi/proxy/plugin_proxy_delegate.h"
17 #include "ppapi/proxy/ppapi_messages.h" 18 #include "ppapi/proxy/ppapi_messages.h"
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
100 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_FlashGetScreenSize, 101 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_FlashGetScreenSize,
101 OnHostMsgFlashGetScreenSize) 102 OnHostMsgFlashGetScreenSize)
102 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_SetFullscreen, 103 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_SetFullscreen,
103 OnHostMsgSetFullscreen) 104 OnHostMsgSetFullscreen)
104 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_GetScreenSize, 105 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_GetScreenSize,
105 OnHostMsgGetScreenSize) 106 OnHostMsgGetScreenSize)
106 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_RequestInputEvents, 107 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_RequestInputEvents,
107 OnHostMsgRequestInputEvents) 108 OnHostMsgRequestInputEvents)
108 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_ClearInputEvents, 109 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_ClearInputEvents,
109 OnHostMsgClearInputEvents) 110 OnHostMsgClearInputEvents)
111 IPC_MESSAGE_HANDLER(PpapiMsg_PPPInputEvent_HandleInputEvent_ACK,
112 OnMsgHandleInputEventAck)
110 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_LockMouse, 113 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_LockMouse,
111 OnHostMsgLockMouse) 114 OnHostMsgLockMouse)
112 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_UnlockMouse, 115 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_UnlockMouse,
113 OnHostMsgUnlockMouse) 116 OnHostMsgUnlockMouse)
114 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_ResolveRelativeToDocument, 117 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_ResolveRelativeToDocument,
115 OnHostMsgResolveRelativeToDocument) 118 OnHostMsgResolveRelativeToDocument)
116 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_DocumentCanRequest, 119 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_DocumentCanRequest,
117 OnHostMsgDocumentCanRequest) 120 OnHostMsgDocumentCanRequest)
118 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_DocumentCanAccessDocument, 121 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_DocumentCanAccessDocument,
119 OnHostMsgDocumentCanAccessDocument) 122 OnHostMsgDocumentCanAccessDocument)
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after
314 // a sync reply. 317 // a sync reply.
315 return ValidateRequestInputEvents(true, event_classes); 318 return ValidateRequestInputEvents(true, event_classes);
316 } 319 }
317 320
318 void PPB_Instance_Proxy::ClearInputEventRequest(PP_Instance instance, 321 void PPB_Instance_Proxy::ClearInputEventRequest(PP_Instance instance,
319 uint32_t event_classes) { 322 uint32_t event_classes) {
320 dispatcher()->Send(new PpapiHostMsg_PPBInstance_ClearInputEvents( 323 dispatcher()->Send(new PpapiHostMsg_PPBInstance_ClearInputEvents(
321 API_ID_PPB_INSTANCE, instance, event_classes)); 324 API_ID_PPB_INSTANCE, instance, event_classes));
322 } 325 }
323 326
327 void PPB_Instance_Proxy::ClosePendingUserGesture(PP_Instance instance,
328 PP_TimeTicks timestamp) {
329 // Not called on the plugin side.
330 NOTREACHED();
331 }
332
324 void PPB_Instance_Proxy::ZoomChanged(PP_Instance instance, 333 void PPB_Instance_Proxy::ZoomChanged(PP_Instance instance,
325 double factor) { 334 double factor) {
326 // Not proxied yet. 335 // Not proxied yet.
327 NOTIMPLEMENTED(); 336 NOTIMPLEMENTED();
328 } 337 }
329 338
330 void PPB_Instance_Proxy::ZoomLimitsChanged(PP_Instance instance, 339 void PPB_Instance_Proxy::ZoomLimitsChanged(PP_Instance instance,
331 double minimum_factor, 340 double minimum_factor,
332 double maximium_factor) { 341 double maximium_factor) {
333 // Not proxied yet. 342 // Not proxied yet.
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after
540 } 549 }
541 } 550 }
542 551
543 void PPB_Instance_Proxy::OnHostMsgClearInputEvents(PP_Instance instance, 552 void PPB_Instance_Proxy::OnHostMsgClearInputEvents(PP_Instance instance,
544 uint32_t event_classes) { 553 uint32_t event_classes) {
545 EnterInstanceNoLock enter(instance, false); 554 EnterInstanceNoLock enter(instance, false);
546 if (enter.succeeded()) 555 if (enter.succeeded())
547 enter.functions()->ClearInputEventRequest(instance, event_classes); 556 enter.functions()->ClearInputEventRequest(instance, event_classes);
548 } 557 }
549 558
559 void PPB_Instance_Proxy::OnMsgHandleInputEventAck(PP_Instance instance,
560 PP_TimeTicks timestamp) {
561 EnterInstanceNoLock enter(instance, false);
562 if (enter.succeeded())
563 enter.functions()->ClosePendingUserGesture(instance, timestamp);
564 }
565
550 void PPB_Instance_Proxy::OnHostMsgPostMessage( 566 void PPB_Instance_Proxy::OnHostMsgPostMessage(
551 PP_Instance instance, 567 PP_Instance instance,
552 SerializedVarReceiveInput message) { 568 SerializedVarReceiveInput message) {
553 EnterInstanceNoLock enter(instance, false); 569 EnterInstanceNoLock enter(instance, false);
554 if (enter.succeeded()) 570 if (enter.succeeded())
555 enter.functions()->PostMessage(instance, message.Get(dispatcher())); 571 enter.functions()->PostMessage(instance, message.Get(dispatcher()));
556 } 572 }
557 573
558 void PPB_Instance_Proxy::OnHostMsgLockMouse(PP_Instance instance) { 574 void PPB_Instance_Proxy::OnHostMsgLockMouse(PP_Instance instance) {
559 EnterHostFunctionForceCallback<PPB_Instance_FunctionAPI> enter( 575 EnterHostFunctionForceCallback<PPB_Instance_FunctionAPI> enter(
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
634 } 650 }
635 651
636 void PPB_Instance_Proxy::MouseLockCompleteInHost(int32_t result, 652 void PPB_Instance_Proxy::MouseLockCompleteInHost(int32_t result,
637 PP_Instance instance) { 653 PP_Instance instance) {
638 dispatcher()->Send(new PpapiMsg_PPBInstance_MouseLockComplete( 654 dispatcher()->Send(new PpapiMsg_PPBInstance_MouseLockComplete(
639 API_ID_PPB_INSTANCE, instance, result)); 655 API_ID_PPB_INSTANCE, instance, result));
640 } 656 }
641 657
642 } // namespace proxy 658 } // namespace proxy
643 } // namespace ppapi 659 } // namespace ppapi
OLDNEW
« no previous file with comments | « ppapi/proxy/ppb_instance_proxy.h ('k') | ppapi/proxy/ppp_input_event_proxy.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698