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, 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 19 matching lines...) Expand all Loading... | |
| 30 #include "core/dom/StyleEngine.h" | 30 #include "core/dom/StyleEngine.h" |
| 31 | 31 |
| 32 #include "core/HTMLNames.h" | 32 #include "core/HTMLNames.h" |
| 33 #include "core/css/CSSDefaultStyleSheets.h" | 33 #include "core/css/CSSDefaultStyleSheets.h" |
| 34 #include "core/css/CSSFontSelector.h" | 34 #include "core/css/CSSFontSelector.h" |
| 35 #include "core/css/CSSStyleSheet.h" | 35 #include "core/css/CSSStyleSheet.h" |
| 36 #include "core/css/FontFaceCache.h" | 36 #include "core/css/FontFaceCache.h" |
| 37 #include "core/css/StyleSheetContents.h" | 37 #include "core/css/StyleSheetContents.h" |
| 38 #include "core/css/invalidation/InvalidationSet.h" | 38 #include "core/css/invalidation/InvalidationSet.h" |
| 39 #include "core/css/resolver/ScopedStyleResolver.h" | 39 #include "core/css/resolver/ScopedStyleResolver.h" |
| 40 #include "core/css/resolver/StyleRuleUsageTracker.h" | |
| 40 #include "core/css/resolver/ViewportStyleResolver.h" | 41 #include "core/css/resolver/ViewportStyleResolver.h" |
| 41 #include "core/dom/DocumentStyleSheetCollector.h" | 42 #include "core/dom/DocumentStyleSheetCollector.h" |
| 42 #include "core/dom/Element.h" | 43 #include "core/dom/Element.h" |
| 43 #include "core/dom/ElementTraversal.h" | 44 #include "core/dom/ElementTraversal.h" |
| 44 #include "core/dom/ProcessingInstruction.h" | 45 #include "core/dom/ProcessingInstruction.h" |
| 45 #include "core/dom/ShadowTreeStyleSheetCollection.h" | 46 #include "core/dom/ShadowTreeStyleSheetCollection.h" |
| 46 #include "core/dom/StyleChangeReason.h" | 47 #include "core/dom/StyleChangeReason.h" |
| 47 #include "core/dom/shadow/ShadowRoot.h" | 48 #include "core/dom/shadow/ShadowRoot.h" |
| 48 #include "core/frame/Settings.h" | 49 #include "core/frame/Settings.h" |
| 49 #include "core/html/HTMLIFrameElement.h" | 50 #include "core/html/HTMLIFrameElement.h" |
| (...skipping 375 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 425 documentStyleSheetCollection().activeAuthorStyleSheets()); | 426 documentStyleSheetCollection().activeAuthorStyleSheets()); |
| 426 for (TreeScope* treeScope : m_activeTreeScopes) { | 427 for (TreeScope* treeScope : m_activeTreeScopes) { |
| 427 if (TreeScopeStyleSheetCollection* collection = | 428 if (TreeScopeStyleSheetCollection* collection = |
| 428 m_styleSheetCollectionMap.get(treeScope)) | 429 m_styleSheetCollectionMap.get(treeScope)) |
| 429 m_resolver->appendAuthorStyleSheets( | 430 m_resolver->appendAuthorStyleSheets( |
| 430 collection->activeAuthorStyleSheets()); | 431 collection->activeAuthorStyleSheets()); |
| 431 } | 432 } |
| 432 m_resolver->finishAppendAuthorStyleSheets(); | 433 m_resolver->finishAppendAuthorStyleSheets(); |
| 433 } | 434 } |
| 434 | 435 |
| 436 void StyleEngine::setRuleUsageTracker(StyleRuleUsageTracker* tracker) { | |
| 437 m_tracker = tracker; | |
| 438 | |
| 439 if (m_tracker && m_resolver) | |
| 440 m_resolver->setRuleUsageTracker(m_tracker); | |
|
pfeldman
2016/10/31 21:03:35
m_resolver->setRuleUsageTracker(true);
caseq
2016/10/31 21:06:46
I think what you mean here is
if (m_resolver)
m_
| |
| 441 } | |
| 442 | |
| 435 void StyleEngine::createResolver() { | 443 void StyleEngine::createResolver() { |
| 436 m_resolver = StyleResolver::create(*m_document); | 444 m_resolver = StyleResolver::create(*m_document); |
| 437 | 445 |
| 446 m_resolver->setRuleUsageTracker(m_tracker); | |
|
pfeldman
2016/10/31 21:03:35
if (m_tracker)
m_resolved->setRuleUsageTracker(t
caseq
2016/10/31 21:06:46
This is fine, we're just creating the new resolver
| |
| 447 | |
| 438 // A scoped style resolver for document will be created during | 448 // A scoped style resolver for document will be created during |
| 439 // appendActiveAuthorStyleSheets if needed. | 449 // appendActiveAuthorStyleSheets if needed. |
| 440 appendActiveAuthorStyleSheets(); | 450 appendActiveAuthorStyleSheets(); |
| 441 } | 451 } |
| 442 | 452 |
| 443 void StyleEngine::clearResolver() { | 453 void StyleEngine::clearResolver() { |
| 444 DCHECK(!document().inStyleRecalc()); | 454 DCHECK(!document().inStyleRecalc()); |
| 445 DCHECK(isMaster() || !m_resolver); | 455 DCHECK(isMaster() || !m_resolver); |
| 446 | 456 |
| 447 document().clearScopedStyleResolver(); | 457 document().clearScopedStyleResolver(); |
| (...skipping 559 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1007 visitor->trace(m_styleSheetCollectionMap); | 1017 visitor->trace(m_styleSheetCollectionMap); |
| 1008 visitor->trace(m_resolver); | 1018 visitor->trace(m_resolver); |
| 1009 visitor->trace(m_viewportResolver); | 1019 visitor->trace(m_viewportResolver); |
| 1010 visitor->trace(m_styleInvalidator); | 1020 visitor->trace(m_styleInvalidator); |
| 1011 visitor->trace(m_dirtyTreeScopes); | 1021 visitor->trace(m_dirtyTreeScopes); |
| 1012 visitor->trace(m_activeTreeScopes); | 1022 visitor->trace(m_activeTreeScopes); |
| 1013 visitor->trace(m_treeBoundaryCrossingScopes); | 1023 visitor->trace(m_treeBoundaryCrossingScopes); |
| 1014 visitor->trace(m_fontSelector); | 1024 visitor->trace(m_fontSelector); |
| 1015 visitor->trace(m_textToSheetCache); | 1025 visitor->trace(m_textToSheetCache); |
| 1016 visitor->trace(m_sheetToTextCache); | 1026 visitor->trace(m_sheetToTextCache); |
| 1027 visitor->trace(m_tracker); | |
| 1017 CSSFontSelectorClient::trace(visitor); | 1028 CSSFontSelectorClient::trace(visitor); |
| 1018 } | 1029 } |
| 1019 | 1030 |
| 1020 DEFINE_TRACE_WRAPPERS(StyleEngine) { | 1031 DEFINE_TRACE_WRAPPERS(StyleEngine) { |
| 1021 for (auto sheet : m_injectedAuthorStyleSheets) { | 1032 for (auto sheet : m_injectedAuthorStyleSheets) { |
| 1022 visitor->traceWrappers(sheet); | 1033 visitor->traceWrappers(sheet); |
| 1023 } | 1034 } |
| 1024 visitor->traceWrappers(m_documentStyleSheetCollection); | 1035 visitor->traceWrappers(m_documentStyleSheetCollection); |
| 1025 } | 1036 } |
| 1026 | 1037 |
| 1027 } // namespace blink | 1038 } // namespace blink |
| OLD | NEW |