Move and add DWriteFontLookupTableBuilder scheduling trigger

DWriteFontLookupTableBuilder's font scanning was not configured with a
path to cache the scanning results for content_shell. Add a
ShellContentBrowserClient override to return the
GetFontLookupTableCacheDir(), similarly as in
GetNetworkContextsParentDirectory().

Move scheduling of font scanning to PreMainMessageLoopRun() after
ShellBrowserMainParts has initialized a BrowserContext with a
path. Required for ShellContentBrowserClient to return a valid lookup
table cache directory.

This fixes layout tests timing out on Windows 7 after [1] when they use
src: local() in a @font-face declaration, and allows us to reland [1].

[1] https://chromium-review.googlesource.com/c/chromium/src/+/1769437

Bug: 998978
Change-Id: I844cd267a6da3b059a86c02580979c56107cbb55
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1776358
Commit-Queue: Dominik Röttsches <[email protected]>
Reviewed-by: Matt Falkenhagen <[email protected]>
Reviewed-by: Etienne Bergeron <[email protected]>
Reviewed-by: Gabriel Charette <[email protected]>
Reviewed-by: François Doray <[email protected]>
Cr-Commit-Position: refs/heads/master@{#693553}
diff --git a/content/shell/browser/shell_content_browser_client.h b/content/shell/browser/shell_content_browser_client.h
index 091b9e0..983b238 100644
--- a/content/shell/browser/shell_content_browser_client.h
+++ b/content/shell/browser/shell_content_browser_client.h
@@ -71,6 +71,7 @@
       override;
   void OverrideWebkitPrefs(RenderViewHost* render_view_host,
                            WebPreferences* prefs) override;
+  base::FilePath GetFontLookupTableCacheDir() override;
   DevToolsManagerDelegate* GetDevToolsManagerDelegate() override;
   void OpenURL(SiteInstance* site_instance,
                const OpenURLParams& params,