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

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

Issue 11415140: Refactor 3 PPB_Flash functions to the new resource model. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 8 years 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_flash_proxy.h ('k') | ppapi/thunk/ppb_flash_api.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_flash_proxy.h" 5 #include "ppapi/proxy/ppb_flash_proxy.h"
6 6
7 #include <math.h> 7 #include <math.h>
8 8
9 #include <limits> 9 #include <limits>
10 10
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
99 bool PPB_Flash_Proxy::OnMessageReceived(const IPC::Message& msg) { 99 bool PPB_Flash_Proxy::OnMessageReceived(const IPC::Message& msg) {
100 if (!dispatcher()->permissions().HasPermission(PERMISSION_FLASH)) 100 if (!dispatcher()->permissions().HasPermission(PERMISSION_FLASH))
101 return false; 101 return false;
102 102
103 bool handled = true; 103 bool handled = true;
104 IPC_BEGIN_MESSAGE_MAP(PPB_Flash_Proxy, msg) 104 IPC_BEGIN_MESSAGE_MAP(PPB_Flash_Proxy, msg)
105 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBFlash_SetInstanceAlwaysOnTop, 105 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBFlash_SetInstanceAlwaysOnTop,
106 OnHostMsgSetInstanceAlwaysOnTop) 106 OnHostMsgSetInstanceAlwaysOnTop)
107 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBFlash_DrawGlyphs, 107 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBFlash_DrawGlyphs,
108 OnHostMsgDrawGlyphs) 108 OnHostMsgDrawGlyphs)
109 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBFlash_GetProxyForURL,
110 OnHostMsgGetProxyForURL)
111 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBFlash_Navigate, OnHostMsgNavigate) 109 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBFlash_Navigate, OnHostMsgNavigate)
112 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBFlash_GetLocalTimeZoneOffset, 110 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBFlash_GetLocalTimeZoneOffset,
113 OnHostMsgGetLocalTimeZoneOffset) 111 OnHostMsgGetLocalTimeZoneOffset)
114 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBFlash_IsRectTopmost, 112 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBFlash_IsRectTopmost,
115 OnHostMsgIsRectTopmost) 113 OnHostMsgIsRectTopmost)
116 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBFlash_OpenFileRef, 114 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBFlash_OpenFileRef,
117 OnHostMsgOpenFileRef) 115 OnHostMsgOpenFileRef)
118 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBFlash_QueryFileRef, 116 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBFlash_QueryFileRef,
119 OnHostMsgQueryFileRef) 117 OnHostMsgQueryFileRef)
120 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBFlash_InvokePrinting, 118 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBFlash_InvokePrinting,
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
171 params.glyph_advances.insert(params.glyph_advances.begin(), 169 params.glyph_advances.insert(params.glyph_advances.begin(),
172 &glyph_advances[0], 170 &glyph_advances[0],
173 &glyph_advances[glyph_count]); 171 &glyph_advances[glyph_count]);
174 172
175 PP_Bool result = PP_FALSE; 173 PP_Bool result = PP_FALSE;
176 dispatcher()->Send(new PpapiHostMsg_PPBFlash_DrawGlyphs( 174 dispatcher()->Send(new PpapiHostMsg_PPBFlash_DrawGlyphs(
177 API_ID_PPB_FLASH, instance, params, &result)); 175 API_ID_PPB_FLASH, instance, params, &result));
178 return result; 176 return result;
179 } 177 }
180 178
181 PP_Var PPB_Flash_Proxy::GetProxyForURL(PP_Instance instance, const char* url) {
182 ReceiveSerializedVarReturnValue result;
183 dispatcher()->Send(new PpapiHostMsg_PPBFlash_GetProxyForURL(
184 API_ID_PPB_FLASH, instance, url, &result));
185 return result.Return(dispatcher());
186 }
187
188 int32_t PPB_Flash_Proxy::Navigate(PP_Instance instance, 179 int32_t PPB_Flash_Proxy::Navigate(PP_Instance instance,
189 PP_Resource request_info, 180 PP_Resource request_info,
190 const char* target, 181 const char* target,
191 PP_Bool from_user_action) { 182 PP_Bool from_user_action) {
192 thunk::EnterResourceNoLock<thunk::PPB_URLRequestInfo_API> enter( 183 thunk::EnterResourceNoLock<thunk::PPB_URLRequestInfo_API> enter(
193 request_info, true); 184 request_info, true);
194 if (enter.failed()) 185 if (enter.failed())
195 return PP_ERROR_BADRESOURCE; 186 return PP_ERROR_BADRESOURCE;
196 return Navigate(instance, enter.object()->GetData(), target, 187 return Navigate(instance, enter.object()->GetData(), target,
197 from_user_action); 188 from_user_action);
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
254 } 245 }
255 246
256 PP_Bool PPB_Flash_Proxy::IsRectTopmost(PP_Instance instance, 247 PP_Bool PPB_Flash_Proxy::IsRectTopmost(PP_Instance instance,
257 const PP_Rect* rect) { 248 const PP_Rect* rect) {
258 PP_Bool result = PP_FALSE; 249 PP_Bool result = PP_FALSE;
259 dispatcher()->Send(new PpapiHostMsg_PPBFlash_IsRectTopmost( 250 dispatcher()->Send(new PpapiHostMsg_PPBFlash_IsRectTopmost(
260 API_ID_PPB_FLASH, instance, *rect, &result)); 251 API_ID_PPB_FLASH, instance, *rect, &result));
261 return result; 252 return result;
262 } 253 }
263 254
264 void PPB_Flash_Proxy::UpdateActivity(PP_Instance instance) {
265 PluginGlobals::Get()->GetBrowserSender()->Send(
266 new PpapiHostMsg_PPBFlash_UpdateActivity(API_ID_PPB_FLASH));
267 }
268
269 PP_Var PPB_Flash_Proxy::GetSetting(PP_Instance instance, 255 PP_Var PPB_Flash_Proxy::GetSetting(PP_Instance instance,
270 PP_FlashSetting setting) { 256 PP_FlashSetting setting) {
271 PluginDispatcher* plugin_dispatcher = 257 PluginDispatcher* plugin_dispatcher =
272 static_cast<PluginDispatcher*>(dispatcher()); 258 static_cast<PluginDispatcher*>(dispatcher());
273 switch (setting) { 259 switch (setting) {
274 case PP_FLASHSETTING_3DENABLED: 260 case PP_FLASHSETTING_3DENABLED:
275 return PP_MakeBool(PP_FromBool( 261 return PP_MakeBool(PP_FromBool(
276 plugin_dispatcher->preferences().is_3d_supported)); 262 plugin_dispatcher->preferences().is_3d_supported));
277 case PP_FLASHSETTING_INCOGNITO: 263 case PP_FLASHSETTING_INCOGNITO:
278 return PP_MakeBool(PP_FromBool(plugin_dispatcher->incognito())); 264 return PP_MakeBool(PP_FromBool(plugin_dispatcher->incognito()));
279 case PP_FLASHSETTING_STAGE3DENABLED: 265 case PP_FLASHSETTING_STAGE3DENABLED:
280 return PP_MakeBool(PP_FromBool( 266 return PP_MakeBool(PP_FromBool(
281 plugin_dispatcher->preferences().is_stage3d_supported)); 267 plugin_dispatcher->preferences().is_stage3d_supported));
282 case PP_FLASHSETTING_LANGUAGE: 268 case PP_FLASHSETTING_LANGUAGE:
283 return StringVar::StringToPPVar( 269 return StringVar::StringToPPVar(
284 PluginGlobals::Get()->GetUILanguage()); 270 PluginGlobals::Get()->GetUILanguage());
285 case PP_FLASHSETTING_NUMCORES: 271 case PP_FLASHSETTING_NUMCORES:
286 return PP_MakeInt32(plugin_dispatcher->preferences().number_of_cpu_cores); 272 return PP_MakeInt32(plugin_dispatcher->preferences().number_of_cpu_cores);
287 case PP_FLASHSETTING_LSORESTRICTIONS: { 273 case PP_FLASHSETTING_LSORESTRICTIONS: {
288 ReceiveSerializedVarReturnValue result; 274 ReceiveSerializedVarReturnValue result;
289 dispatcher()->Send(new PpapiHostMsg_PPBFlash_GetSetting( 275 dispatcher()->Send(new PpapiHostMsg_PPBFlash_GetSetting(
290 API_ID_PPB_FLASH, instance, setting, &result)); 276 API_ID_PPB_FLASH, instance, setting, &result));
291 return result.Return(dispatcher()); 277 return result.Return(dispatcher());
292 } 278 }
293 } 279 }
294 return PP_MakeUndefined(); 280 return PP_MakeUndefined();
295 } 281 }
296 282
297 PP_Bool PPB_Flash_Proxy::SetCrashData(PP_Instance instance,
298 PP_FlashCrashKey key,
299 PP_Var value) {
300 switch (key) {
301 case PP_FLASHCRASHKEY_URL:
302 StringVar *url_string_var(StringVar::FromPPVar(value));
303 if (!url_string_var)
304 return PP_FALSE;
305 std::string url_string(url_string_var->value());
306 PluginGlobals::Get()->SetActiveURL(url_string);
307 return PP_TRUE;
308 }
309 return PP_FALSE;
310 }
311
312 bool PPB_Flash_Proxy::CreateThreadAdapterForInstance(PP_Instance instance) { 283 bool PPB_Flash_Proxy::CreateThreadAdapterForInstance(PP_Instance instance) {
313 return true; 284 return true;
314 } 285 }
315 286
316 void PPB_Flash_Proxy::ClearThreadAdapterForInstance(PP_Instance instance) { 287 void PPB_Flash_Proxy::ClearThreadAdapterForInstance(PP_Instance instance) {
317 } 288 }
318 289
319 int32_t PPB_Flash_Proxy::OpenFile(PP_Instance, 290 int32_t PPB_Flash_Proxy::OpenFile(PP_Instance,
320 const char* path, 291 const char* path,
321 int32_t mode, 292 int32_t mode,
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after
520 const_cast<float(*)[3]>(params.transformation), 491 const_cast<float(*)[3]>(params.transformation),
521 params.allow_subpixel_aa, 492 params.allow_subpixel_aa,
522 static_cast<uint32_t>(params.glyph_indices.size()), 493 static_cast<uint32_t>(params.glyph_indices.size()),
523 const_cast<uint16_t*>(&params.glyph_indices[0]), 494 const_cast<uint16_t*>(&params.glyph_indices[0]),
524 const_cast<PP_Point*>(&params.glyph_advances[0])); 495 const_cast<PP_Point*>(&params.glyph_advances[0]));
525 496
526 // SetToPPFontDescription() creates a var which is owned by the caller. 497 // SetToPPFontDescription() creates a var which is owned by the caller.
527 PpapiGlobals::Get()->GetVarTracker()->ReleaseVar(font_desc.face); 498 PpapiGlobals::Get()->GetVarTracker()->ReleaseVar(font_desc.face);
528 } 499 }
529 500
530 void PPB_Flash_Proxy::OnHostMsgGetProxyForURL(PP_Instance instance,
531 const std::string& url,
532 SerializedVarReturnValue result) {
533 EnterInstanceNoLock enter(instance);
534 if (enter.succeeded()) {
535 result.Return(dispatcher(),
536 enter.functions()->GetFlashAPI()->GetProxyForURL(
537 instance, url.c_str()));
538 } else {
539 result.Return(dispatcher(), PP_MakeUndefined());
540 }
541 }
542
543 void PPB_Flash_Proxy::OnHostMsgNavigate(PP_Instance instance, 501 void PPB_Flash_Proxy::OnHostMsgNavigate(PP_Instance instance,
544 const URLRequestInfoData& data, 502 const URLRequestInfoData& data,
545 const std::string& target, 503 const std::string& target,
546 PP_Bool from_user_action, 504 PP_Bool from_user_action,
547 int32_t* result) { 505 int32_t* result) {
548 EnterInstanceNoLock enter_instance(instance); 506 EnterInstanceNoLock enter_instance(instance);
549 if (enter_instance.failed()) { 507 if (enter_instance.failed()) {
550 *result = PP_ERROR_BADARGUMENT; 508 *result = PP_ERROR_BADARGUMENT;
551 return; 509 return;
552 } 510 }
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
644 // It's rarely used enough that we just request this interface when needed. 602 // It's rarely used enough that we just request this interface when needed.
645 const PPB_Flash_Print_1_0* print_interface = 603 const PPB_Flash_Print_1_0* print_interface =
646 static_cast<const PPB_Flash_Print_1_0*>( 604 static_cast<const PPB_Flash_Print_1_0*>(
647 dispatcher()->local_get_interface()(PPB_FLASH_PRINT_INTERFACE_1_0)); 605 dispatcher()->local_get_interface()(PPB_FLASH_PRINT_INTERFACE_1_0));
648 if (print_interface) 606 if (print_interface)
649 print_interface->InvokePrinting(instance); 607 print_interface->InvokePrinting(instance);
650 } 608 }
651 609
652 } // namespace proxy 610 } // namespace proxy
653 } // namespace ppapi 611 } // namespace ppapi
OLDNEW
« no previous file with comments | « ppapi/proxy/ppb_flash_proxy.h ('k') | ppapi/thunk/ppb_flash_api.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698