Index: content/renderer/renderer_main_platform_delegate_win.cc |
diff --git a/content/renderer/renderer_main_platform_delegate_win.cc b/content/renderer/renderer_main_platform_delegate_win.cc |
index aae8ea1e0b2e8906195d9bb6d804361ffddc12f7..1b62830aed1efdefabf25ec11f0efe9fdde5c6c6 100644 |
--- a/content/renderer/renderer_main_platform_delegate_win.cc |
+++ b/content/renderer/renderer_main_platform_delegate_win.cc |
@@ -4,6 +4,8 @@ |
#include "content/renderer/renderer_main_platform_delegate.h" |
+#include <dwrite.h> |
+ |
#include "base/command_line.h" |
#include "base/logging.h" |
#include "base/memory/scoped_ptr.h" |
@@ -11,7 +13,7 @@ |
#include "base/win/scoped_comptr.h" |
#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 "content/public/common/content_switches.h" |
#include "content/public/common/injection_test_win.h" |
#include "content/public/renderer/render_thread.h" |
@@ -24,8 +26,6 @@ |
#include "ui/gfx/win/direct_write.h" |
#include "ui/gfx/win/dpi.h" |
-#include <dwrite.h> |
- |
namespace content { |
namespace { |
@@ -49,6 +49,11 @@ RendererMainPlatformDelegate::RendererMainPlatformDelegate( |
RendererMainPlatformDelegate::~RendererMainPlatformDelegate() { |
} |
+// Helper function to cast RenderThred to IPC::Sender so we can Bind() it. |
+IPC::Sender* RenderThreadGetAsSender() { |
+ return RenderThread::Get(); |
+} |
+ |
void RendererMainPlatformDelegate::PlatformInitialize() { |
const base::CommandLine& command_line = parameters_.command_line; |
@@ -67,7 +72,7 @@ void RendererMainPlatformDelegate::PlatformInitialize() { |
scoped_ptr<icu::TimeZone> zone(icu::TimeZone::createDefault()); |
if (use_direct_write) { |
- WarmupDirectWrite(); |
+ InitializeDWriteFontProxy(base::Bind(&RenderThreadGetAsSender)); |
} else { |
SkTypeface_SetEnsureLOGFONTAccessibleProc(SkiaPreCacheFont); |
} |
@@ -77,6 +82,7 @@ void RendererMainPlatformDelegate::PlatformInitialize() { |
} |
void RendererMainPlatformDelegate::PlatformUninitialize() { |
+ UninitializeDWriteFontProxy(); |
} |
bool RendererMainPlatformDelegate::EnableSandbox() { |