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 PP_Bool GetScreenSize(PP_Instance instance, PP_Size* size) { |
| 39 PluginDispatcher* dispatcher = PluginDispatcher::GetForInstance(instance); |
| 40 if (!dispatcher) |
| 41 return PP_FALSE; |
| 42 |
| 43 PP_Bool result = PP_FALSE; |
| 44 dispatcher->Send(new PpapiHostMsg_PPBFullscreen_GetScreenSize( |
| 45 INTERFACE_ID_PPB_FULLSCREEN, instance, &result, size)); |
| 46 return result; |
| 47 } |
| 48 |
38 const PPB_Fullscreen_Dev fullscreen_interface = { | 49 const PPB_Fullscreen_Dev fullscreen_interface = { |
39 &IsFullscreen, | 50 &IsFullscreen, |
40 &SetFullscreen | 51 &SetFullscreen, |
| 52 &GetScreenSize |
41 }; | 53 }; |
42 | 54 |
43 InterfaceProxy* CreateFullscreenProxy(Dispatcher* dispatcher, | 55 InterfaceProxy* CreateFullscreenProxy(Dispatcher* dispatcher, |
44 const void* target_interface) { | 56 const void* target_interface) { |
45 return new PPB_Fullscreen_Proxy(dispatcher, target_interface); | 57 return new PPB_Fullscreen_Proxy(dispatcher, target_interface); |
46 } | 58 } |
47 | 59 |
48 } // namespace | 60 } // namespace |
49 | 61 |
50 PPB_Fullscreen_Proxy::PPB_Fullscreen_Proxy(Dispatcher* dispatcher, | 62 PPB_Fullscreen_Proxy::PPB_Fullscreen_Proxy(Dispatcher* dispatcher, |
(...skipping 16 matching lines...) Expand all Loading... |
67 return &info; | 79 return &info; |
68 } | 80 } |
69 | 81 |
70 bool PPB_Fullscreen_Proxy::OnMessageReceived(const IPC::Message& msg) { | 82 bool PPB_Fullscreen_Proxy::OnMessageReceived(const IPC::Message& msg) { |
71 bool handled = true; | 83 bool handled = true; |
72 IPC_BEGIN_MESSAGE_MAP(PPB_Fullscreen_Proxy, msg) | 84 IPC_BEGIN_MESSAGE_MAP(PPB_Fullscreen_Proxy, msg) |
73 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBFullscreen_IsFullscreen, | 85 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBFullscreen_IsFullscreen, |
74 OnMsgIsFullscreen) | 86 OnMsgIsFullscreen) |
75 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBFullscreen_SetFullscreen, | 87 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBFullscreen_SetFullscreen, |
76 OnMsgSetFullscreen) | 88 OnMsgSetFullscreen) |
| 89 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBFullscreen_GetScreenSize, |
| 90 OnMsgGetScreenSize) |
77 IPC_MESSAGE_UNHANDLED(handled = false) | 91 IPC_MESSAGE_UNHANDLED(handled = false) |
78 IPC_END_MESSAGE_MAP() | 92 IPC_END_MESSAGE_MAP() |
79 // TODO(brettw): handle bad messages! | 93 // TODO(brettw): handle bad messages! |
80 return handled; | 94 return handled; |
81 } | 95 } |
82 | 96 |
83 void PPB_Fullscreen_Proxy::OnMsgIsFullscreen(PP_Instance instance, | 97 void PPB_Fullscreen_Proxy::OnMsgIsFullscreen(PP_Instance instance, |
84 PP_Bool* result) { | 98 PP_Bool* result) { |
85 *result = ppb_fullscreen_target()->IsFullscreen(instance); | 99 *result = ppb_fullscreen_target()->IsFullscreen(instance); |
86 } | 100 } |
87 | 101 |
88 void PPB_Fullscreen_Proxy::OnMsgSetFullscreen(PP_Instance instance, | 102 void PPB_Fullscreen_Proxy::OnMsgSetFullscreen(PP_Instance instance, |
89 PP_Bool fullscreen, | 103 PP_Bool fullscreen, |
90 PP_Bool* result) { | 104 PP_Bool* result) { |
91 *result = ppb_fullscreen_target()->SetFullscreen(instance, fullscreen); | 105 *result = ppb_fullscreen_target()->SetFullscreen(instance, fullscreen); |
92 } | 106 } |
93 | 107 |
| 108 void PPB_Fullscreen_Proxy::OnMsgGetScreenSize(PP_Instance instance, |
| 109 PP_Bool* result, |
| 110 PP_Size* size) { |
| 111 *result = ppb_fullscreen_target()->GetScreenSize(instance, size); |
| 112 } |
| 113 |
94 } // namespace proxy | 114 } // namespace proxy |
95 } // namespace pp | 115 } // namespace pp |
OLD | NEW |