Index: content/ppapi_plugin/ppapi_plugin_main.cc |
diff --git a/content/ppapi_plugin/ppapi_plugin_main.cc b/content/ppapi_plugin/ppapi_plugin_main.cc |
index 52f87a5e8ece396be9f15a9d8558ed1fa309adb1..c91633972cd6a0926edb994929d6ed78b8a07422 100644 |
--- a/content/ppapi_plugin/ppapi_plugin_main.cc |
+++ b/content/ppapi_plugin/ppapi_plugin_main.cc |
@@ -20,6 +20,7 @@ |
#include "content/public/common/content_switches.h" |
#include "content/public/common/main_function_params.h" |
#include "content/public/plugin/content_plugin_client.h" |
+#include "ipc/ipc_sender.h" |
#include "ppapi/proxy/plugin_globals.h" |
#include "ppapi/proxy/proxy_module.h" |
#include "ui/base/ui_base_switches.h" |
@@ -27,7 +28,7 @@ |
#if defined(OS_WIN) |
#include "base/win/win_util.h" |
#include "base/win/windows_version.h" |
-#include "content/common/font_warmup_win.h" |
+#include "content/child/dwrite_font_proxy/dwrite_font_proxy_init_win.h" |
#include "sandbox/win/src/sandbox.h" |
#include "third_party/WebKit/public/web/win/WebFontRendering.h" |
#include "third_party/skia/include/ports/SkTypeface_win.h" |
@@ -65,6 +66,12 @@ void SkiaPreCacheFont(const LOGFONT& logfont) { |
} |
#endif |
+// Helper function so that we can Bind() GetBrowserSender. We can't bind it |
+// as a member function because PluginGlobals is not ref counted. |
+IPC::Sender* GetPluginGlobalsSender() { |
+ return ppapi::proxy::PluginGlobals::Get()->GetBrowserSender(); |
+} |
+ |
} // namespace |
// Main function for starting the PPAPI plugin process. |
@@ -139,7 +146,7 @@ int PpapiPluginMain(const MainFunctionParams& parameters) { |
gfx::win::MaybeInitializeDirectWrite(); |
bool use_direct_write = gfx::win::IsDirectWriteEnabled(); |
if (use_direct_write) { |
- WarmupDirectWrite(); |
+ InitializeDWriteFontProxy(base::Bind(&GetPluginGlobalsSender)); |
} else { |
SkTypeface_SetEnsureLOGFONTAccessibleProc(SkiaPreCacheFont); |
} |