Every time a web font is downloaded, it calls CSSFontSelector::dispatchInvalidationCallbacks(), which increments m_version. This, in addition to RenderStyle::setFontDescription() always creating new Font objects, means that every time a web font finishes downloading, we throw out everything we know about fonts and regenerate everything.