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 "webkit/plugins/ppapi/plugin_module.h" | 5 #include "webkit/plugins/ppapi/plugin_module.h" |
6 | 6 |
7 #include <set> | 7 #include <set> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
(...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
301 | 301 |
302 #include "ppapi/thunk/interfaces_ppb_public_stable.h" | 302 #include "ppapi/thunk/interfaces_ppb_public_stable.h" |
303 #include "ppapi/thunk/interfaces_ppb_public_dev.h" | 303 #include "ppapi/thunk/interfaces_ppb_public_dev.h" |
304 #include "ppapi/thunk/interfaces_ppb_private.h" | 304 #include "ppapi/thunk/interfaces_ppb_private.h" |
305 #include "ppapi/thunk/interfaces_ppb_private_no_permissions.h" | 305 #include "ppapi/thunk/interfaces_ppb_private_no_permissions.h" |
306 #include "ppapi/thunk/interfaces_ppb_private_flash.h" | 306 #include "ppapi/thunk/interfaces_ppb_private_flash.h" |
307 | 307 |
308 #undef UNPROXIED_API | 308 #undef UNPROXIED_API |
309 #undef PROXIED_IFACE | 309 #undef PROXIED_IFACE |
310 | 310 |
311 // Please keep alphabetized by interface macro name with "special" stuff at | 311 #define LEGACY_IFACE(iface_str, function_name) \ |
312 // the bottom. | 312 if (strcmp(name, iface_str) == 0) \ |
313 if (strcmp(name, PPB_AUDIO_TRUSTED_INTERFACE_0_6) == 0) | 313 return function_name; |
314 return ::ppapi::thunk::GetPPB_AudioTrusted_0_6_Thunk(); | 314 |
315 if (strcmp(name, PPB_BUFFER_TRUSTED_INTERFACE_0_1) == 0) | 315 #include "ppapi/thunk/interfaces_legacy.h" |
316 return ::ppapi::thunk::GetPPB_BufferTrusted_0_1_Thunk(); | 316 |
317 if (strcmp(name, PPB_CORE_INTERFACE_1_0) == 0) | 317 #undef LEGACY_IFACE |
318 return &core_interface; | |
319 if (strcmp(name, PPB_GPUBLACKLIST_PRIVATE_INTERFACE) == 0) | |
320 return PPB_GpuBlacklist_Private_Impl::GetInterface(); | |
321 if (strcmp(name, PPB_GRAPHICS_3D_TRUSTED_INTERFACE_1_0) == 0) | |
322 return ::ppapi::thunk::GetPPB_Graphics3DTrusted_1_0_Thunk(); | |
323 if (strcmp(name, PPB_IMAGEDATA_TRUSTED_INTERFACE_0_4) == 0) | |
324 return ::ppapi::thunk::GetPPB_ImageDataTrusted_0_4_Thunk(); | |
325 if (strcmp(name, PPB_INPUT_EVENT_INTERFACE_1_0) == 0) | |
326 return ::ppapi::thunk::GetPPB_InputEvent_1_0_Thunk(); | |
327 if (strcmp(name, PPB_INSTANCE_PRIVATE_INTERFACE_0_1) == 0) | |
328 return ::ppapi::thunk::GetPPB_Instance_Private_0_1_Thunk(); | |
329 if (strcmp(name, PPB_OPENGLES2_INTERFACE) == 0) | |
330 return ::ppapi::PPB_OpenGLES2_Shared::GetInterface(); | |
331 if (strcmp(name, PPB_OPENGLES2_INSTANCEDARRAYS_INTERFACE) == 0) | |
332 return ::ppapi::PPB_OpenGLES2_Shared::GetInstancedArraysInterface(); | |
333 if (strcmp(name, PPB_OPENGLES2_FRAMEBUFFERBLIT_INTERFACE) == 0) | |
334 return ::ppapi::PPB_OpenGLES2_Shared::GetFramebufferBlitInterface(); | |
335 if (strcmp(name, PPB_OPENGLES2_FRAMEBUFFERMULTISAMPLE_INTERFACE) == 0) | |
336 return ::ppapi::PPB_OpenGLES2_Shared::GetFramebufferMultisampleInterface(); | |
337 if (strcmp(name, PPB_OPENGLES2_CHROMIUMENABLEFEATURE_INTERFACE) == 0) | |
338 return ::ppapi::PPB_OpenGLES2_Shared::GetChromiumEnableFeatureInterface(); | |
339 if (strcmp(name, PPB_OPENGLES2_CHROMIUMMAPSUB_INTERFACE) == 0) | |
340 return ::ppapi::PPB_OpenGLES2_Shared::GetChromiumMapSubInterface(); | |
341 if (strcmp(name, PPB_OPENGLES2_CHROMIUMMAPSUB_DEV_INTERFACE_1_0) == 0) | |
342 return ::ppapi::PPB_OpenGLES2_Shared::GetChromiumMapSubInterface(); | |
343 if (strcmp(name, PPB_OPENGLES2_QUERY_INTERFACE) == 0) | |
344 return ::ppapi::PPB_OpenGLES2_Shared::GetQueryInterface(); | |
345 if (strcmp(name, PPB_PROXY_PRIVATE_INTERFACE) == 0) | |
346 return PPB_Proxy_Impl::GetInterface(); | |
347 if (strcmp(name, PPB_UMA_PRIVATE_INTERFACE) == 0) | |
348 return PPB_UMA_Private_Impl::GetInterface(); | |
349 if (strcmp(name, PPB_VAR_DEPRECATED_INTERFACE) == 0) | |
350 return PPB_Var_Deprecated_Impl::GetVarDeprecatedInterface(); | |
351 if (strcmp(name, PPB_VAR_INTERFACE_1_0) == 0) | |
352 return ::ppapi::PPB_Var_Shared::GetVarInterface1_0(); | |
353 if (strcmp(name, PPB_VAR_INTERFACE_1_1) == 0) | |
354 return ::ppapi::PPB_Var_Shared::GetVarInterface1_1(); | |
355 if (strcmp(name, PPB_VAR_ARRAY_BUFFER_INTERFACE_1_0) == 0) | |
356 return ::ppapi::PPB_Var_Shared::GetVarArrayBufferInterface1_0(); | |
357 | 318 |
358 // Only support the testing interface when the command line switch is | 319 // Only support the testing interface when the command line switch is |
359 // specified. This allows us to prevent people from (ab)using this interface | 320 // specified. This allows us to prevent people from (ab)using this interface |
360 // in production code. | 321 // in production code. |
361 if (CommandLine::ForCurrentProcess()->HasSwitch( | 322 if (CommandLine::ForCurrentProcess()->HasSwitch( |
362 switches::kEnablePepperTesting)) { | 323 switches::kEnablePepperTesting)) { |
363 if (strcmp(name, PPB_TESTING_DEV_INTERFACE) == 0 || | 324 if (strcmp(name, PPB_TESTING_DEV_INTERFACE) == 0 || |
364 strcmp(name, PPB_TESTING_DEV_INTERFACE_0_9) == 0) { | 325 strcmp(name, PPB_TESTING_DEV_INTERFACE_0_9) == 0) { |
365 return &testing_interface; | 326 return &testing_interface; |
366 } | 327 } |
(...skipping 291 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
658 int retval = entry_points.initialize_module(pp_module(), &GetInterface); | 619 int retval = entry_points.initialize_module(pp_module(), &GetInterface); |
659 if (retval != 0) { | 620 if (retval != 0) { |
660 LOG(WARNING) << "PPP_InitializeModule returned failure " << retval; | 621 LOG(WARNING) << "PPP_InitializeModule returned failure " << retval; |
661 return false; | 622 return false; |
662 } | 623 } |
663 return true; | 624 return true; |
664 } | 625 } |
665 | 626 |
666 } // namespace ppapi | 627 } // namespace ppapi |
667 } // namespace webkit | 628 } // namespace webkit |
OLD | NEW |