| Index: Source/core/dom/DocumentStyleSheetCollection.cpp
|
| diff --git a/Source/core/dom/DocumentStyleSheetCollection.cpp b/Source/core/dom/DocumentStyleSheetCollection.cpp
|
| index 6cddb8e04e2f89b3336911549c12c178931e0eb3..944213825715afa717a5b62a35c8e167f44aaf54 100644
|
| --- a/Source/core/dom/DocumentStyleSheetCollection.cpp
|
| +++ b/Source/core/dom/DocumentStyleSheetCollection.cpp
|
| @@ -164,22 +164,23 @@
|
|
|
| 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);
|
| + ASSERT(change.styleResolverUpdateType == Reset || change.styleResolverUpdateType == ResetStyleResolverAndFontSelector);
|
| resetAllRuleSetsInTreeScope(styleResolver);
|
| - engine->removeFontFaceRules(change.fontFaceRulesToRemove);
|
| + if (change.styleResolverUpdateType == ResetStyleResolverAndFontSelector)
|
| + engine->resetFontSelector();
|
| 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);
|
|
|