| 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 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 94 styleSheetsForStyleSheetList(TreeScope&); | 94 styleSheetsForStyleSheetList(TreeScope&); |
| 95 | 95 |
| 96 const HeapVector<TraceWrapperMember<CSSStyleSheet>>& | 96 const HeapVector<TraceWrapperMember<CSSStyleSheet>>& |
| 97 injectedAuthorStyleSheets() const { | 97 injectedAuthorStyleSheets() const { |
| 98 return m_injectedAuthorStyleSheets; | 98 return m_injectedAuthorStyleSheets; |
| 99 } | 99 } |
| 100 CSSStyleSheet* inspectorStyleSheet() const { return m_inspectorStyleSheet; } | 100 CSSStyleSheet* inspectorStyleSheet() const { return m_inspectorStyleSheet; } |
| 101 | 101 |
| 102 const HeapVector<Member<CSSStyleSheet>> activeStyleSheetsForInspector() const; | 102 const HeapVector<Member<CSSStyleSheet>> activeStyleSheetsForInspector() const; |
| 103 | 103 |
| 104 bool needsActiveStyleUpdate() const; |
| 104 void setNeedsActiveStyleUpdate(StyleSheet*, StyleResolverUpdateMode); | 105 void setNeedsActiveStyleUpdate(StyleSheet*, StyleResolverUpdateMode); |
| 105 void addStyleSheetCandidateNode(Node&); | 106 void addStyleSheetCandidateNode(Node&); |
| 106 void removeStyleSheetCandidateNode(Node&); | 107 void removeStyleSheetCandidateNode(Node&); |
| 107 void removeStyleSheetCandidateNode(Node&, TreeScope&); | 108 void removeStyleSheetCandidateNode(Node&, TreeScope&); |
| 108 void modifiedStyleSheetCandidateNode(Node&); | 109 void modifiedStyleSheetCandidateNode(Node&); |
| 109 void watchedSelectorsChanged(); | 110 void watchedSelectorsChanged(); |
| 110 void initialViewportChanged(); | 111 void initialViewportChanged(); |
| 111 void viewportRulesChanged(); | 112 void viewportRulesChanged(); |
| 112 | 113 |
| 113 void injectAuthorSheet(StyleSheetContents* authorSheet); | 114 void injectAuthorSheet(StyleSheetContents* authorSheet); |
| 114 CSSStyleSheet& ensureInspectorStyleSheet(); | 115 CSSStyleSheet& ensureInspectorStyleSheet(); |
| 115 RuleSet* watchedSelectorsRuleSet() { | 116 RuleSet* watchedSelectorsRuleSet() { |
| 116 return m_globalRuleSet.watchedSelectorsRuleSet(); | 117 return m_globalRuleSet.watchedSelectorsRuleSet(); |
| 117 } | 118 } |
| 118 | 119 |
| 119 void clearMediaQueryRuleSetStyleSheets(); | 120 void clearMediaQueryRuleSetStyleSheets(); |
| 120 void updateStyleSheetsInImport(DocumentStyleSheetCollector& parentCollector); | 121 void updateStyleSheetsInImport(DocumentStyleSheetCollector& parentCollector); |
| 121 void updateActiveStyleSheets(StyleResolverUpdateMode); | 122 void updateActiveStyleSheets(StyleResolverUpdateMode); |
| 123 void updateActiveStyle(); |
| 122 | 124 |
| 123 enum ActiveSheetsUpdate { DontUpdateActiveSheets, UpdateActiveSheets }; | 125 enum ActiveSheetsUpdate { DontUpdateActiveSheets, UpdateActiveSheets }; |
| 124 String preferredStylesheetSetName() const { | 126 String preferredStylesheetSetName() const { |
| 125 return m_preferredStylesheetSetName; | 127 return m_preferredStylesheetSetName; |
| 126 } | 128 } |
| 127 String selectedStylesheetSetName() const { | 129 String selectedStylesheetSetName() const { |
| 128 return m_selectedStylesheetSetName; | 130 return m_selectedStylesheetSetName; |
| 129 } | 131 } |
| 130 void setPreferredStylesheetSetNameIfNotSet(const String&, ActiveSheetsUpdate); | 132 void setPreferredStylesheetSetNameIfNotSet(const String&, ActiveSheetsUpdate); |
| 131 void setSelectedStylesheetSetName(const String&); | 133 void setSelectedStylesheetSetName(const String&); |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 170 const DocumentOrderedList& treeBoundaryCrossingScopes() const { | 172 const DocumentOrderedList& treeBoundaryCrossingScopes() const { |
| 171 return m_treeBoundaryCrossingScopes; | 173 return m_treeBoundaryCrossingScopes; |
| 172 } | 174 } |
| 173 void resetAuthorStyle(TreeScope&); | 175 void resetAuthorStyle(TreeScope&); |
| 174 | 176 |
| 175 StyleResolver* resolver() const { return m_resolver; } | 177 StyleResolver* resolver() const { return m_resolver; } |
| 176 | 178 |
| 177 void setRuleUsageTracker(StyleRuleUsageTracker*); | 179 void setRuleUsageTracker(StyleRuleUsageTracker*); |
| 178 | 180 |
| 179 StyleResolver& ensureResolver() { | 181 StyleResolver& ensureResolver() { |
| 182 updateActiveStyle(); |
| 180 if (!m_resolver) { | 183 if (!m_resolver) { |
| 181 createResolver(); | 184 createResolver(); |
| 182 } else if (m_resolver->hasPendingAuthorStyleSheets()) { | 185 } else if (m_resolver->hasPendingAuthorStyleSheets()) { |
| 183 viewportRulesChanged(); | |
| 184 m_resolver->appendPendingAuthorStyleSheets(); | 186 m_resolver->appendPendingAuthorStyleSheets(); |
| 185 finishAppendAuthorStyleSheets(); | 187 finishAppendAuthorStyleSheets(); |
| 186 } else if (m_globalRuleSet.isDirty()) { | 188 } else if (m_globalRuleSet.isDirty()) { |
| 187 m_globalRuleSet.update(document()); | 189 m_globalRuleSet.update(document()); |
| 188 } | 190 } |
| 189 return *m_resolver; | 191 return *m_resolver; |
| 190 } | 192 } |
| 191 | 193 |
| 192 bool hasResolver() const { return m_resolver; } | 194 bool hasResolver() const { return m_resolver; } |
| 193 void clearResolver(); | 195 void clearResolver(); |
| (...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 304 StyleResolverUpdateMode, | 306 StyleResolverUpdateMode, |
| 305 TreeScope*, | 307 TreeScope*, |
| 306 UnorderedTreeScopeSet& treeScopesRemoved); | 308 UnorderedTreeScopeSet& treeScopesRemoved); |
| 307 | 309 |
| 308 bool shouldSkipInvalidationFor(const Element&) const; | 310 bool shouldSkipInvalidationFor(const Element&) const; |
| 309 void scheduleRuleSetInvalidationsForElement( | 311 void scheduleRuleSetInvalidationsForElement( |
| 310 Element&, | 312 Element&, |
| 311 const HeapVector<Member<RuleSet>>&); | 313 const HeapVector<Member<RuleSet>>&); |
| 312 void invalidateSlottedElements(HTMLSlotElement&); | 314 void invalidateSlottedElements(HTMLSlotElement&); |
| 313 | 315 |
| 316 void updateViewport(); |
| 317 void updateActiveStyleSheets(); |
| 318 |
| 314 Member<Document> m_document; | 319 Member<Document> m_document; |
| 315 bool m_isMaster; | 320 bool m_isMaster; |
| 316 | 321 |
| 317 // Track the number of currently loading top-level stylesheets needed for | 322 // Track the number of currently loading top-level stylesheets needed for |
| 318 // layout. Sheets loaded using the @import directive are not included in this | 323 // layout. Sheets loaded using the @import directive are not included in this |
| 319 // count. We use this count of pending sheets to detect when we can begin | 324 // count. We use this count of pending sheets to detect when we can begin |
| 320 // attaching elements and when it is safe to execute scripts. | 325 // attaching elements and when it is safe to execute scripts. |
| 321 int m_pendingScriptBlockingStylesheets = 0; | 326 int m_pendingScriptBlockingStylesheets = 0; |
| 322 int m_pendingRenderBlockingStylesheets = 0; | 327 int m_pendingRenderBlockingStylesheets = 0; |
| 323 | 328 |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 359 | 364 |
| 360 std::unique_ptr<StyleResolverStats> m_styleResolverStats; | 365 std::unique_ptr<StyleResolverStats> m_styleResolverStats; |
| 361 unsigned m_styleForElementCount = 0; | 366 unsigned m_styleForElementCount = 0; |
| 362 | 367 |
| 363 friend class StyleEngineTest; | 368 friend class StyleEngineTest; |
| 364 }; | 369 }; |
| 365 | 370 |
| 366 } // namespace blink | 371 } // namespace blink |
| 367 | 372 |
| 368 #endif | 373 #endif |
| OLD | NEW |