Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(795)

Unified Diff: Source/core/dom/StyleSheetCollections.cpp

Issue 23851003: Have StyleSheetCollections constructor take a Document reference in argument (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Have StyleSheetCollection constructor take a Document reference as well Created 7 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/core/dom/StyleSheetCollections.h ('k') | Source/core/dom/shadow/ShadowRoot.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/dom/StyleSheetCollections.cpp
diff --git a/Source/core/dom/StyleSheetCollections.cpp b/Source/core/dom/StyleSheetCollections.cpp
index 7a4ae2ef2668d530f1f50a0cc65f64a20094bef4..dda1bc06c14a2888ec90c9840cb4f74e9253495f 100644
--- a/Source/core/dom/StyleSheetCollections.cpp
+++ b/Source/core/dom/StyleSheetCollections.cpp
@@ -52,7 +52,7 @@ namespace WebCore {
using namespace HTMLNames;
-StyleSheetCollections::StyleSheetCollections(Document* document)
+StyleSheetCollections::StyleSheetCollections(Document& document)
: m_document(document)
, m_pendingStylesheets(0)
, m_injectedStyleSheetCacheValid(false)
@@ -108,12 +108,12 @@ void StyleSheetCollections::insertTreeScopeInDocumentOrder(TreeScopeSet& treeSco
treeScopes.insertBefore(followingTreeScope, treeScope);
}
-StyleSheetCollection* StyleSheetCollections::ensureStyleSheetCollectionFor(TreeScope* treeScope)
+StyleSheetCollection* StyleSheetCollections::ensureStyleSheetCollectionFor(TreeScope& treeScope)
{
- if (treeScope == m_document)
+ if (&treeScope == &m_document)
return &m_documentStyleSheetCollection;
- HashMap<TreeScope*, OwnPtr<StyleSheetCollection> >::AddResult result = m_styleSheetCollectionMap.add(treeScope, nullptr);
+ HashMap<TreeScope*, OwnPtr<StyleSheetCollection> >::AddResult result = m_styleSheetCollectionMap.add(&treeScope, nullptr);
if (result.isNewEntry)
result.iterator->value = adoptPtr(new ShadowTreeStyleSheetCollection(toShadowRoot(treeScope)));
return result.iterator->value.get();
@@ -121,7 +121,7 @@ StyleSheetCollection* StyleSheetCollections::ensureStyleSheetCollectionFor(TreeS
StyleSheetCollection* StyleSheetCollections::styleSheetCollectionFor(TreeScope* treeScope)
{
- if (treeScope == m_document)
+ if (treeScope == &m_document)
return &m_documentStyleSheetCollection;
HashMap<TreeScope*, OwnPtr<StyleSheetCollection> >::iterator it = m_styleSheetCollectionMap.find(treeScope);
@@ -171,7 +171,7 @@ CSSStyleSheet* StyleSheetCollections::pageUserSheet()
if (m_pageUserSheet)
return m_pageUserSheet.get();
- Page* owningPage = m_document->page();
+ Page* owningPage = m_document.page();
if (!owningPage)
return 0;
@@ -180,7 +180,7 @@ CSSStyleSheet* StyleSheetCollections::pageUserSheet()
return 0;
// Parse the sheet and cache it.
- m_pageUserSheet = CSSStyleSheet::createInline(m_document, m_document->settings()->userStyleSheetLocation());
+ m_pageUserSheet = CSSStyleSheet::createInline(&m_document, m_document.settings()->userStyleSheetLocation());
m_pageUserSheet->contents()->setIsUserStyleSheet(true);
m_pageUserSheet->contents()->parseString(userSheetText);
return m_pageUserSheet.get();
@@ -191,7 +191,7 @@ void StyleSheetCollections::clearPageUserSheet()
if (m_pageUserSheet) {
RefPtr<StyleSheet> removedSheet = m_pageUserSheet;
m_pageUserSheet = 0;
- m_document->removedStyleSheet(removedSheet.get());
+ m_document.removedStyleSheet(removedSheet.get());
}
}
@@ -200,7 +200,7 @@ void StyleSheetCollections::updatePageUserSheet()
clearPageUserSheet();
// FIXME: Why is this immediately and not defer?
if (StyleSheet* addedSheet = pageUserSheet())
- m_document->addedStyleSheet(addedSheet, RecalcStyleImmediately);
+ m_document.addedStyleSheet(addedSheet, RecalcStyleImmediately);
}
const Vector<RefPtr<CSSStyleSheet> >& StyleSheetCollections::injectedUserStyleSheets() const
@@ -223,7 +223,7 @@ void StyleSheetCollections::updateInjectedStyleSheetCache() const
m_injectedUserStyleSheets.clear();
m_injectedAuthorStyleSheets.clear();
- Page* owningPage = m_document->page();
+ Page* owningPage = m_document.page();
if (!owningPage)
return;
@@ -231,11 +231,11 @@ void StyleSheetCollections::updateInjectedStyleSheetCache() const
const UserStyleSheetVector& sheets = pageGroup.userStyleSheets();
for (unsigned i = 0; i < sheets.size(); ++i) {
const UserStyleSheet* sheet = sheets[i].get();
- if (sheet->injectedFrames() == InjectInTopFrameOnly && m_document->ownerElement())
+ if (sheet->injectedFrames() == InjectInTopFrameOnly && m_document.ownerElement())
continue;
- if (!UserContentURLPattern::matchesPatterns(m_document->url(), sheet->whitelist(), sheet->blacklist()))
+ if (!UserContentURLPattern::matchesPatterns(m_document.url(), sheet->whitelist(), sheet->blacklist()))
continue;
- RefPtr<CSSStyleSheet> groupSheet = CSSStyleSheet::createInline(const_cast<Document*>(m_document), sheet->url());
+ RefPtr<CSSStyleSheet> groupSheet = CSSStyleSheet::createInline(const_cast<Document*>(&m_document), sheet->url());
bool isUserStyleSheet = sheet->level() == UserStyleUserLevel;
if (isUserStyleSheet)
m_injectedUserStyleSheets.append(groupSheet);
@@ -252,22 +252,22 @@ void StyleSheetCollections::invalidateInjectedStyleSheetCache()
m_needsDocumentStyleSheetsUpdate = true;
// FIXME: updateInjectedStyleSheetCache is called inside StyleSheetCollection::updateActiveStyleSheets
// and batch updates lots of sheets so we can't call addedStyleSheet() or removedStyleSheet().
- m_document->styleResolverChanged(RecalcStyleDeferred);
+ m_document.styleResolverChanged(RecalcStyleDeferred);
}
void StyleSheetCollections::addAuthorSheet(PassRefPtr<StyleSheetContents> authorSheet)
{
ASSERT(!authorSheet->isUserStyleSheet());
- m_authorStyleSheets.append(CSSStyleSheet::create(authorSheet, m_document));
- m_document->addedStyleSheet(m_authorStyleSheets.last().get(), RecalcStyleImmediately);
+ m_authorStyleSheets.append(CSSStyleSheet::create(authorSheet, &m_document));
+ m_document.addedStyleSheet(m_authorStyleSheets.last().get(), RecalcStyleImmediately);
m_needsDocumentStyleSheetsUpdate = true;
}
void StyleSheetCollections::addUserSheet(PassRefPtr<StyleSheetContents> userSheet)
{
ASSERT(userSheet->isUserStyleSheet());
- m_userStyleSheets.append(CSSStyleSheet::create(userSheet, m_document));
- m_document->addedStyleSheet(m_userStyleSheets.last().get(), RecalcStyleImmediately);
+ m_userStyleSheets.append(CSSStyleSheet::create(userSheet, &m_document));
+ m_document.addedStyleSheet(m_userStyleSheets.last().get(), RecalcStyleImmediately);
m_needsDocumentStyleSheetsUpdate = true;
}
@@ -279,8 +279,8 @@ void StyleSheetCollections::removePendingSheet(Node* styleSheetCandidateNode, Re
m_pendingStylesheets--;
- TreeScope* treeScope = isHTMLStyleElement(styleSheetCandidateNode) ? styleSheetCandidateNode->treeScope() : m_document;
- if (treeScope == m_document)
+ TreeScope* treeScope = isHTMLStyleElement(styleSheetCandidateNode) ? styleSheetCandidateNode->treeScope() : &m_document;
+ if (treeScope == &m_document)
m_needsDocumentStyleSheetsUpdate = true;
else
m_dirtyTreeScopes.add(treeScope);
@@ -289,13 +289,13 @@ void StyleSheetCollections::removePendingSheet(Node* styleSheetCandidateNode, Re
return;
if (notification == RemovePendingSheetNotifyLater) {
- m_document->setNeedsNotifyRemoveAllPendingStylesheet();
+ m_document.setNeedsNotifyRemoveAllPendingStylesheet();
return;
}
// FIXME: We can't call addedStyleSheet or removedStyleSheet here because we don't know
// what's new. We should track that to tell the style system what changed.
- m_document->didRemoveAllPendingStylesheet();
+ m_document.didRemoveAllPendingStylesheet();
}
void StyleSheetCollections::addStyleSheetCandidateNode(Node* node, bool createdByParser)
@@ -303,32 +303,32 @@ void StyleSheetCollections::addStyleSheetCandidateNode(Node* node, bool createdB
if (!node->inDocument())
return;
- TreeScope* treeScope = isHTMLStyleElement(node) ? node->treeScope() : m_document;
- ASSERT(isHTMLStyleElement(node) || treeScope == m_document);
+ TreeScope& treeScope = isHTMLStyleElement(node) ? *node->treeScope() : m_document;
+ ASSERT(isHTMLStyleElement(node) || &treeScope == &m_document);
StyleSheetCollection* collection = ensureStyleSheetCollectionFor(treeScope);
ASSERT(collection);
collection->addStyleSheetCandidateNode(node, createdByParser);
- if (treeScope == m_document) {
+ if (&treeScope == &m_document) {
m_needsDocumentStyleSheetsUpdate = true;
return;
}
- insertTreeScopeInDocumentOrder(m_activeTreeScopes, treeScope);
- m_dirtyTreeScopes.add(treeScope);
+ insertTreeScopeInDocumentOrder(m_activeTreeScopes, &treeScope);
+ m_dirtyTreeScopes.add(&treeScope);
}
void StyleSheetCollections::removeStyleSheetCandidateNode(Node* node, ContainerNode* scopingNode)
{
- TreeScope* treeScope = scopingNode ? scopingNode->treeScope() : m_document;
- ASSERT(isHTMLStyleElement(node) || treeScope == m_document);
+ TreeScope* treeScope = scopingNode ? scopingNode->treeScope() : &m_document;
+ ASSERT(isHTMLStyleElement(node) || treeScope == &m_document);
StyleSheetCollection* collection = styleSheetCollectionFor(treeScope);
ASSERT(collection);
collection->removeStyleSheetCandidateNode(node, scopingNode);
- if (treeScope == m_document) {
+ if (treeScope == &m_document) {
m_needsDocumentStyleSheetsUpdate = true;
return;
}
@@ -341,9 +341,9 @@ void StyleSheetCollections::modifiedStyleSheetCandidateNode(Node* node)
if (!node->inDocument())
return;
- TreeScope* treeScope = isHTMLStyleElement(node) ? node->treeScope() : m_document;
- ASSERT(isHTMLStyleElement(node) || treeScope == m_document);
- if (treeScope == m_document) {
+ TreeScope* treeScope = isHTMLStyleElement(node) ? node->treeScope() : &m_document;
+ ASSERT(isHTMLStyleElement(node) || treeScope == &m_document);
+ if (treeScope == &m_document) {
m_needsDocumentStyleSheetsUpdate = true;
return;
}
@@ -357,7 +357,7 @@ bool StyleSheetCollections::shouldUpdateShadowTreeStyleSheetCollection(StyleReso
bool StyleSheetCollections::updateActiveStyleSheets(StyleResolverUpdateMode updateMode)
{
- if (m_document->inStyleRecalc()) {
+ if (m_document.inStyleRecalc()) {
// SVG <use> element may manage to invalidate style selector in the middle of a style recalc.
// https://bugs.webkit.org/show_bug.cgi?id=54344
// FIXME: This should be fixed in SVG and the call site replaced by ASSERT(!m_inStyleRecalc).
@@ -365,7 +365,7 @@ bool StyleSheetCollections::updateActiveStyleSheets(StyleResolverUpdateMode upda
return false;
}
- if (!m_document->renderer() || !m_document->attached())
+ if (!m_document.renderer() || !m_document.attached())
return false;
bool requiresFullStyleRecalc = false;
@@ -378,7 +378,7 @@ bool StyleSheetCollections::updateActiveStyleSheets(StyleResolverUpdateMode upda
for (TreeScopeSet::iterator it = treeScopes.begin(); it != treeScopes.end(); ++it) {
TreeScope* treeScope = *it;
- ASSERT(treeScope != m_document);
+ ASSERT(treeScope != &m_document);
ShadowTreeStyleSheetCollection* collection = static_cast<ShadowTreeStyleSheetCollection*>(styleSheetCollectionFor(treeScope));
ASSERT(collection);
collection->updateActiveStyleSheets(this, updateMode);
@@ -391,7 +391,7 @@ bool StyleSheetCollections::updateActiveStyleSheets(StyleResolverUpdateMode upda
m_dirtyTreeScopes.clear();
}
- if (StyleResolver* styleResolver = m_document->styleResolverIfExists()) {
+ if (StyleResolver* styleResolver = m_document.styleResolverIfExists()) {
styleResolver->finishAppendAuthorStyleSheets();
resetCSSFeatureFlags(styleResolver->ruleFeatureSet());
}
@@ -401,7 +401,7 @@ bool StyleSheetCollections::updateActiveStyleSheets(StyleResolverUpdateMode upda
m_usesRemUnits = m_documentStyleSheetCollection.usesRemUnits();
if (m_needsDocumentStyleSheetsUpdate || updateMode == FullStyleUpdate) {
- m_document->notifySeamlessChildDocumentsOfStylesheetUpdate();
+ m_document.notifySeamlessChildDocumentsOfStylesheetUpdate();
m_needsDocumentStyleSheetsUpdate = false;
}
@@ -411,7 +411,7 @@ bool StyleSheetCollections::updateActiveStyleSheets(StyleResolverUpdateMode upda
void StyleSheetCollections::activeStyleSheetsUpdatedForInspector()
{
if (m_activeTreeScopes.isEmpty()) {
- InspectorInstrumentation::activeStyleSheetsUpdated(m_document, m_documentStyleSheetCollection.styleSheetsForStyleSheetList());
+ InspectorInstrumentation::activeStyleSheetsUpdated(&m_document, m_documentStyleSheetCollection.styleSheetsForStyleSheetList());
return;
}
Vector<RefPtr<StyleSheet> > activeStyleSheets;
@@ -428,7 +428,7 @@ void StyleSheetCollections::activeStyleSheetsUpdatedForInspector()
// FIXME: Inspector needs a vector which has all active stylesheets.
// However, creating such a large vector might cause performance regression.
// Need to implement some smarter solution.
- InspectorInstrumentation::activeStyleSheetsUpdated(m_document, activeStyleSheets);
+ InspectorInstrumentation::activeStyleSheetsUpdated(&m_document, activeStyleSheets);
}
void StyleSheetCollections::didRemoveShadowRoot(ShadowRoot* shadowRoot)
« no previous file with comments | « Source/core/dom/StyleSheetCollections.h ('k') | Source/core/dom/shadow/ShadowRoot.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698