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

Unified Diff: sky/engine/core/css/StyleSheetContents.cpp

Issue 799143002: Remove single client special cases for StyleSheetContents. (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 years 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
Index: sky/engine/core/css/StyleSheetContents.cpp
diff --git a/sky/engine/core/css/StyleSheetContents.cpp b/sky/engine/core/css/StyleSheetContents.cpp
index 990a22761192c456bf2d3c5e1a4ca6af3b4fc96c..559cd21a1e5db6e474f746b0abf77229ce51e2b1 100644
--- a/sky/engine/core/css/StyleSheetContents.cpp
+++ b/sky/engine/core/css/StyleSheetContents.cpp
@@ -38,26 +38,21 @@ namespace blink {
StyleSheetContents::StyleSheetContents(const CSSParserContext& context)
: m_usesRemUnits(false)
, m_hasMediaQueries(false)
- , m_hasSingleOwnerDocument(true)
, m_parserContext(context)
{
}
StyleSheetContents::~StyleSheetContents()
{
-#if !ENABLE(OILPAN)
- clearRules();
-#endif
+ // TODO(esprehn): Why is this here? The rules will be cleared immediately
+ // after this destructor runs anyway.
+ m_childRules.clear();
}
void StyleSheetContents::parserAppendRule(PassRefPtr<StyleRuleBase> rule)
{
- // Add warning message to inspector if dpi/dpcm values are used for screen media.
- if (rule->isMediaRule()) {
+ if (rule->isMediaRule())
setHasMediaQueries();
- reportMediaQueryWarningIfNeeded(singleOwnerDocument(), toStyleRuleMedia(rule.get())->mediaQueries());
- }
-
m_childRules.append(rule);
}
@@ -77,11 +72,6 @@ unsigned StyleSheetContents::ruleCount() const
return m_childRules.size();
}
-void StyleSheetContents::clearRules()
-{
- m_childRules.clear();
-}
-
bool StyleSheetContents::parseString(const String& sheetText)
{
CSSParserContext context(parserContext(), UseCounter::getFrom(this));
@@ -90,35 +80,6 @@ bool StyleSheetContents::parseString(const String& sheetText)
return true;
}
-bool StyleSheetContents::hasSingleOwnerNode() const
-{
- return hasOneClient();
-}
-
-Node* StyleSheetContents::singleOwnerNode() const
-{
- if (!hasOneClient())
- return 0;
- if (m_loadingClients.size())
- return (*m_loadingClients.begin())->ownerNode();
- return (*m_completedClients.begin())->ownerNode();
-}
-
-Document* StyleSheetContents::singleOwnerDocument() const
-{
- return clientSingleOwnerDocument();
-}
-
-Document* StyleSheetContents::clientSingleOwnerDocument() const
-{
- if (!m_hasSingleOwnerDocument || clientSize() <= 0)
- return 0;
-
- if (m_loadingClients.size())
- return (*m_loadingClients.begin())->ownerDocument();
- return (*m_completedClients.begin())->ownerDocument();
-}
-
void StyleSheetContents::registerClient(CSSStyleSheet* sheet)
{
ASSERT(!m_loadingClients.contains(sheet) && !m_completedClients.contains(sheet));
@@ -126,11 +87,6 @@ void StyleSheetContents::registerClient(CSSStyleSheet* sheet)
// InspectorCSSAgent::buildObjectForRule creates CSSStyleSheet without any owner node.
if (!sheet->ownerDocument())
return;
-
- if (Document* document = clientSingleOwnerDocument()) {
- if (sheet->ownerDocument() != document)
- m_hasSingleOwnerDocument = false;
- }
m_loadingClients.add(sheet);
}
@@ -141,16 +97,7 @@ void StyleSheetContents::unregisterClient(CSSStyleSheet* sheet)
if (!sheet->ownerDocument() || !m_loadingClients.isEmpty() || !m_completedClients.isEmpty())
return;
-
- if (m_hasSingleOwnerDocument)
- removeSheetFromCache(sheet->ownerDocument());
- m_hasSingleOwnerDocument = true;
-}
-
-void StyleSheetContents::removeSheetFromCache(Document* document)
-{
- ASSERT(document);
- document->styleEngine()->removeSheet(this);
+ sheet->ownerDocument()->styleEngine()->removeSheet(this);
}
void StyleSheetContents::shrinkToFit()

Powered by Google App Engine
This is Rietveld 408576698