| Index: ppapi/proxy/ppb_flash_proxy.cc
|
| diff --git a/ppapi/proxy/ppb_flash_proxy.cc b/ppapi/proxy/ppb_flash_proxy.cc
|
| index 19eabcff48b1a282b0f046cfb28ebbe7f4dc6ae1..bcd692b1ab5ce427368a144e36e9afc425fc876c 100644
|
| --- a/ppapi/proxy/ppb_flash_proxy.cc
|
| +++ b/ppapi/proxy/ppb_flash_proxy.cc
|
| @@ -20,6 +20,7 @@
|
| #include "ppapi/proxy/proxy_module.h"
|
| #include "ppapi/proxy/serialized_var.h"
|
| #include "ppapi/shared_impl/ppapi_globals.h"
|
| +#include "ppapi/shared_impl/proxy_lock.h"
|
| #include "ppapi/shared_impl/resource.h"
|
| #include "ppapi/shared_impl/resource_tracker.h"
|
| #include "ppapi/shared_impl/scoped_pp_resource.h"
|
| @@ -34,6 +35,7 @@ namespace proxy {
|
| namespace {
|
|
|
| void SetInstanceAlwaysOnTop(PP_Instance pp_instance, PP_Bool on_top) {
|
| + ProxyAutoLock lock;
|
| PluginDispatcher* dispatcher = PluginDispatcher::GetForInstance(pp_instance);
|
| if (dispatcher) {
|
| dispatcher->Send(new PpapiHostMsg_PPBFlash_SetInstanceAlwaysOnTop(
|
| @@ -52,6 +54,7 @@ PP_Bool DrawGlyphs(PP_Instance instance,
|
| uint32_t glyph_count,
|
| const uint16_t glyph_indices[],
|
| const PP_Point glyph_advances[]) {
|
| + ProxyAutoLock lock;
|
| Resource* image_data =
|
| PpapiGlobals::Get()->GetResourceTracker()->GetResource(pp_image_data);
|
| if (!image_data)
|
| @@ -101,13 +104,14 @@ PP_Bool DrawGlyphs11(PP_Instance instance,
|
| uint32_t glyph_count,
|
| const uint16_t glyph_indices[],
|
| const PP_Point glyph_advances[]) {
|
| - // Backwards-compatible version.
|
| + // Backwards-compatible version. DrawGlyphs locks; no need to lock here.
|
| return DrawGlyphs(instance, pp_image_data, font_desc, color, &position,
|
| &clip, transformation, PP_TRUE, glyph_count, glyph_indices,
|
| glyph_advances);
|
| }
|
|
|
| PP_Var GetProxyForURL(PP_Instance instance, const char* url) {
|
| + ProxyAutoLock lock;
|
| PluginDispatcher* dispatcher = PluginDispatcher::GetForInstance(instance);
|
| if (!dispatcher)
|
| return PP_MakeUndefined();
|
| @@ -141,11 +145,12 @@ int32_t Navigate(PP_Resource request_id,
|
| int32_t Navigate11(PP_Resource request_id,
|
| const char* target,
|
| bool from_user_action) {
|
| - // Backwards-compatible version.
|
| + // Backwards-compatible version. Navigate locks; no need to lock here.
|
| return Navigate(request_id, target, PP_FromBool(from_user_action));
|
| }
|
|
|
| void RunMessageLoop(PP_Instance instance) {
|
| + ProxyAutoLock lock;
|
| PluginDispatcher* dispatcher = PluginDispatcher::GetForInstance(instance);
|
| if (!dispatcher)
|
| return;
|
| @@ -156,6 +161,7 @@ void RunMessageLoop(PP_Instance instance) {
|
| }
|
|
|
| void QuitMessageLoop(PP_Instance instance) {
|
| + ProxyAutoLock lock;
|
| PluginDispatcher* dispatcher = PluginDispatcher::GetForInstance(instance);
|
| if (!dispatcher)
|
| return;
|
| @@ -164,6 +170,7 @@ void QuitMessageLoop(PP_Instance instance) {
|
| }
|
|
|
| double GetLocalTimeZoneOffset(PP_Instance instance, PP_Time t) {
|
| + ProxyAutoLock lock;
|
| PluginDispatcher* dispatcher = PluginDispatcher::GetForInstance(instance);
|
| if (!dispatcher)
|
| return 0.0;
|
| @@ -181,11 +188,13 @@ double GetLocalTimeZoneOffset(PP_Instance instance, PP_Time t) {
|
| }
|
|
|
| PP_Var GetCommandLineArgs(PP_Module /*pp_module*/) {
|
| + ProxyAutoLock lock;
|
| std::string args = ProxyModule::GetInstance()->GetFlashCommandLineArgs();
|
| return StringVar::StringToPPVar(args);
|
| }
|
|
|
| void PreLoadFontWin(const void* logfontw) {
|
| + ProxyAutoLock lock;
|
| PluginGlobals::Get()->plugin_proxy_delegate()->PreCacheFont(logfontw);
|
| }
|
|
|
|
|