summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbrettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-12-11 09:44:28 +0000
committerbrettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-12-11 09:44:28 +0000
commita942b8c1ca4b002376306cf399e000d0842c630b (patch)
treec644f15c15013e12cbbc331acb47e6247ec2babc
parent0f89cf88a61bb0a3f6af41bf2498538371d0cea9 (diff)
downloadchromium_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.cc6
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;
}