| Index: chrome/browser/chrome_browser_main_win.cc
|
| diff --git a/chrome/browser/chrome_browser_main_win.cc b/chrome/browser/chrome_browser_main_win.cc
|
| index cbe463ab9fd0bff51e403b3a0175d72838eface8..5d8a237daee9279daea0dc4f31e67dd78efdbb5e 100644
|
| --- a/chrome/browser/chrome_browser_main_win.cc
|
| +++ b/chrome/browser/chrome_browser_main_win.cc
|
| @@ -57,7 +57,6 @@
|
| #include "content/public/browser/utility_process_host.h"
|
| #include "content/public/browser/utility_process_host_client.h"
|
| #include "content/public/common/content_switches.h"
|
| -#include "content/public/common/dwrite_font_platform_win.h"
|
| #include "content/public/common/main_function_params.h"
|
| #include "ui/base/cursor/cursor_loader_win.h"
|
| #include "ui/base/l10n/l10n_util.h"
|
| @@ -83,6 +82,8 @@ typedef HRESULT (STDAPICALLTYPE* RegisterApplicationRestartProc)(
|
| const wchar_t* command_line,
|
| DWORD flags);
|
|
|
| +const char kFontCacheSharedSectionName[] = "ChromeDWriteFontCache";
|
| +
|
| void InitializeWindowProcExceptions() {
|
| // Get the breakpad pointer from chrome.exe
|
| base::win::WinProcExceptionFilter exception_filter =
|
| @@ -111,16 +112,6 @@ class TranslationDelegate : public installer::TranslationDelegate {
|
| base::string16 GetLocalizedString(int installer_string_id) override;
|
| };
|
|
|
| -void ExecuteFontCacheBuildTask(const base::FilePath& path) {
|
| - base::WeakPtr<content::UtilityProcessHost> utility_process_host(
|
| - content::UtilityProcessHost::Create(NULL, NULL)->AsWeakPtr());
|
| - utility_process_host->SetName(l10n_util::GetStringUTF16(
|
| - IDS_UTILITY_PROCESS_FONT_CACHE_BUILDER_NAME));
|
| - utility_process_host->DisableSandbox();
|
| - utility_process_host->Send(
|
| - new ChromeUtilityHostMsg_BuildDirectWriteFontCache(path));
|
| -}
|
| -
|
| #if defined(KASKO)
|
| void ObserveFailedCrashReportDirectory(const base::FilePath& path, bool error) {
|
| DCHECK(!error);
|
| @@ -215,6 +206,11 @@ void DetectFaultTolerantHeap() {
|
| UMA_HISTOGRAM_ENUMERATION("FaultTolerantHeap", detected, FTH_FLAGS_COUNT);
|
| }
|
|
|
| +void DeleteDirectWriteFontCache(base::FilePath path) {
|
| + // Attempt to delete the font cache and ignore any errors.
|
| + base::DeleteFile(path, false /*recursive*/);
|
| +}
|
| +
|
| } // namespace
|
|
|
| void ShowCloseBrowserFirstMessageBox() {
|
| @@ -342,33 +338,17 @@ void ChromeBrowserMainPartsWin::ShowMissingLocaleMessageBox() {
|
| void ChromeBrowserMainPartsWin::PostProfileInit() {
|
| ChromeBrowserMainParts::PostProfileInit();
|
|
|
| - // DirectWrite support is mainly available Windows 7 and up.
|
| if (gfx::win::ShouldUseDirectWrite()) {
|
| + // Clean up the direct write font cache since we no longer use that
|
| + // codepath.
|
| + // TODO(kulshin): remove this code after several releases.
|
| base::FilePath path(
|
| - profile()->GetPath().AppendASCII(content::kFontCacheSharedSectionName));
|
| - // This function will create a read only section if cache file exists
|
| - // otherwise it will spawn utility process to build cache file, which will
|
| - // be used during next browser start/postprofileinit.
|
| - if (!content::LoadFontCache(path)) {
|
| - // We delay building of font cache until first startup page loads.
|
| - // During first renderer start there are lot of things happening
|
| - // simultaneously some of them are:
|
| - // - Renderer is going through all font files on the system to create
|
| - // a font collection.
|
| - // - Renderer loading up startup URL, accessing HTML/JS File cache,
|
| - // net activity etc.
|
| - // - Extension initialization.
|
| - // We delay building of cache mainly to avoid parallel font file
|
| - // loading along with Renderer. Some systems have significant number of
|
| - // font files which takes long time to process.
|
| - // Related information is at http://crbug.com/436195.
|
| - const int kBuildFontCacheDelaySec = 30;
|
| - content::BrowserThread::PostDelayedTask(
|
| - content::BrowserThread::IO,
|
| - FROM_HERE,
|
| - base::Bind(ExecuteFontCacheBuildTask, path),
|
| - base::TimeDelta::FromSeconds(kBuildFontCacheDelaySec));
|
| - }
|
| + profile()->GetPath().AppendASCII(kFontCacheSharedSectionName));
|
| + const int kBuildFontCacheDelaySec = 30;
|
| + content::BrowserThread::PostDelayedTask(
|
| + content::BrowserThread::FILE, FROM_HERE,
|
| + base::Bind(DeleteDirectWriteFontCache, path),
|
| + base::TimeDelta::FromSeconds(kBuildFontCacheDelaySec));
|
| }
|
| }
|
|
|
|
|