We currently only call the FontCache invalidation callback on the main thread FontCache. I think this means that when the font environment changes and a worker thread canvas has a font selected, we won't update the font in response.
See FontCache::invalidateAllFontCaches.
<rdar://problem/105759309>