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/ppp_mouse_lock_proxy.h" | 5 #include "ppapi/proxy/ppp_mouse_lock_proxy.h" |
6 | 6 |
7 #include "ppapi/c/ppp_mouse_lock.h" | 7 #include "ppapi/c/ppp_mouse_lock.h" |
8 #include "ppapi/proxy/host_dispatcher.h" | 8 #include "ppapi/proxy/host_dispatcher.h" |
9 #include "ppapi/proxy/ppapi_messages.h" | 9 #include "ppapi/proxy/ppapi_messages.h" |
10 #include "ppapi/shared_impl/proxy_lock.h" | 10 #include "ppapi/shared_impl/proxy_lock.h" |
(...skipping 17 matching lines...) Expand all Loading... |
28 } | 28 } |
29 | 29 |
30 static const PPP_MouseLock mouse_lock_interface = { | 30 static const PPP_MouseLock mouse_lock_interface = { |
31 &MouseLockLost | 31 &MouseLockLost |
32 }; | 32 }; |
33 #else | 33 #else |
34 // The NaCl plugin doesn't need the host side interface - stub it out. | 34 // The NaCl plugin doesn't need the host side interface - stub it out. |
35 static const PPP_MouseLock mouse_lock_interface = {}; | 35 static const PPP_MouseLock mouse_lock_interface = {}; |
36 #endif // !defined(OS_NACL) | 36 #endif // !defined(OS_NACL) |
37 | 37 |
38 InterfaceProxy* CreateMouseLockProxy(Dispatcher* dispatcher) { | |
39 return new PPP_MouseLock_Proxy(dispatcher); | |
40 } | |
41 | |
42 } // namespace | 38 } // namespace |
43 | 39 |
44 PPP_MouseLock_Proxy::PPP_MouseLock_Proxy(Dispatcher* dispatcher) | 40 PPP_MouseLock_Proxy::PPP_MouseLock_Proxy(Dispatcher* dispatcher) |
45 : InterfaceProxy(dispatcher), | 41 : InterfaceProxy(dispatcher), |
46 ppp_mouse_lock_impl_(NULL) { | 42 ppp_mouse_lock_impl_(NULL) { |
47 if (dispatcher->IsPlugin()) { | 43 if (dispatcher->IsPlugin()) { |
48 ppp_mouse_lock_impl_ = static_cast<const PPP_MouseLock*>( | 44 ppp_mouse_lock_impl_ = static_cast<const PPP_MouseLock*>( |
49 dispatcher->local_get_interface()(PPP_MOUSELOCK_INTERFACE)); | 45 dispatcher->local_get_interface()(PPP_MOUSELOCK_INTERFACE)); |
50 } | 46 } |
51 } | 47 } |
52 | 48 |
53 PPP_MouseLock_Proxy::~PPP_MouseLock_Proxy() { | 49 PPP_MouseLock_Proxy::~PPP_MouseLock_Proxy() { |
54 } | 50 } |
55 | 51 |
56 // static | 52 // static |
57 const InterfaceProxy::Info* PPP_MouseLock_Proxy::GetInfo() { | 53 const PPP_MouseLock* PPP_MouseLock_Proxy::GetProxyInterface() { |
58 static const Info info = { | 54 return &mouse_lock_interface; |
59 &mouse_lock_interface, | |
60 PPP_MOUSELOCK_INTERFACE, | |
61 API_ID_PPP_MOUSE_LOCK, | |
62 false, | |
63 &CreateMouseLockProxy, | |
64 }; | |
65 return &info; | |
66 } | 55 } |
67 | 56 |
68 bool PPP_MouseLock_Proxy::OnMessageReceived(const IPC::Message& msg) { | 57 bool PPP_MouseLock_Proxy::OnMessageReceived(const IPC::Message& msg) { |
69 if (!dispatcher()->IsPlugin()) | 58 if (!dispatcher()->IsPlugin()) |
70 return false; | 59 return false; |
71 | 60 |
72 bool handled = true; | 61 bool handled = true; |
73 IPC_BEGIN_MESSAGE_MAP(PPP_MouseLock_Proxy, msg) | 62 IPC_BEGIN_MESSAGE_MAP(PPP_MouseLock_Proxy, msg) |
74 IPC_MESSAGE_HANDLER(PpapiMsg_PPPMouseLock_MouseLockLost, | 63 IPC_MESSAGE_HANDLER(PpapiMsg_PPPMouseLock_MouseLockLost, |
75 OnMsgMouseLockLost) | 64 OnMsgMouseLockLost) |
76 IPC_MESSAGE_UNHANDLED(handled = false) | 65 IPC_MESSAGE_UNHANDLED(handled = false) |
77 IPC_END_MESSAGE_MAP() | 66 IPC_END_MESSAGE_MAP() |
78 return handled; | 67 return handled; |
79 } | 68 } |
80 | 69 |
81 void PPP_MouseLock_Proxy::OnMsgMouseLockLost(PP_Instance instance) { | 70 void PPP_MouseLock_Proxy::OnMsgMouseLockLost(PP_Instance instance) { |
82 if (ppp_mouse_lock_impl_) | 71 if (ppp_mouse_lock_impl_) |
83 CallWhileUnlocked(ppp_mouse_lock_impl_->MouseLockLost, instance); | 72 CallWhileUnlocked(ppp_mouse_lock_impl_->MouseLockLost, instance); |
84 } | 73 } |
85 | 74 |
86 } // namespace proxy | 75 } // namespace proxy |
87 } // namespace ppapi | 76 } // namespace ppapi |
OLD | NEW |