Index: Source/core/dom/DocumentStyleSheetCollection.cpp |
diff --git a/Source/core/dom/DocumentStyleSheetCollection.cpp b/Source/core/dom/DocumentStyleSheetCollection.cpp |
index 944213825715afa717a5b62a35c8e167f44aaf54..6cddb8e04e2f89b3336911549c12c178931e0eb3 100644 |
--- a/Source/core/dom/DocumentStyleSheetCollection.cpp |
+++ b/Source/core/dom/DocumentStyleSheetCollection.cpp |
@@ -164,23 +164,22 @@ bool DocumentStyleSheetCollection::updateActiveStyleSheets(StyleEngine* engine, |
if (change.styleResolverUpdateType == Reconstruct) { |
engine->clearMasterResolver(); |
+ // FIMXE: The following depends on whether StyleRuleFontFace was modified or not. |
+ // No need to always-reset. |
engine->resetFontSelector(); |
} else if (StyleResolver* styleResolver = engine->resolver()) { |
// FIXME: We might have already had styles in child treescope. In this case, we cannot use buildScopedStyleTreeInDocumentOrder. |
// Need to change "false" to some valid condition. |
styleResolver->setBuildScopedStyleTreeInDocumentOrder(false); |
if (change.styleResolverUpdateType != Additive) { |
- ASSERT(change.styleResolverUpdateType == Reset || change.styleResolverUpdateType == ResetStyleResolverAndFontSelector); |
+ ASSERT(change.styleResolverUpdateType == Reset); |
resetAllRuleSetsInTreeScope(styleResolver); |
- if (change.styleResolverUpdateType == ResetStyleResolverAndFontSelector) |
- engine->resetFontSelector(); |
+ engine->removeFontFaceRules(change.fontFaceRulesToRemove); |
styleResolver->removePendingAuthorStyleSheets(m_activeAuthorStyleSheets); |
styleResolver->lazyAppendAuthorStyleSheets(0, collection.activeAuthorStyleSheets()); |
} else { |
styleResolver->lazyAppendAuthorStyleSheets(m_activeAuthorStyleSheets.size(), collection.activeAuthorStyleSheets()); |
} |
- } else if (change.styleResolverUpdateType == ResetStyleResolverAndFontSelector) { |
- engine->resetFontSelector(); |
} |
m_scopingNodesForStyleScoped.didRemoveScopingNodes(); |
collection.swap(*this); |