Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
| 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
| 4 * (C) 2001 Dirk Mueller (mueller@kde.org) | 4 * (C) 2001 Dirk Mueller (mueller@kde.org) |
| 5 * (C) 2006 Alexey Proskuryakov (ap@webkit.org) | 5 * (C) 2006 Alexey Proskuryakov (ap@webkit.org) |
| 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012 Apple Inc. All r ights reserved. | 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012 Apple Inc. All r ights reserved. |
| 7 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t orchmobile.com/) | 7 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t orchmobile.com/) |
| 8 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) | 8 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) |
| 9 * Copyright (C) 2011 Google Inc. All rights reserved. | 9 * Copyright (C) 2011 Google Inc. All rights reserved. |
| 10 * | 10 * |
| (...skipping 17 matching lines...) Expand all Loading... | |
| 28 #ifndef StyleEngine_h | 28 #ifndef StyleEngine_h |
| 29 #define StyleEngine_h | 29 #define StyleEngine_h |
| 30 | 30 |
| 31 #include "core/dom/Document.h" | 31 #include "core/dom/Document.h" |
| 32 #include "core/dom/DocumentOrderedList.h" | 32 #include "core/dom/DocumentOrderedList.h" |
| 33 #include "core/dom/DocumentStyleSheetCollection.h" | 33 #include "core/dom/DocumentStyleSheetCollection.h" |
| 34 #include "wtf/FastAllocBase.h" | 34 #include "wtf/FastAllocBase.h" |
| 35 #include "wtf/ListHashSet.h" | 35 #include "wtf/ListHashSet.h" |
| 36 #include "wtf/RefPtr.h" | 36 #include "wtf/RefPtr.h" |
| 37 #include "wtf/Vector.h" | 37 #include "wtf/Vector.h" |
| 38 #include "wtf/text/AtomicString.h" | |
| 38 #include "wtf/text/WTFString.h" | 39 #include "wtf/text/WTFString.h" |
| 39 | 40 |
| 40 namespace WebCore { | 41 namespace WebCore { |
| 41 | 42 |
| 42 class CSSStyleSheet; | 43 class CSSStyleSheet; |
| 43 class Node; | 44 class Node; |
| 44 class RuleFeatureSet; | 45 class RuleFeatureSet; |
| 45 class ShadowTreeStyleSheetCollection; | 46 class ShadowTreeStyleSheetCollection; |
| 46 class StyleSheet; | 47 class StyleSheet; |
| 47 class StyleSheetCollection; | 48 class StyleSheetCollection; |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 103 bool hasScopedStyleSheet() { return m_documentStyleSheetCollection.scopingNo desForStyleScoped(); } | 104 bool hasScopedStyleSheet() { return m_documentStyleSheetCollection.scopingNo desForStyleScoped(); } |
| 104 | 105 |
| 105 void combineCSSFeatureFlags(const RuleFeatureSet&); | 106 void combineCSSFeatureFlags(const RuleFeatureSet&); |
| 106 void resetCSSFeatureFlags(const RuleFeatureSet&); | 107 void resetCSSFeatureFlags(const RuleFeatureSet&); |
| 107 | 108 |
| 108 void didModifySeamlessParentStyleSheet() { m_needsDocumentStyleSheetsUpdate = true; } | 109 void didModifySeamlessParentStyleSheet() { m_needsDocumentStyleSheetsUpdate = true; } |
| 109 void didRemoveShadowRoot(ShadowRoot*); | 110 void didRemoveShadowRoot(ShadowRoot*); |
| 110 void appendActiveAuthorStyleSheets(StyleResolver*); | 111 void appendActiveAuthorStyleSheets(StyleResolver*); |
| 111 void getActiveAuthorStyleSheets(Vector<const Vector<RefPtr<CSSStyleSheet> >* >& activeAuthorStyleSheets) const; | 112 void getActiveAuthorStyleSheets(Vector<const Vector<RefPtr<CSSStyleSheet> >* >& activeAuthorStyleSheets) const; |
| 112 | 113 |
| 114 // CSSStyleContents cache. | |
| 115 StyleSheetContents* findStyleSheetContents(const AtomicString&); | |
| 116 void registerStyleSheetContents(const AtomicString&, StyleSheetContents*); | |
| 117 void unregisterStyleSheetContents(const AtomicString&); | |
| 118 | |
| 113 private: | 119 private: |
| 114 StyleEngine(Document&); | 120 StyleEngine(Document&); |
| 115 | 121 |
| 116 StyleSheetCollection* ensureStyleSheetCollectionFor(TreeScope&); | 122 StyleSheetCollection* ensureStyleSheetCollectionFor(TreeScope&); |
| 117 StyleSheetCollection* styleSheetCollectionFor(TreeScope&); | 123 StyleSheetCollection* styleSheetCollectionFor(TreeScope&); |
| 118 void activeStyleSheetsUpdatedForInspector(); | 124 void activeStyleSheetsUpdatedForInspector(); |
| 119 bool shouldUpdateShadowTreeStyleSheetCollection(StyleResolverUpdateMode); | 125 bool shouldUpdateShadowTreeStyleSheetCollection(StyleResolverUpdateMode); |
| 120 | 126 |
| 121 typedef ListHashSet<TreeScope*, 16> TreeScopeSet; | 127 typedef ListHashSet<TreeScope*, 16> TreeScopeSet; |
| 122 static void insertTreeScopeInDocumentOrder(TreeScopeSet&, TreeScope*); | 128 static void insertTreeScopeInDocumentOrder(TreeScopeSet&, TreeScope*); |
| (...skipping 24 matching lines...) Expand all Loading... | |
| 147 bool m_needsDocumentStyleSheetsUpdate; | 153 bool m_needsDocumentStyleSheetsUpdate; |
| 148 | 154 |
| 149 String m_preferredStylesheetSetName; | 155 String m_preferredStylesheetSetName; |
| 150 String m_selectedStylesheetSetName; | 156 String m_selectedStylesheetSetName; |
| 151 | 157 |
| 152 bool m_usesSiblingRules; | 158 bool m_usesSiblingRules; |
| 153 bool m_usesSiblingRulesOverride; | 159 bool m_usesSiblingRulesOverride; |
| 154 bool m_usesFirstLineRules; | 160 bool m_usesFirstLineRules; |
| 155 bool m_usesFirstLetterRules; | 161 bool m_usesFirstLetterRules; |
| 156 bool m_usesRemUnits; | 162 bool m_usesRemUnits; |
| 163 | |
| 164 // Mapping from textContents of StyleElement to a pair of StyleSheetContent( second) and its usages(first). | |
|
dglazkov
2013/10/18 16:56:19
Can we move this into a separate class, which is c
tasak
2013/10/21 12:27:37
Done.
| |
| 165 HashMap<AtomicString, std::pair<unsigned, RefPtr<StyleSheetContents> > > m_s tyleSheetContentsCache; | |
| 157 }; | 166 }; |
| 158 | 167 |
| 159 } | 168 } |
| 160 | 169 |
| 161 #endif | 170 #endif |
| OLD | NEW |