Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1297)

Unified Diff: content/child/dwrite_font_proxy/dwrite_font_proxy_init_win.cc

Issue 2182213004: Use ChildThreadImpl::thread_safe_sender in font proxy if available (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix unittests Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/child/dwrite_font_proxy/dwrite_font_proxy_init_win.cc
diff --git a/content/child/dwrite_font_proxy/dwrite_font_proxy_init_win.cc b/content/child/dwrite_font_proxy/dwrite_font_proxy_init_win.cc
index da083233fb2f7fccb082bb85c9d33e77b69249e9..4feaae2a0d6b915591c9f7d899d223d43f7bfba8 100644
--- a/content/child/dwrite_font_proxy/dwrite_font_proxy_init_win.cc
+++ b/content/child/dwrite_font_proxy/dwrite_font_proxy_init_win.cc
@@ -60,16 +60,27 @@ void CreateDirectWriteFactory(IDWriteFactory** factory) {
reinterpret_cast<IUnknown**>(factory))));
}
+// Needed as a function for Bind()
+IPC::Sender* GetSenderOverride() {
+ return g_sender_override;
+}
+
} // namespace
-void InitializeDWriteFontProxy() {
+void InitializeDWriteFontProxy(
+ const base::Callback<IPC::Sender*(void)>& sender) {
mswr::ComPtr<IDWriteFactory> factory;
CreateDirectWriteFactory(&factory);
if (!g_font_collection) {
- mswr::MakeAndInitialize<DWriteFontCollectionProxy>(
- &g_font_collection, factory.Get(), g_sender_override);
+ if (g_sender_override) {
+ mswr::MakeAndInitialize<DWriteFontCollectionProxy>(
+ &g_font_collection, factory.Get(), base::Bind(&GetSenderOverride));
+ } else {
+ mswr::MakeAndInitialize<DWriteFontCollectionProxy>(&g_font_collection,
+ factory.Get(), sender);
+ }
}
mswr::ComPtr<IDWriteFontFallback> font_fallback;

Powered by Google App Engine
This is Rietveld 408576698