| 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, 2011, 2012 Apple Inc. All | 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2011, 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) 2008, 2009, 2011, 2012 Google Inc. All rights reserved. | 10 * Copyright (C) 2008, 2009, 2011, 2012 Google Inc. All rights reserved. |
| (...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 162 | 162 |
| 163 context.addingPendingSheet(document()); | 163 context.addingPendingSheet(document()); |
| 164 if (context.addedPendingSheetBeforeBody()) | 164 if (context.addedPendingSheetBeforeBody()) |
| 165 m_pendingRenderBlockingStylesheets++; | 165 m_pendingRenderBlockingStylesheets++; |
| 166 } | 166 } |
| 167 | 167 |
| 168 // This method is called whenever a top-level stylesheet has finished loading. | 168 // This method is called whenever a top-level stylesheet has finished loading. |
| 169 void StyleEngine::removePendingSheet(Node& styleSheetCandidateNode, | 169 void StyleEngine::removePendingSheet(Node& styleSheetCandidateNode, |
| 170 const StyleEngineContext& context) { | 170 const StyleEngineContext& context) { |
| 171 if (styleSheetCandidateNode.isConnected()) | 171 if (styleSheetCandidateNode.isConnected()) |
| 172 markTreeScopeDirty(styleSheetCandidateNode.treeScope()); | 172 setNeedsActiveStyleUpdate(styleSheetCandidateNode.treeScope()); |
| 173 | 173 |
| 174 if (context.addedPendingSheetBeforeBody()) { | 174 if (context.addedPendingSheetBeforeBody()) { |
| 175 DCHECK_GT(m_pendingRenderBlockingStylesheets, 0); | 175 DCHECK_GT(m_pendingRenderBlockingStylesheets, 0); |
| 176 m_pendingRenderBlockingStylesheets--; | 176 m_pendingRenderBlockingStylesheets--; |
| 177 } | 177 } |
| 178 | 178 |
| 179 // Make sure we knew this sheet was pending, and that our count isn't out of | 179 // Make sure we knew this sheet was pending, and that our count isn't out of |
| 180 // sync. | 180 // sync. |
| 181 DCHECK_GT(m_pendingScriptBlockingStylesheets, 0); | 181 DCHECK_GT(m_pendingScriptBlockingStylesheets, 0); |
| 182 | 182 |
| (...skipping 13 matching lines...) Expand all Loading... |
| 196 if (!node.isConnected() || document().isDetached()) | 196 if (!node.isConnected() || document().isDetached()) |
| 197 return; | 197 return; |
| 198 | 198 |
| 199 DCHECK(!isXSLStyleSheet(node)); | 199 DCHECK(!isXSLStyleSheet(node)); |
| 200 TreeScope& treeScope = node.treeScope(); | 200 TreeScope& treeScope = node.treeScope(); |
| 201 TreeScopeStyleSheetCollection* collection = | 201 TreeScopeStyleSheetCollection* collection = |
| 202 ensureStyleSheetCollectionFor(treeScope); | 202 ensureStyleSheetCollectionFor(treeScope); |
| 203 DCHECK(collection); | 203 DCHECK(collection); |
| 204 collection->addStyleSheetCandidateNode(node); | 204 collection->addStyleSheetCandidateNode(node); |
| 205 | 205 |
| 206 markTreeScopeDirty(treeScope); | 206 setNeedsActiveStyleUpdate(treeScope); |
| 207 if (treeScope != m_document) | 207 if (treeScope != m_document) |
| 208 m_activeTreeScopes.add(&treeScope); | 208 m_activeTreeScopes.add(&treeScope); |
| 209 } | 209 } |
| 210 | 210 |
| 211 void StyleEngine::removeStyleSheetCandidateNode(Node& node, | 211 void StyleEngine::removeStyleSheetCandidateNode(Node& node, |
| 212 ContainerNode& insertionPoint) { | 212 ContainerNode& insertionPoint) { |
| 213 DCHECK(!isXSLStyleSheet(node)); | 213 DCHECK(!isXSLStyleSheet(node)); |
| 214 DCHECK(insertionPoint.isConnected()); | 214 DCHECK(insertionPoint.isConnected()); |
| 215 | 215 |
| 216 ShadowRoot* shadowRoot = node.containingShadowRoot(); | 216 ShadowRoot* shadowRoot = node.containingShadowRoot(); |
| 217 if (!shadowRoot) | 217 if (!shadowRoot) |
| 218 shadowRoot = insertionPoint.containingShadowRoot(); | 218 shadowRoot = insertionPoint.containingShadowRoot(); |
| 219 | 219 |
| 220 TreeScope& treeScope = | 220 TreeScope& treeScope = |
| 221 shadowRoot ? *toTreeScope(shadowRoot) : toTreeScope(document()); | 221 shadowRoot ? *toTreeScope(shadowRoot) : toTreeScope(document()); |
| 222 TreeScopeStyleSheetCollection* collection = | 222 TreeScopeStyleSheetCollection* collection = |
| 223 styleSheetCollectionFor(treeScope); | 223 styleSheetCollectionFor(treeScope); |
| 224 // After detaching document, collection could be null. In the case, | 224 // After detaching document, collection could be null. In the case, |
| 225 // we should not update anything. Instead, just return. | 225 // we should not update anything. Instead, just return. |
| 226 if (!collection) | 226 if (!collection) |
| 227 return; | 227 return; |
| 228 collection->removeStyleSheetCandidateNode(node); | 228 collection->removeStyleSheetCandidateNode(node); |
| 229 | 229 |
| 230 markTreeScopeDirty(treeScope); | 230 setNeedsActiveStyleUpdate(treeScope); |
| 231 } | 231 } |
| 232 | 232 |
| 233 void StyleEngine::modifiedStyleSheetCandidateNode(Node& node) { | 233 void StyleEngine::modifiedStyleSheetCandidateNode(Node& node) { |
| 234 if (node.isConnected()) | 234 if (node.isConnected()) |
| 235 markTreeScopeDirty(node.treeScope()); | 235 setNeedsActiveStyleUpdate(node.treeScope()); |
| 236 } | 236 } |
| 237 | 237 |
| 238 void StyleEngine::mediaQueriesChangedInScope(TreeScope& treeScope) { | 238 void StyleEngine::mediaQueriesChangedInScope(TreeScope& treeScope) { |
| 239 if (ScopedStyleResolver* resolver = treeScope.scopedStyleResolver()) | 239 if (ScopedStyleResolver* resolver = treeScope.scopedStyleResolver()) |
| 240 resolver->setNeedsAppendAllSheets(); | 240 resolver->setNeedsAppendAllSheets(); |
| 241 setNeedsActiveStyleUpdate(treeScope); | 241 setNeedsActiveStyleUpdate(treeScope); |
| 242 } | 242 } |
| 243 | 243 |
| 244 void StyleEngine::watchedSelectorsChanged() { | 244 void StyleEngine::watchedSelectorsChanged() { |
| 245 m_globalRuleSet.initWatchedSelectorsRuleSet(document()); | 245 m_globalRuleSet.initWatchedSelectorsRuleSet(document()); |
| (...skipping 885 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1131 } | 1131 } |
| 1132 | 1132 |
| 1133 DEFINE_TRACE_WRAPPERS(StyleEngine) { | 1133 DEFINE_TRACE_WRAPPERS(StyleEngine) { |
| 1134 for (auto sheet : m_injectedAuthorStyleSheets) { | 1134 for (auto sheet : m_injectedAuthorStyleSheets) { |
| 1135 visitor->traceWrappers(sheet); | 1135 visitor->traceWrappers(sheet); |
| 1136 } | 1136 } |
| 1137 visitor->traceWrappers(m_documentStyleSheetCollection); | 1137 visitor->traceWrappers(m_documentStyleSheetCollection); |
| 1138 } | 1138 } |
| 1139 | 1139 |
| 1140 } // namespace blink | 1140 } // namespace blink |
| OLD | NEW |