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

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

Issue 6625034: Clarify/fix fullscreen semantics, and add GetScreenSize (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix review comments Created 9 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_fullscreen_proxy.h ('k') | webkit/plugins/ppapi/mock_plugin_delegate.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) 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
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
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
OLDNEW
« no previous file with comments | « ppapi/proxy/ppb_fullscreen_proxy.h ('k') | webkit/plugins/ppapi/mock_plugin_delegate.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698