diff options
author | brettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-12-11 09:44:28 +0000 |
---|---|---|
committer | brettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-12-11 09:44:28 +0000 |
commit | a942b8c1ca4b002376306cf399e000d0842c630b (patch) | |
tree | c644f15c15013e12cbbc331acb47e6247ec2babc | |
parent | 0f89cf88a61bb0a3f6af41bf2498538371d0cea9 (diff) | |
download | chromium_src-a942b8c1ca4b002376306cf399e000d0842c630b.zip chromium_src-a942b8c1ca4b002376306cf399e000d0842c630b.tar.gz chromium_src-a942b8c1ca4b002376306cf399e000d0842c630b.tar.bz2 |
Unlock the proxy lock when loading fonts.
The sandboxed font loading that happens on Windows sends a sync IPC message in response to a call from deep within WebKit. We need to unlock during this message.
BUG=165310
Review URL: https://chromiumcodereview.appspot.com/11512009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@172284 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | content/ppapi_plugin/ppapi_webkitplatformsupport_impl.cc | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/content/ppapi_plugin/ppapi_webkitplatformsupport_impl.cc b/content/ppapi_plugin/ppapi_webkitplatformsupport_impl.cc index 96472c3..106a69f 100644 --- a/content/ppapi_plugin/ppapi_webkitplatformsupport_impl.cc +++ b/content/ppapi_plugin/ppapi_webkitplatformsupport_impl.cc @@ -12,6 +12,7 @@ #include "build/build_config.h" #include "content/common/child_process_messages.h" #include "content/common/child_thread.h" +#include "ppapi/proxy/plugin_globals.h" #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebString.h" #if defined(OS_WIN) @@ -70,7 +71,9 @@ bool PpapiWebKitPlatformSupportImpl::SandboxSupport::ensureFontLoaded( LOGFONT logfont; GetObject(font, sizeof(LOGFONT), &logfont); - return ChildThread::current()->Send( + // Use the proxy sender rather than going directly to the ChildThread since + // the proxy browser sender will properly unlock during sync messages. + return ppapi::proxy::PluginGlobals::Get()->GetBrowserSender()->Send( new ChildProcessHostMsg_PreCacheFont(logfont)); } @@ -82,6 +85,7 @@ bool PpapiWebKitPlatformSupportImpl::SandboxSupport::loadFont( uint32_t* font_id) { // TODO(brettw) this should do the something similar to what // RendererWebKitClientImpl does and request that the browser load the font. + // Note: need to unlock the proxy lock like ensureFontLoaded does. NOTIMPLEMENTED(); return false; } |