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

Unified Diff: third_party/WebKit/Source/core/dom/TreeScopeStyleSheetCollection.h

Issue 2572473006: Revert of Collect active stylesheets and and apply asynchronously. (Closed)
Patch Set: Created 4 years 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: third_party/WebKit/Source/core/dom/TreeScopeStyleSheetCollection.h
diff --git a/third_party/WebKit/Source/core/dom/TreeScopeStyleSheetCollection.h b/third_party/WebKit/Source/core/dom/TreeScopeStyleSheetCollection.h
index 1d05a18a5d6a158c74d1be67d9d20e803c7f1849..40fdf9e62dddc71a75ea080fe552e12765f4f0da 100644
--- a/third_party/WebKit/Source/core/dom/TreeScopeStyleSheetCollection.h
+++ b/third_party/WebKit/Source/core/dom/TreeScopeStyleSheetCollection.h
@@ -31,14 +31,20 @@
#define TreeScopeStyleSheetCollection_h
#include "core/CoreExport.h"
+#include "core/dom/Document.h"
#include "core/dom/DocumentOrderedList.h"
#include "core/dom/StyleSheetCollection.h"
#include "core/dom/TreeScope.h"
+#include "wtf/HashMap.h"
+#include "wtf/ListHashSet.h"
+#include "wtf/Vector.h"
+#include "wtf/text/WTFString.h"
namespace blink {
-class Document;
class Node;
+class StyleSheetContents;
+class StyleRuleFontFace;
class CORE_EXPORT TreeScopeStyleSheetCollection : public StyleSheetCollection {
public:
@@ -50,7 +56,7 @@
return !m_styleSheetCandidateNodes.isEmpty();
}
- bool mediaQueryAffectingValueChanged();
+ void clearMediaQueryRuleSetStyleSheets();
virtual bool isShadowTreeStyleSheetCollection() const { return false; }
@@ -62,13 +68,39 @@
Document& document() const { return treeScope().document(); }
TreeScope& treeScope() const { return *m_treeScope; }
- void applyActiveStyleSheetChanges(StyleSheetCollection&);
+ enum StyleResolverUpdateType { Reconstruct, Reset, Additive };
- Member<TreeScope> m_treeScope;
- DocumentOrderedList m_styleSheetCandidateNodes;
+ class StyleSheetChange {
+ STACK_ALLOCATED();
+
+ public:
+ StyleResolverUpdateType styleResolverUpdateType;
+ bool requiresFullStyleRecalc;
+ HeapVector<Member<const StyleRuleFontFace>> fontFaceRulesToRemove;
+
+ StyleSheetChange()
+ : styleResolverUpdateType(Reconstruct), requiresFullStyleRecalc(true) {}
+ };
+
+ void analyzeStyleSheetChange(StyleResolverUpdateMode,
+ const HeapVector<Member<CSSStyleSheet>>&,
+ StyleSheetChange&);
private:
+ static StyleResolverUpdateType compareStyleSheets(
+ const HeapVector<Member<CSSStyleSheet>>& oldStyleSheets,
+ const HeapVector<Member<CSSStyleSheet>>& newStylesheets,
+ HeapVector<Member<StyleSheetContents>>& addedSheets);
+ bool activeLoadingStyleSheetLoaded(
+ const HeapVector<Member<CSSStyleSheet>>& newStyleSheets);
+
friend class TreeScopeStyleSheetCollectionTest;
+
+ protected:
+ Member<TreeScope> m_treeScope;
+ bool m_hadActiveLoadingStylesheet;
+
+ DocumentOrderedList m_styleSheetCandidateNodes;
};
} // namespace blink

Powered by Google App Engine
This is Rietveld 408576698