Index: chrome/utility/chrome_content_utility_client.cc |
diff --git a/chrome/utility/chrome_content_utility_client.cc b/chrome/utility/chrome_content_utility_client.cc |
index 2f1b8958fa211ed54b50d0721c8c7d1730330658..6c9eb0611cb77ec50c7ccb2fa7cd3ec4134b7ede 100644 |
--- a/chrome/utility/chrome_content_utility_client.cc |
+++ b/chrome/utility/chrome_content_utility_client.cc |
@@ -27,6 +27,7 @@ |
#include "base/path_service.h" |
#include "base/win/iat_patch_function.h" |
#include "base/win/scoped_handle.h" |
+#include "content/common/child_process_messages.h" |
#include "content/common/content_switches.h" |
#include "content/common/sandbox_init_wrapper.h" |
#include "printing/emf_win.h" |
@@ -223,8 +224,11 @@ DWORD WINAPI UtilityProcess_GetFontDataPatch( |
if (GetObject(font, sizeof(LOGFONT), &logfont)) { |
std::vector<char> font_data; |
if (UtilityThread::current()->Send( |
- new ChromeUtilityHostMsg_PreCacheFont(logfont))) |
+ new ChromeUtilityHostMsg_PreCacheFont(logfont))) { |
rv = GetFontData(hdc, table, offset, buffer, length); |
+ UtilityThread::current()->Send( |
+ new ChromeUtilityHostMsg_ReleaseCachedFonts()); |
+ } |
} |
} |
return rv; |