| 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 | 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012 Apple Inc. All |
| 7 * rights reserved. | 7 * rights reserved. |
| 8 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. | 8 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. |
| 9 * (http://www.torchmobile.com/) | 9 * (http://www.torchmobile.com/) |
| 10 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) | 10 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 51 namespace blink { | 51 namespace blink { |
| 52 | 52 |
| 53 class CSSFontSelector; | 53 class CSSFontSelector; |
| 54 class CSSStyleSheet; | 54 class CSSStyleSheet; |
| 55 class Node; | 55 class Node; |
| 56 class RuleFeatureSet; | 56 class RuleFeatureSet; |
| 57 class ShadowTreeStyleSheetCollection; | 57 class ShadowTreeStyleSheetCollection; |
| 58 class StyleRuleFontFace; | 58 class StyleRuleFontFace; |
| 59 class StyleSheet; | 59 class StyleSheet; |
| 60 class StyleSheetContents; | 60 class StyleSheetContents; |
| 61 class ViewportStyleResolver; |
| 61 | 62 |
| 62 class CORE_EXPORT StyleEngine final | 63 class CORE_EXPORT StyleEngine final |
| 63 : public GarbageCollectedFinalized<StyleEngine>, | 64 : public GarbageCollectedFinalized<StyleEngine>, |
| 64 public CSSFontSelectorClient { | 65 public CSSFontSelectorClient { |
| 65 USING_GARBAGE_COLLECTED_MIXIN(StyleEngine); | 66 USING_GARBAGE_COLLECTED_MIXIN(StyleEngine); |
| 66 | 67 |
| 67 public: | 68 public: |
| 68 class IgnoringPendingStylesheet { | 69 class IgnoringPendingStylesheet { |
| 69 DISALLOW_NEW(); | 70 DISALLOW_NEW(); |
| 70 | 71 |
| (...skipping 22 matching lines...) Expand all Loading... |
| 93 CSSStyleSheet* inspectorStyleSheet() const { return m_inspectorStyleSheet; } | 94 CSSStyleSheet* inspectorStyleSheet() const { return m_inspectorStyleSheet; } |
| 94 | 95 |
| 95 const HeapVector<Member<CSSStyleSheet>> activeStyleSheetsForInspector() const; | 96 const HeapVector<Member<CSSStyleSheet>> activeStyleSheetsForInspector() const; |
| 96 | 97 |
| 97 void setNeedsActiveStyleUpdate(StyleSheet*, StyleResolverUpdateMode); | 98 void setNeedsActiveStyleUpdate(StyleSheet*, StyleResolverUpdateMode); |
| 98 void addStyleSheetCandidateNode(Node&); | 99 void addStyleSheetCandidateNode(Node&); |
| 99 void removeStyleSheetCandidateNode(Node&); | 100 void removeStyleSheetCandidateNode(Node&); |
| 100 void removeStyleSheetCandidateNode(Node&, TreeScope&); | 101 void removeStyleSheetCandidateNode(Node&, TreeScope&); |
| 101 void modifiedStyleSheetCandidateNode(Node&); | 102 void modifiedStyleSheetCandidateNode(Node&); |
| 102 void watchedSelectorsChanged(); | 103 void watchedSelectorsChanged(); |
| 104 void initialViewportChanged(); |
| 105 void viewportRulesChanged(); |
| 103 | 106 |
| 104 void injectAuthorSheet(StyleSheetContents* authorSheet); | 107 void injectAuthorSheet(StyleSheetContents* authorSheet); |
| 105 CSSStyleSheet& ensureInspectorStyleSheet(); | 108 CSSStyleSheet& ensureInspectorStyleSheet(); |
| 106 | 109 |
| 107 void clearMediaQueryRuleSetStyleSheets(); | 110 void clearMediaQueryRuleSetStyleSheets(); |
| 108 void updateStyleSheetsInImport(DocumentStyleSheetCollector& parentCollector); | 111 void updateStyleSheetsInImport(DocumentStyleSheetCollector& parentCollector); |
| 109 void updateActiveStyleSheets(StyleResolverUpdateMode); | 112 void updateActiveStyleSheets(StyleResolverUpdateMode); |
| 110 | 113 |
| 111 enum ActiveSheetsUpdate { DontUpdateActiveSheets, UpdateActiveSheets }; | 114 enum ActiveSheetsUpdate { DontUpdateActiveSheets, UpdateActiveSheets }; |
| 112 String preferredStylesheetSetName() const { | 115 String preferredStylesheetSetName() const { |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 154 void didRemoveShadowRoot(ShadowRoot*); | 157 void didRemoveShadowRoot(ShadowRoot*); |
| 155 void shadowRootRemovedFromDocument(ShadowRoot*); | 158 void shadowRootRemovedFromDocument(ShadowRoot*); |
| 156 void appendActiveAuthorStyleSheets(); | 159 void appendActiveAuthorStyleSheets(); |
| 157 | 160 |
| 158 StyleResolver* resolver() const { return m_resolver.get(); } | 161 StyleResolver* resolver() const { return m_resolver.get(); } |
| 159 | 162 |
| 160 StyleResolver& ensureResolver() { | 163 StyleResolver& ensureResolver() { |
| 161 if (!m_resolver) { | 164 if (!m_resolver) { |
| 162 createResolver(); | 165 createResolver(); |
| 163 } else if (m_resolver->hasPendingAuthorStyleSheets()) { | 166 } else if (m_resolver->hasPendingAuthorStyleSheets()) { |
| 167 viewportRulesChanged(); |
| 164 m_resolver->appendPendingAuthorStyleSheets(); | 168 m_resolver->appendPendingAuthorStyleSheets(); |
| 165 } | 169 } |
| 166 return *m_resolver.get(); | 170 return *m_resolver.get(); |
| 167 } | 171 } |
| 168 | 172 |
| 169 bool hasResolver() const { return m_resolver.get(); } | 173 bool hasResolver() const { return m_resolver.get(); } |
| 170 void clearResolver(); | 174 void clearResolver(); |
| 171 void clearMasterResolver(); | 175 void clearMasterResolver(); |
| 172 | 176 |
| 173 StyleInvalidator& styleInvalidator() { return m_styleInvalidator; } | 177 StyleInvalidator& styleInvalidator() { return m_styleInvalidator; } |
| (...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 306 bool m_usesSiblingRules = false; | 310 bool m_usesSiblingRules = false; |
| 307 bool m_usesFirstLineRules = false; | 311 bool m_usesFirstLineRules = false; |
| 308 bool m_usesWindowInactiveSelector = false; | 312 bool m_usesWindowInactiveSelector = false; |
| 309 bool m_usesRemUnits = false; | 313 bool m_usesRemUnits = false; |
| 310 unsigned m_maxDirectAdjacentSelectors = 0; | 314 unsigned m_maxDirectAdjacentSelectors = 0; |
| 311 | 315 |
| 312 bool m_ignorePendingStylesheets = false; | 316 bool m_ignorePendingStylesheets = false; |
| 313 bool m_didCalculateResolver = false; | 317 bool m_didCalculateResolver = false; |
| 314 | 318 |
| 315 Member<StyleResolver> m_resolver; | 319 Member<StyleResolver> m_resolver; |
| 320 Member<ViewportStyleResolver> m_viewportResolver; |
| 316 StyleInvalidator m_styleInvalidator; | 321 StyleInvalidator m_styleInvalidator; |
| 317 | 322 |
| 318 Member<CSSFontSelector> m_fontSelector; | 323 Member<CSSFontSelector> m_fontSelector; |
| 319 | 324 |
| 320 HeapHashMap<AtomicString, WeakMember<StyleSheetContents>> m_textToSheetCache; | 325 HeapHashMap<AtomicString, WeakMember<StyleSheetContents>> m_textToSheetCache; |
| 321 HeapHashMap<WeakMember<StyleSheetContents>, AtomicString> m_sheetToTextCache; | 326 HeapHashMap<WeakMember<StyleSheetContents>, AtomicString> m_sheetToTextCache; |
| 322 | 327 |
| 323 std::unique_ptr<StyleResolverStats> m_styleResolverStats; | 328 std::unique_ptr<StyleResolverStats> m_styleResolverStats; |
| 324 unsigned m_styleForElementCount = 0; | 329 unsigned m_styleForElementCount = 0; |
| 325 | 330 |
| 326 friend class StyleEngineTest; | 331 friend class StyleEngineTest; |
| 327 }; | 332 }; |
| 328 | 333 |
| 329 } // namespace blink | 334 } // namespace blink |
| 330 | 335 |
| 331 #endif | 336 #endif |
| OLD | NEW |