OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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_fullscreen_proxy.h" | 5 #include "ppapi/proxy/ppb_fullscreen_proxy.h" |
6 | 6 |
7 #include "ppapi/c/dev/ppb_fullscreen_dev.h" | 7 #include "ppapi/c/dev/ppb_fullscreen_dev.h" |
8 #include "ppapi/proxy/plugin_dispatcher.h" | 8 #include "ppapi/proxy/plugin_dispatcher.h" |
9 #include "ppapi/proxy/ppapi_messages.h" | 9 #include "ppapi/proxy/ppapi_messages.h" |
10 | 10 |
(...skipping 17 matching lines...) Expand all Loading... |
28 PluginDispatcher* dispatcher = PluginDispatcher::GetForInstance(instance); | 28 PluginDispatcher* dispatcher = PluginDispatcher::GetForInstance(instance); |
29 if (!dispatcher) | 29 if (!dispatcher) |
30 return PP_FALSE; | 30 return PP_FALSE; |
31 | 31 |
32 PP_Bool result = PP_FALSE; | 32 PP_Bool result = PP_FALSE; |
33 dispatcher->Send(new PpapiHostMsg_PPBFullscreen_SetFullscreen( | 33 dispatcher->Send(new PpapiHostMsg_PPBFullscreen_SetFullscreen( |
34 INTERFACE_ID_PPB_FULLSCREEN, instance, fullscreen, &result)); | 34 INTERFACE_ID_PPB_FULLSCREEN, instance, fullscreen, &result)); |
35 return result; | 35 return result; |
36 } | 36 } |
37 | 37 |
38 const PPB_Fullscreen_Dev ppb_fullscreen = { | 38 const PPB_Fullscreen_Dev fullscreen_interface = { |
39 &IsFullscreen, | 39 &IsFullscreen, |
40 &SetFullscreen | 40 &SetFullscreen |
41 }; | 41 }; |
42 | 42 |
| 43 InterfaceProxy* CreateFullscreenProxy(Dispatcher* dispatcher, |
| 44 const void* target_interface) { |
| 45 return new PPB_Fullscreen_Proxy(dispatcher, target_interface); |
| 46 } |
| 47 |
43 } // namespace | 48 } // namespace |
44 | 49 |
45 PPB_Fullscreen_Proxy::PPB_Fullscreen_Proxy(Dispatcher* dispatcher, | 50 PPB_Fullscreen_Proxy::PPB_Fullscreen_Proxy(Dispatcher* dispatcher, |
46 const void* target_interface) | 51 const void* target_interface) |
47 : InterfaceProxy(dispatcher, target_interface) { | 52 : InterfaceProxy(dispatcher, target_interface) { |
48 } | 53 } |
49 | 54 |
50 PPB_Fullscreen_Proxy::~PPB_Fullscreen_Proxy() { | 55 PPB_Fullscreen_Proxy::~PPB_Fullscreen_Proxy() { |
51 } | 56 } |
52 | 57 |
53 const void* PPB_Fullscreen_Proxy::GetSourceInterface() const { | 58 // static |
54 return &ppb_fullscreen; | 59 const InterfaceProxy::Info* PPB_Fullscreen_Proxy::GetInfo() { |
55 } | 60 static const Info info = { |
56 | 61 &fullscreen_interface, |
57 InterfaceID PPB_Fullscreen_Proxy::GetInterfaceId() const { | 62 PPB_FULLSCREEN_DEV_INTERFACE, |
58 return INTERFACE_ID_PPB_FULLSCREEN; | 63 INTERFACE_ID_PPB_FULLSCREEN, |
| 64 false, |
| 65 &CreateFullscreenProxy, |
| 66 }; |
| 67 return &info; |
59 } | 68 } |
60 | 69 |
61 bool PPB_Fullscreen_Proxy::OnMessageReceived(const IPC::Message& msg) { | 70 bool PPB_Fullscreen_Proxy::OnMessageReceived(const IPC::Message& msg) { |
62 bool handled = true; | 71 bool handled = true; |
63 IPC_BEGIN_MESSAGE_MAP(PPB_Fullscreen_Proxy, msg) | 72 IPC_BEGIN_MESSAGE_MAP(PPB_Fullscreen_Proxy, msg) |
64 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBFullscreen_IsFullscreen, | 73 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBFullscreen_IsFullscreen, |
65 OnMsgIsFullscreen) | 74 OnMsgIsFullscreen) |
66 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBFullscreen_SetFullscreen, | 75 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBFullscreen_SetFullscreen, |
67 OnMsgSetFullscreen) | 76 OnMsgSetFullscreen) |
68 IPC_MESSAGE_UNHANDLED(handled = false) | 77 IPC_MESSAGE_UNHANDLED(handled = false) |
69 IPC_END_MESSAGE_MAP() | 78 IPC_END_MESSAGE_MAP() |
70 // TODO(brettw): handle bad messages! | 79 // TODO(brettw): handle bad messages! |
71 return handled; | 80 return handled; |
72 } | 81 } |
73 | 82 |
74 void PPB_Fullscreen_Proxy::OnMsgIsFullscreen(PP_Instance instance, | 83 void PPB_Fullscreen_Proxy::OnMsgIsFullscreen(PP_Instance instance, |
75 PP_Bool* result) { | 84 PP_Bool* result) { |
76 *result = ppb_fullscreen_target()->IsFullscreen(instance); | 85 *result = ppb_fullscreen_target()->IsFullscreen(instance); |
77 } | 86 } |
78 | 87 |
79 void PPB_Fullscreen_Proxy::OnMsgSetFullscreen(PP_Instance instance, | 88 void PPB_Fullscreen_Proxy::OnMsgSetFullscreen(PP_Instance instance, |
80 PP_Bool fullscreen, | 89 PP_Bool fullscreen, |
81 PP_Bool* result) { | 90 PP_Bool* result) { |
82 *result = ppb_fullscreen_target()->SetFullscreen(instance, fullscreen); | 91 *result = ppb_fullscreen_target()->SetFullscreen(instance, fullscreen); |
83 } | 92 } |
84 | 93 |
85 } // namespace proxy | 94 } // namespace proxy |
86 } // namespace pp | 95 } // namespace pp |
OLD | NEW |