- Revision
- 176373
- Author
- [email protected]
- Date
- 2014-11-19 17:36:27 -0800 (Wed, 19 Nov 2014)
Log Message
Remove "document has no ::before and/or ::after rules" optimization.
<https://webkit.org/b/138897>
Reviewed by Antti Koivisto.
This optimization has been dead for a long time, since the default UA
style contains both ::before and ::after rules.
* css/RuleFeature.cpp:
(WebCore::recursivelyCollectFeaturesFromSelector):
(WebCore::RuleFeatureSet::add):
(WebCore::RuleFeatureSet::clear):
* css/RuleFeature.h:
(WebCore::RuleFeatureSet::RuleFeatureSet):
* css/StyleResolver.h:
(WebCore::StyleResolver::usesBeforeAfterRules): Deleted.
* dom/DocumentStyleSheetCollection.cpp:
(WebCore::DocumentStyleSheetCollection::DocumentStyleSheetCollection):
(WebCore::DocumentStyleSheetCollection::combineCSSFeatureFlags):
(WebCore::DocumentStyleSheetCollection::resetCSSFeatureFlags):
* dom/DocumentStyleSheetCollection.h:
(WebCore::DocumentStyleSheetCollection::usesBeforeAfterRules): Deleted.
(WebCore::DocumentStyleSheetCollection::setUsesBeforeAfterRulesOverride): Deleted.
* html/HTMLQuoteElement.cpp:
(WebCore::HTMLQuoteElement::insertedInto): Deleted.
* html/HTMLQuoteElement.h:
* style/StyleResolveTree.cpp:
(WebCore::Style::needsPseudoElement):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (176372 => 176373)
--- trunk/Source/WebCore/ChangeLog 2014-11-20 01:35:09 UTC (rev 176372)
+++ trunk/Source/WebCore/ChangeLog 2014-11-20 01:36:27 UTC (rev 176373)
@@ -1,3 +1,34 @@
+2014-11-19 Andreas Kling <[email protected]>
+
+ Remove "document has no ::before and/or ::after rules" optimization.
+ <https://webkit.org/b/138897>
+
+ Reviewed by Antti Koivisto.
+
+ This optimization has been dead for a long time, since the default UA
+ style contains both ::before and ::after rules.
+
+ * css/RuleFeature.cpp:
+ (WebCore::recursivelyCollectFeaturesFromSelector):
+ (WebCore::RuleFeatureSet::add):
+ (WebCore::RuleFeatureSet::clear):
+ * css/RuleFeature.h:
+ (WebCore::RuleFeatureSet::RuleFeatureSet):
+ * css/StyleResolver.h:
+ (WebCore::StyleResolver::usesBeforeAfterRules): Deleted.
+ * dom/DocumentStyleSheetCollection.cpp:
+ (WebCore::DocumentStyleSheetCollection::DocumentStyleSheetCollection):
+ (WebCore::DocumentStyleSheetCollection::combineCSSFeatureFlags):
+ (WebCore::DocumentStyleSheetCollection::resetCSSFeatureFlags):
+ * dom/DocumentStyleSheetCollection.h:
+ (WebCore::DocumentStyleSheetCollection::usesBeforeAfterRules): Deleted.
+ (WebCore::DocumentStyleSheetCollection::setUsesBeforeAfterRulesOverride): Deleted.
+ * html/HTMLQuoteElement.cpp:
+ (WebCore::HTMLQuoteElement::insertedInto): Deleted.
+ * html/HTMLQuoteElement.h:
+ * style/StyleResolveTree.cpp:
+ (WebCore::Style::needsPseudoElement):
+
2014-11-19 Myles C. Maxfield <[email protected]>
[OS X] Upright vertical text is completely broken for multi-code-unit codepoints
Modified: trunk/Source/WebCore/css/RuleFeature.cpp (176372 => 176373)
--- trunk/Source/WebCore/css/RuleFeature.cpp 2014-11-20 01:35:09 UTC (rev 176372)
+++ trunk/Source/WebCore/css/RuleFeature.cpp 2014-11-20 01:36:27 UTC (rev 176373)
@@ -53,10 +53,6 @@
case CSSSelector::PseudoElementFirstLetter:
features.usesFirstLetterRules = true;
break;
- case CSSSelector::PseudoElementBefore:
- case CSSSelector::PseudoElementAfter:
- features.usesBeforeAfterRules = true;
- break;
default:
break;
}
@@ -93,7 +89,6 @@
uncommonAttributeRules.appendVector(other.uncommonAttributeRules);
usesFirstLineRules = usesFirstLineRules || other.usesFirstLineRules;
usesFirstLetterRules = usesFirstLetterRules || other.usesFirstLetterRules;
- usesBeforeAfterRules = usesBeforeAfterRules || other.usesBeforeAfterRules;
}
void RuleFeatureSet::clear()
@@ -106,7 +101,6 @@
uncommonAttributeRules.clear();
usesFirstLineRules = false;
usesFirstLetterRules = false;
- usesBeforeAfterRules = false;
}
} // namespace WebCore
Modified: trunk/Source/WebCore/css/RuleFeature.h (176372 => 176373)
--- trunk/Source/WebCore/css/RuleFeature.h 2014-11-20 01:35:09 UTC (rev 176372)
+++ trunk/Source/WebCore/css/RuleFeature.h 2014-11-20 01:36:27 UTC (rev 176373)
@@ -48,7 +48,6 @@
RuleFeatureSet()
: usesFirstLineRules(false)
, usesFirstLetterRules(false)
- , usesBeforeAfterRules(false)
{ }
void add(const RuleFeatureSet&);
@@ -64,7 +63,6 @@
Vector<RuleFeature> uncommonAttributeRules;
bool usesFirstLineRules;
bool usesFirstLetterRules;
- bool usesBeforeAfterRules;
};
} // namespace WebCore
Modified: trunk/Source/WebCore/css/StyleResolver.h (176372 => 176373)
--- trunk/Source/WebCore/css/StyleResolver.h 2014-11-20 01:35:09 UTC (rev 176372)
+++ trunk/Source/WebCore/css/StyleResolver.h 2014-11-20 01:36:27 UTC (rev 176373)
@@ -232,7 +232,6 @@
bool usesSiblingRules() const { return !m_ruleSets.features().siblingRules.isEmpty(); }
bool usesFirstLineRules() const { return m_ruleSets.features().usesFirstLineRules; }
bool usesFirstLetterRules() const { return m_ruleSets.features().usesFirstLetterRules; }
- bool usesBeforeAfterRules() const { return m_ruleSets.features().usesBeforeAfterRules; }
void invalidateMatchedPropertiesCache();
Modified: trunk/Source/WebCore/dom/DocumentStyleSheetCollection.cpp (176372 => 176373)
--- trunk/Source/WebCore/dom/DocumentStyleSheetCollection.cpp 2014-11-20 01:35:09 UTC (rev 176372)
+++ trunk/Source/WebCore/dom/DocumentStyleSheetCollection.cpp 2014-11-20 01:36:27 UTC (rev 176373)
@@ -60,8 +60,6 @@
, m_usesSiblingRulesOverride(false)
, m_usesFirstLineRules(false)
, m_usesFirstLetterRules(false)
- , m_usesBeforeAfterRules(false)
- , m_usesBeforeAfterRulesOverride(false)
, m_usesRemUnits(false)
{
}
@@ -73,7 +71,6 @@
m_usesSiblingRules = m_usesSiblingRules || styleResolver.usesSiblingRules();
m_usesFirstLineRules = m_usesFirstLineRules || styleResolver.usesFirstLineRules();
m_usesFirstLetterRules = m_usesFirstLetterRules || styleResolver.usesFirstLetterRules();
- m_usesBeforeAfterRules = m_usesBeforeAfterRules || styleResolver.usesBeforeAfterRules();
}
void DocumentStyleSheetCollection::resetCSSFeatureFlags()
@@ -82,7 +79,6 @@
m_usesSiblingRules = styleResolver.usesSiblingRules();
m_usesFirstLineRules = styleResolver.usesFirstLineRules();
m_usesFirstLetterRules = styleResolver.usesFirstLetterRules();
- m_usesBeforeAfterRules = styleResolver.usesBeforeAfterRules();
}
CSSStyleSheet* DocumentStyleSheetCollection::pageUserSheet()
Modified: trunk/Source/WebCore/dom/DocumentStyleSheetCollection.h (176372 => 176373)
--- trunk/Source/WebCore/dom/DocumentStyleSheetCollection.h 2014-11-20 01:35:09 UTC (rev 176372)
+++ trunk/Source/WebCore/dom/DocumentStyleSheetCollection.h 2014-11-20 01:36:27 UTC (rev 176373)
@@ -105,8 +105,6 @@
void setUsesSiblingRulesOverride(bool b) { m_usesSiblingRulesOverride = b; }
bool usesFirstLineRules() const { return m_usesFirstLineRules; }
bool usesFirstLetterRules() const { return m_usesFirstLetterRules; }
- bool usesBeforeAfterRules() const { return m_usesBeforeAfterRules || m_usesBeforeAfterRulesOverride; }
- void setUsesBeforeAfterRulesOverride(bool b) { m_usesBeforeAfterRulesOverride = b; }
bool usesRemUnits() const { return m_usesRemUnits; }
void setUsesRemUnit(bool b) { m_usesRemUnits = b; }
@@ -162,8 +160,6 @@
bool m_usesSiblingRulesOverride;
bool m_usesFirstLineRules;
bool m_usesFirstLetterRules;
- bool m_usesBeforeAfterRules;
- bool m_usesBeforeAfterRulesOverride;
bool m_usesRemUnits;
};
Modified: trunk/Source/WebCore/html/HTMLQuoteElement.cpp (176372 => 176373)
--- trunk/Source/WebCore/html/HTMLQuoteElement.cpp 2014-11-20 01:35:09 UTC (rev 176372)
+++ trunk/Source/WebCore/html/HTMLQuoteElement.cpp 2014-11-20 01:36:27 UTC (rev 176373)
@@ -42,14 +42,6 @@
return adoptRef(new HTMLQuoteElement(tagName, document));
}
-Node::InsertionNotificationRequest HTMLQuoteElement::insertedInto(ContainerNode& insertionPoint)
-{
- if (hasTagName(qTag))
- document().styleSheetCollection().setUsesBeforeAfterRulesOverride(true);
-
- return HTMLElement::insertedInto(insertionPoint);
-}
-
bool HTMLQuoteElement::isURLAttribute(const Attribute& attribute) const
{
return attribute.name() == citeAttr || HTMLElement::isURLAttribute(attribute);
Modified: trunk/Source/WebCore/html/HTMLQuoteElement.h (176372 => 176373)
--- trunk/Source/WebCore/html/HTMLQuoteElement.h 2014-11-20 01:35:09 UTC (rev 176372)
+++ trunk/Source/WebCore/html/HTMLQuoteElement.h 2014-11-20 01:36:27 UTC (rev 176373)
@@ -36,7 +36,6 @@
private:
HTMLQuoteElement(const QualifiedName&, Document&);
- virtual InsertionNotificationRequest insertedInto(ContainerNode&) override;
virtual bool isURLAttribute(const Attribute&) const override;
};
Modified: trunk/Source/WebCore/style/StyleResolveTree.cpp (176372 => 176373)
--- trunk/Source/WebCore/style/StyleResolveTree.cpp 2014-11-20 01:35:09 UTC (rev 176372)
+++ trunk/Source/WebCore/style/StyleResolveTree.cpp 2014-11-20 01:36:27 UTC (rev 176373)
@@ -579,8 +579,6 @@
static bool needsPseudoElement(Element& current, PseudoId pseudoId)
{
- if (!current.document().styleSheetCollection().usesBeforeAfterRules())
- return false;
if (!current.renderer() || !current.renderer()->canHaveGeneratedChildren())
return false;
if (current.isPseudoElement())