Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(765)

Unified Diff: Source/core/dom/DocumentStyleSheetCollection.cpp

Issue 85693009: Get rid of Reset and ResetStyleResolverAndFontSelector. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/core/dom/DocumentStyleSheetCollection.cpp
diff --git a/Source/core/dom/DocumentStyleSheetCollection.cpp b/Source/core/dom/DocumentStyleSheetCollection.cpp
index 87a308caa7766e66ea0fdd1b73a2de36a0d256eb..44a31379babc84847c4a6e5bcae8f82331ea7d50 100644
--- a/Source/core/dom/DocumentStyleSheetCollection.cpp
+++ b/Source/core/dom/DocumentStyleSheetCollection.cpp
@@ -52,8 +52,20 @@ DocumentStyleSheetCollection::DocumentStyleSheetCollection(TreeScope& treeScope)
ASSERT(treeScope.rootNode() == treeScope.rootNode()->document());
}
+static void collectActiveCSSStyleSheetsFromSeamlessParents(StyleSheetCollectionBase& collection, Document* document)
+{
+ HTMLIFrameElement* seamlessParentIFrame = document->seamlessParentIFrame();
+ if (!seamlessParentIFrame)
+ return;
+ collection.appendActiveStyleSheets(seamlessParentIFrame->document().styleEngine()->activeAuthorStyleSheets());
+}
+
void DocumentStyleSheetCollection::collectStyleSheets(StyleEngine* engine, StyleSheetCollectionBase& collection)
{
+ collection.appendActiveStyleSheets(engine->injectedAuthorStyleSheets());
+ collection.appendActiveStyleSheets(engine->documentAuthorStyleSheets());
+ collectActiveCSSStyleSheetsFromSeamlessParents(collection, document());
+
DocumentOrderedList::iterator begin = m_styleSheetCandidateNodes.begin();
DocumentOrderedList::iterator end = m_styleSheetCandidateNodes.end();
for (DocumentOrderedList::iterator it = begin; it != end; ++it) {
@@ -137,47 +149,4 @@ void DocumentStyleSheetCollection::collectStyleSheets(StyleEngine* engine, Style
}
}
-static void collectActiveCSSStyleSheetsFromSeamlessParents(StyleSheetCollectionBase& collection, Document* document)
-{
- HTMLIFrameElement* seamlessParentIFrame = document->seamlessParentIFrame();
- if (!seamlessParentIFrame)
- return;
- collection.appendActiveStyleSheets(seamlessParentIFrame->document().styleEngine()->activeAuthorStyleSheets());
-}
-
-bool DocumentStyleSheetCollection::updateActiveStyleSheets(StyleEngine* engine, StyleResolverUpdateMode updateMode)
-{
- StyleSheetCollectionBase collection;
- collection.appendActiveStyleSheets(engine->injectedAuthorStyleSheets());
- collection.appendActiveStyleSheets(engine->documentAuthorStyleSheets());
- collectActiveCSSStyleSheetsFromSeamlessParents(collection, document());
- collectStyleSheets(engine, collection);
-
- StyleSheetChange change;
- analyzeStyleSheetChange(updateMode, collection, change);
-
- if (change.styleResolverUpdateType == Reconstruct) {
- engine->clearResolver();
- } else if (StyleResolver* styleResolver = engine->resolverIfExists()) {
- // 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);
- resetAllRuleSetsInTreeScope(styleResolver);
- if (change.styleResolverUpdateType == ResetStyleResolverAndFontSelector)
- styleResolver->resetFontSelector();
- styleResolver->removePendingAuthorStyleSheets(m_activeAuthorStyleSheets);
- styleResolver->lazyAppendAuthorStyleSheets(0, collection.activeAuthorStyleSheets());
- } else {
- styleResolver->lazyAppendAuthorStyleSheets(m_activeAuthorStyleSheets.size(), collection.activeAuthorStyleSheets());
- }
- }
- m_scopingNodesForStyleScoped.didRemoveScopingNodes();
- collection.swap(*this);
- updateUsesRemUnits();
-
- return change.requiresFullStyleRecalc;
-}
-
}

Powered by Google App Engine
This is Rietveld 408576698