Some of the methods in WebKit/chromium/src/WebFontImpl.{h,cpp} should use FontCachePurgePreventer, so that they won't trigger assertions in FontCache::getCachedFontData(). I will upload a patch very soon.
Created attachment 113074 [details] Patch
Although not a Chromium expert, these look right.
When are these calls failing? Is it possible to construct a test?
All these calls are possible to reach FontCache::getCachedFontData(), which requires a FontCachePurgePreventer on the stack. I talked with Michael (who is the author of FontCachePurgePreventer and CC-ed in this bug) and we agreed that this was the correct way to fix the issue. But unfortunately I don't know much about how to create tests for it.
Although not a test per se, there is an ASSERT that will fail in the case that a FontCachePurgePreventer is not active somewhere in the call chain when a fallback font is allocated.
Comment on attachment 113074 [details] Patch OK, these look fine to me as well. Thanks for the information.
Thanks for your help, James and Michael!
Comment on attachment 113074 [details] Patch Clearing flags on attachment: 113074 Committed r98921: <http://trac.webkit.org/changeset/98921>
All reviewed patches have been landed. Closing bug.