| 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
|
|
|