void CSSSegmentedFontFace::removeFontFace(RawPtr<FontFace> prpFontFace) { RawPtr<FontFace> fontFace = prpFontFace; FontFaceList::iterator it = m_fontFaces.find(fontFace); if (it == m_fontFaces.end()) return; if (it == m_firstNonCssConnectedFace) ++m_firstNonCssConnectedFace; m_fontFaces.remove(it); pruneTable(); fontFace->cssFontFace()->clearSegmentedFontFace(); }
void CSSSegmentedFontFace::addFontFace(RawPtr<FontFace> prpFontFace, bool cssConnected) { RawPtr<FontFace> fontFace = prpFontFace; pruneTable(); fontFace->cssFontFace()->setSegmentedFontFace(this); if (cssConnected) { m_fontFaces.insertBefore(m_firstNonCssConnectedFace, fontFace); } else { // This is the only place in Blink that is using addReturnIterator. FontFaceList::iterator iterator = m_fontFaces.addReturnIterator(fontFace); if (m_firstNonCssConnectedFace == m_fontFaces.end()) m_firstNonCssConnectedFace = iterator; } }