Log Message
Convert m_selectorVector back to a stack allocated m_reusableSelectorVector https://bugs.webkit.org/show_bug.cgi?id=102295
Reviewed by Andreas Kling. Revert r125252 because we're not going to go forward with implementing CSS hierarchies at this time. No new tests because there should be no change in behavior. * css/CSSGrammar.y.in: * css/CSSParser.cpp: (WebCore::CSSParser::CSSParser): (WebCore::CSSParser::parseValue): (WebCore::CSSParser::parseColor): (WebCore::CSSParser::parseDeclaration): (WebCore): (WebCore::filterProperties): (WebCore::CSSParser::createStylePropertySet): (WebCore::CSSParser::addProperty): (WebCore::CSSParser::rollbackLastProperties): (WebCore::CSSParser::clearProperties): (WebCore::CSSParser::parse4Values): (WebCore::CSSParser::parseFlowThread): (WebCore::CSSParser::addTextDecorationProperty): (WebCore::CSSParser::createFloatingSelectorVector): (WebCore::CSSParser::sinkFloatingSelectorVector): (WebCore::CSSParser::createStyleRule): (WebCore::CSSParser::createFontFaceRule): (WebCore::CSSParser::createPageRule): (WebCore::CSSParser::setReusableRegionSelectorVector): (WebCore::CSSParser::startDeclarationsForMarginBox): (WebCore::CSSParser::endDeclarationsForMarginBox): (WebCore::CSSParser::deleteFontFaceOnlyValues): * css/CSSParser.h: (WebCore::CSSParser::hasProperties): (WebCore::CSSParser::reusableSelectorVector): (CSSParser): (WebCore::CSSParser::reusableRegionSelectorVector): * css/CSSParserValues.cpp: (WebCore::CSSParserSelector::adoptSelectorVector): * css/CSSParserValues.h: (CSSParserSelector): * css/CSSSelectorList.cpp: (WebCore::CSSSelectorList::adoptSelectorVector): * css/CSSSelectorList.h: (CSSSelectorList): * css/SVGCSSParser.cpp: (WebCore::CSSParser::parseSVGValue): * css/StyleRule.cpp: (WebCore::StyleRuleRegion::StyleRuleRegion): * css/StyleRule.h: (WebCore::StyleRule::parserAdoptSelectorVector): (WebCore::StyleRulePage::parserAdoptSelectorVector): (WebCore::StyleRuleRegion::create): (StyleRuleRegion):
Modified Paths
- trunk/Source/WebCore/ChangeLog
- trunk/Source/WebCore/css/CSSGrammar.y.in
- trunk/Source/WebCore/css/CSSParser.cpp
- trunk/Source/WebCore/css/CSSParser.h
- trunk/Source/WebCore/css/CSSParserValues.cpp
- trunk/Source/WebCore/css/CSSParserValues.h
- trunk/Source/WebCore/css/CSSSelectorList.cpp
- trunk/Source/WebCore/css/CSSSelectorList.h
- trunk/Source/WebCore/css/SVGCSSParser.cpp
- trunk/Source/WebCore/css/StyleRule.cpp
- trunk/Source/WebCore/css/StyleRule.h
Diff
Modified: trunk/Source/WebCore/ChangeLog (134692 => 134693)
--- trunk/Source/WebCore/ChangeLog 2012-11-15 00:43:27 UTC (rev 134692)
+++ trunk/Source/WebCore/ChangeLog 2012-11-15 00:48:05 UTC (rev 134693)
@@ -1,3 +1,61 @@
+2012-11-14 Tony Chang <t...@chromium.org>
+
+ Convert m_selectorVector back to a stack allocated m_reusableSelectorVector
+ https://bugs.webkit.org/show_bug.cgi?id=102295
+
+ Reviewed by Andreas Kling.
+
+ Revert r125252 because we're not going to go forward with implementing CSS hierarchies at this time.
+
+ No new tests because there should be no change in behavior.
+
+ * css/CSSGrammar.y.in:
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::CSSParser):
+ (WebCore::CSSParser::parseValue):
+ (WebCore::CSSParser::parseColor):
+ (WebCore::CSSParser::parseDeclaration):
+ (WebCore):
+ (WebCore::filterProperties):
+ (WebCore::CSSParser::createStylePropertySet):
+ (WebCore::CSSParser::addProperty):
+ (WebCore::CSSParser::rollbackLastProperties):
+ (WebCore::CSSParser::clearProperties):
+ (WebCore::CSSParser::parse4Values):
+ (WebCore::CSSParser::parseFlowThread):
+ (WebCore::CSSParser::addTextDecorationProperty):
+ (WebCore::CSSParser::createFloatingSelectorVector):
+ (WebCore::CSSParser::sinkFloatingSelectorVector):
+ (WebCore::CSSParser::createStyleRule):
+ (WebCore::CSSParser::createFontFaceRule):
+ (WebCore::CSSParser::createPageRule):
+ (WebCore::CSSParser::setReusableRegionSelectorVector):
+ (WebCore::CSSParser::startDeclarationsForMarginBox):
+ (WebCore::CSSParser::endDeclarationsForMarginBox):
+ (WebCore::CSSParser::deleteFontFaceOnlyValues):
+ * css/CSSParser.h:
+ (WebCore::CSSParser::hasProperties):
+ (WebCore::CSSParser::reusableSelectorVector):
+ (CSSParser):
+ (WebCore::CSSParser::reusableRegionSelectorVector):
+ * css/CSSParserValues.cpp:
+ (WebCore::CSSParserSelector::adoptSelectorVector):
+ * css/CSSParserValues.h:
+ (CSSParserSelector):
+ * css/CSSSelectorList.cpp:
+ (WebCore::CSSSelectorList::adoptSelectorVector):
+ * css/CSSSelectorList.h:
+ (CSSSelectorList):
+ * css/SVGCSSParser.cpp:
+ (WebCore::CSSParser::parseSVGValue):
+ * css/StyleRule.cpp:
+ (WebCore::StyleRuleRegion::StyleRuleRegion):
+ * css/StyleRule.h:
+ (WebCore::StyleRule::parserAdoptSelectorVector):
+ (WebCore::StyleRulePage::parserAdoptSelectorVector):
+ (WebCore::StyleRuleRegion::create):
+ (StyleRuleRegion):
+
2012-11-14 Alec Flett <alecfl...@chromium.org>
Add tests for explicit serialization values
Modified: trunk/Source/WebCore/css/CSSGrammar.y.in (134692 => 134693)
--- trunk/Source/WebCore/css/CSSGrammar.y.in 2012-11-15 00:43:27 UTC (rev 134692)
+++ trunk/Source/WebCore/css/CSSGrammar.y.in 2012-11-15 00:48:05 UTC (rev 134693)
@@ -36,7 +36,7 @@
StyleRuleBase* rule;
Vector<RefPtr<StyleRuleBase> >* ruleList;
CSSParserSelector* selector;
- CSSSelectorVector* selectorList;
+ Vector<OwnPtr<CSSParserSelector> >* selectorList;
CSSSelector::MarginBoxType marginBox;
CSSSelector::Relation relation;
MediaQuerySet* mediaList;
@@ -324,9 +324,9 @@
WEBKIT_VALUE_SYM '{' maybe_space expr '}' {
if ($4) {
parser->m_valueList = parser->sinkFloatingValueList($4);
- int oldParsedProperties = parser->m_parsedProperties->size();
+ int oldParsedProperties = parser->m_parsedProperties.size();
if (!parser->parseValue(parser->m_id, parser->m_important))
- parser->rollbackLastProperties(parser->m_parsedProperties->size() - oldParsedProperties);
+ parser->rollbackLastProperties(parser->m_parsedProperties.size() - oldParsedProperties);
parser->m_valueList = nullptr;
}
}
@@ -1038,7 +1038,7 @@
selector_list:
selector %prec UNIMPORTANT_TOK {
if ($1) {
- $$ = parser->selectorVector();
+ $$ = parser->reusableSelectorVector();
$$->shrink(0);
$$->append(parser->sinkFloatingSelector($1));
parser->updateLastSelectorLineAndPosition();
@@ -1375,7 +1375,7 @@
$$ = parser->createFloatingSelector();
$$->setMatch(CSSSelector::PseudoClass);
- CSSSelectorVector selectorVector;
+ Vector<OwnPtr<CSSParserSelector> > selectorVector;
selectorVector.append(parser->sinkFloatingSelector($4));
$$->adoptSelectorVector(selectorVector);
@@ -1461,10 +1461,10 @@
bool isPropertyParsed = false;
if ($1 && $4) {
parser->m_valueList = parser->sinkFloatingValueList($4);
- int oldParsedProperties = parser->m_parsedProperties->size();
+ int oldParsedProperties = parser->m_parsedProperties.size();
$$ = parser->parseValue(static_cast<CSSPropertyID>($1), $5);
if (!$$)
- parser->rollbackLastProperties(parser->m_parsedProperties->size() - oldParsedProperties);
+ parser->rollbackLastProperties(parser->m_parsedProperties.size() - oldParsedProperties);
else
isPropertyParsed = true;
parser->m_valueList = nullptr;
Modified: trunk/Source/WebCore/css/CSSParser.cpp (134692 => 134693)
--- trunk/Source/WebCore/css/CSSParser.cpp 2012-11-15 00:43:27 UTC (rev 134692)
+++ trunk/Source/WebCore/css/CSSParser.cpp 2012-11-15 00:48:05 UTC (rev 134693)
@@ -248,7 +248,6 @@
, m_important(false)
, m_id(CSSPropertyInvalid)
, m_styleSheet(0)
- , m_parsedProperties(adoptPtr(new ParsedPropertyVector))
, m_selectorListForParseSelector(0)
, m_numParsedPropertiesBeforeMarginBox(INVALID_NUM_PARSED_PROPERTIES)
, m_inParseShorthand(0)
@@ -273,7 +272,6 @@
#if ENABLE(CSS_DEVICE_ADAPTATION)
, m_inViewport(false)
#endif
- , m_selectorVector(adoptPtr(new CSSSelectorVector))
{
#if YYDEBUG > 0
cssyydebug = 1;
@@ -1231,9 +1229,9 @@
bool ok = false;
if (m_hasFontFaceOnlyValues)
deleteFontFaceOnlyValues();
- if (!m_parsedProperties->isEmpty()) {
+ if (!m_parsedProperties.isEmpty()) {
ok = true;
- declaration->addParsedProperties(*m_parsedProperties);
+ declaration->addParsedProperties(m_parsedProperties);
clearProperties();
}
@@ -1254,7 +1252,7 @@
if (!parser.parseColor(string))
return false;
- CSSValue* value = parser.m_parsedProperties->first().value();
+ CSSValue* value = parser.m_parsedProperties.first().value();
if (!value->isPrimitiveValue())
return false;
@@ -1272,7 +1270,7 @@
cssyyparse(this);
m_rule = 0;
- return !m_parsedProperties->isEmpty() && m_parsedProperties->first().id() == CSSPropertyColor;
+ return !m_parsedProperties.isEmpty() && m_parsedProperties.first().id() == CSSPropertyColor;
}
bool CSSParser::parseSystemColor(RGBA32& color, const String& string, Document* document)
@@ -1345,9 +1343,9 @@
bool ok = false;
if (m_hasFontFaceOnlyValues)
deleteFontFaceOnlyValues();
- if (!m_parsedProperties->isEmpty()) {
+ if (!m_parsedProperties.isEmpty()) {
ok = true;
- declaration->addParsedProperties(*m_parsedProperties);
+ declaration->addParsedProperties(m_parsedProperties);
clearProperties();
}
@@ -1384,14 +1382,14 @@
}
#if ENABLE(CSS_VARIABLES)
-static inline void filterProperties(bool important, const CSSParser::ParsedPropertyVector* input, Vector<CSSProperty, 256>& output, size_t& unusedEntries, BitArray<numCSSProperties>& seenProperties, HashSet<AtomicString>& seenVariables)
+static inline void filterProperties(bool important, const CSSParser::ParsedPropertyVector& input, Vector<CSSProperty, 256>& output, size_t& unusedEntries, BitArray<numCSSProperties>& seenProperties, HashSet<AtomicString>& seenVariables)
#else
-static inline void filterProperties(bool important, const CSSParser::ParsedPropertyVector* input, Vector<CSSProperty, 256>& output, size_t& unusedEntries, BitArray<numCSSProperties>& seenProperties)
+static inline void filterProperties(bool important, const CSSParser::ParsedPropertyVector& input, Vector<CSSProperty, 256>& output, size_t& unusedEntries, BitArray<numCSSProperties>& seenProperties)
#endif
{
// Add properties in reverse order so that highest priority definitions are reached first. Duplicate definitions can then be ignored when found.
- for (int i = input->size() - 1; i >= 0; --i) {
- const CSSProperty& property = input->at(i);
+ for (int i = input.size() - 1; i >= 0; --i) {
+ const CSSProperty& property = input[i];
if (property.isImportant() != important)
continue;
#if ENABLE(CSS_VARIABLES)
@@ -1415,17 +1413,17 @@
PassRefPtr<StylePropertySet> CSSParser::createStylePropertySet()
{
BitArray<numCSSProperties> seenProperties;
- size_t unusedEntries = m_parsedProperties->size();
+ size_t unusedEntries = m_parsedProperties.size();
Vector<CSSProperty, 256> results(unusedEntries);
// Important properties have higher priority, so add them first. Duplicate definitions can then be ignored when found.
#if ENABLE(CSS_VARIABLES)
HashSet<AtomicString> seenVariables;
- filterProperties(true, m_parsedProperties.get(), results, unusedEntries, seenProperties, seenVariables);
- filterProperties(false, m_parsedProperties.get(), results, unusedEntries, seenProperties, seenVariables);
+ filterProperties(true, m_parsedProperties, results, unusedEntries, seenProperties, seenVariables);
+ filterProperties(false, m_parsedProperties, results, unusedEntries, seenProperties, seenVariables);
#else
- filterProperties(true, m_parsedProperties.get(), results, unusedEntries, seenProperties);
- filterProperties(false, m_parsedProperties.get(), results, unusedEntries, seenProperties);
+ filterProperties(true, m_parsedProperties, results, unusedEntries, seenProperties);
+ filterProperties(false, m_parsedProperties, results, unusedEntries, seenProperties);
#endif
if (unusedEntries)
results.remove(0, unusedEntries);
@@ -1435,19 +1433,19 @@
void CSSParser::addProperty(CSSPropertyID propId, PassRefPtr<CSSValue> value, bool important, bool implicit)
{
- m_parsedProperties->append(CSSProperty(propId, value, important, m_currentShorthand, m_implicitShorthand || implicit));
+ m_parsedProperties.append(CSSProperty(propId, value, important, m_currentShorthand, m_implicitShorthand || implicit));
}
void CSSParser::rollbackLastProperties(int num)
{
ASSERT(num >= 0);
- ASSERT(m_parsedProperties->size() >= static_cast<unsigned>(num));
- m_parsedProperties->shrink(m_parsedProperties->size() - num);
+ ASSERT(m_parsedProperties.size() >= static_cast<unsigned>(num));
+ m_parsedProperties.shrink(m_parsedProperties.size() - num);
}
void CSSParser::clearProperties()
{
- m_parsedProperties->clear();
+ m_parsedProperties.clear();
m_numParsedPropertiesBeforeMarginBox = INVALID_NUM_PARSED_PROPERTIES;
m_hasFontFaceOnlyValues = false;
}
@@ -1781,7 +1779,7 @@
if (id == CSSValueWebkitPagedX || id == CSSValueWebkitPagedY)
overflowXValue = cssValuePool().createIdentifierValue(CSSValueAuto);
else
- overflowXValue = m_parsedProperties->last().value();
+ overflowXValue = m_parsedProperties.last().value();
addProperty(CSSPropertyOverflowX, overflowXValue.release(), important);
return true;
}
@@ -1804,7 +1802,7 @@
ShorthandScope scope(this, CSSPropertyBorderSpacing);
if (!parseValue(CSSPropertyWebkitBorderHorizontalSpacing, important))
return false;
- CSSValue* value = m_parsedProperties->last().value();
+ CSSValue* value = m_parsedProperties.last().value();
addProperty(CSSPropertyWebkitBorderVerticalSpacing, value, important);
return true;
}
@@ -2453,7 +2451,7 @@
ShorthandScope scope(this, CSSPropertyWebkitMarginCollapse);
if (!parseValue(webkitMarginCollapseShorthand().properties()[0], important))
return false;
- CSSValue* value = m_parsedProperties->last().value();
+ CSSValue* value = m_parsedProperties.last().value();
addProperty(webkitMarginCollapseShorthand().properties()[1], value, important);
return true;
}
@@ -3295,7 +3293,7 @@
case 1: {
if (!parseValue(properties[0], important))
return false;
- CSSValue* value = m_parsedProperties->last().value();
+ CSSValue* value = m_parsedProperties.last().value();
ImplicitScope implicitScope(this, PropertyImplicit);
addProperty(properties[1], value, important);
addProperty(properties[2], value, important);
@@ -3305,17 +3303,17 @@
case 2: {
if (!parseValue(properties[0], important) || !parseValue(properties[1], important))
return false;
- CSSValue* value = m_parsedProperties->at(m_parsedProperties->size() - 2).value();
+ CSSValue* value = m_parsedProperties[m_parsedProperties.size() - 2].value();
ImplicitScope implicitScope(this, PropertyImplicit);
addProperty(properties[2], value, important);
- value = m_parsedProperties->at(m_parsedProperties->size() - 2).value();
+ value = m_parsedProperties[m_parsedProperties.size() - 2].value();
addProperty(properties[3], value, important);
break;
}
case 3: {
if (!parseValue(properties[0], important) || !parseValue(properties[1], important) || !parseValue(properties[2], important))
return false;
- CSSValue* value = m_parsedProperties->at(m_parsedProperties->size() - 2).value();
+ CSSValue* value = m_parsedProperties[m_parsedProperties.size() - 2].value();
ImplicitScope implicitScope(this, PropertyImplicit);
addProperty(properties[3], value, important);
break;
@@ -8075,7 +8073,7 @@
m_rule = 0;
- return ((m_parsedProperties->size() == 1) && (m_parsedProperties->first().id() == CSSPropertyWebkitFlowInto));
+ return ((m_parsedProperties.size() == 1) && (m_parsedProperties.first().id() == CSSPropertyWebkitFlowInto));
}
// none | <ident>
@@ -8226,8 +8224,8 @@
#if ENABLE(CSS3_TEXT)
// The text-decoration-line property takes priority over text-decoration, unless the latter has important priority set.
if (propId == CSSPropertyTextDecoration && !important && m_currentShorthand == CSSPropertyInvalid) {
- for (unsigned i = 0; i < m_parsedProperties->size(); ++i) {
- if (m_parsedProperties->at(i).id() == CSSPropertyWebkitTextDecorationLine)
+ for (unsigned i = 0; i < m_parsedProperties.size(); ++i) {
+ if (m_parsedProperties[i].id() == CSSPropertyWebkitTextDecorationLine)
return;
}
}
@@ -9975,14 +9973,14 @@
return adoptPtr(selector);
}
-CSSSelectorVector* CSSParser::createFloatingSelectorVector()
+Vector<OwnPtr<CSSParserSelector> >* CSSParser::createFloatingSelectorVector()
{
- CSSSelectorVector* selectorVector = new CSSSelectorVector;
+ Vector<OwnPtr<CSSParserSelector> >* selectorVector = new Vector<OwnPtr<CSSParserSelector> >;
m_floatingSelectorVectors.add(selectorVector);
return selectorVector;
}
-PassOwnPtr<CSSSelectorVector > CSSParser::sinkFloatingSelectorVector(CSSSelectorVector* selectorVector)
+PassOwnPtr<Vector<OwnPtr<CSSParserSelector> > > CSSParser::sinkFloatingSelectorVector(Vector<OwnPtr<CSSParserSelector> >* selectorVector)
{
if (selectorVector) {
ASSERT(m_floatingSelectorVectors.contains(selectorVector));
@@ -10178,7 +10176,7 @@
return rulePtr;
}
-StyleRuleBase* CSSParser::createStyleRule(CSSSelectorVector* selectors)
+StyleRuleBase* CSSParser::createStyleRule(Vector<OwnPtr<CSSParserSelector> >* selectors)
{
StyleRule* result = 0;
if (selectors) {
@@ -10200,8 +10198,8 @@
StyleRuleBase* CSSParser::createFontFaceRule()
{
m_allowImportRules = m_allowNamespaceDeclarations = false;
- for (unsigned i = 0; i < m_parsedProperties->size(); ++i) {
- CSSProperty& property = m_parsedProperties->at(i);
+ for (unsigned i = 0; i < m_parsedProperties.size(); ++i) {
+ CSSProperty& property = m_parsedProperties[i];
if (property.id() == CSSPropertyFontVariant && property.value()->isPrimitiveValue())
property.wrapValueInCommaSeparatedList();
else if (property.id() == CSSPropertyFontFamily && (!property.value()->isValueList() || static_cast<CSSValueList*>(property.value())->length() != 1)) {
@@ -10311,7 +10309,7 @@
StyleRulePage* pageRule = 0;
if (pageSelector) {
RefPtr<StyleRulePage> rule = StyleRulePage::create();
- CSSSelectorVector selectorVector;
+ Vector<OwnPtr<CSSParserSelector> > selectorVector;
selectorVector.append(pageSelector);
rule->parserAdoptSelectorVector(selectorVector);
rule->setProperties(createStylePropertySet());
@@ -10324,7 +10322,7 @@
return pageRule;
}
-void CSSParser::setReusableRegionSelectorVector(CSSSelectorVector* selectors)
+void CSSParser::setReusableRegionSelectorVector(Vector<OwnPtr<CSSParserSelector> >* selectors)
{
if (selectors)
m_reusableRegionSelectorVector.swap(*selectors);
@@ -10362,22 +10360,22 @@
void CSSParser::startDeclarationsForMarginBox()
{
- m_numParsedPropertiesBeforeMarginBox = m_parsedProperties->size();
+ m_numParsedPropertiesBeforeMarginBox = m_parsedProperties.size();
}
void CSSParser::endDeclarationsForMarginBox()
{
- rollbackLastProperties(m_parsedProperties->size() - m_numParsedPropertiesBeforeMarginBox);
+ rollbackLastProperties(m_parsedProperties.size() - m_numParsedPropertiesBeforeMarginBox);
m_numParsedPropertiesBeforeMarginBox = INVALID_NUM_PARSED_PROPERTIES;
}
void CSSParser::deleteFontFaceOnlyValues()
{
ASSERT(m_hasFontFaceOnlyValues);
- for (unsigned i = 0; i < m_parsedProperties->size();) {
- CSSProperty& property = m_parsedProperties->at(i);
+ for (unsigned i = 0; i < m_parsedProperties.size();) {
+ CSSProperty& property = m_parsedProperties[i];
if (property.id() == CSSPropertyFontVariant && property.value()->isValueList()) {
- m_parsedProperties->remove(i);
+ m_parsedProperties.remove(i);
continue;
}
++i;
Modified: trunk/Source/WebCore/css/CSSParser.h (134692 => 134693)
--- trunk/Source/WebCore/css/CSSParser.h 2012-11-15 00:43:27 UTC (rev 134692)
+++ trunk/Source/WebCore/css/CSSParser.h 2012-11-15 00:48:05 UTC (rev 134693)
@@ -91,7 +91,7 @@
void addProperty(CSSPropertyID, PassRefPtr<CSSValue>, bool important, bool implicit = false);
void rollbackLastProperties(int num);
- bool hasProperties() const { return !m_parsedProperties->isEmpty(); }
+ bool hasProperties() const { return !m_parsedProperties.isEmpty(); }
bool parseValue(CSSPropertyID, bool important);
bool parseShorthand(CSSPropertyID, const StylePropertyShorthand&, bool important);
@@ -257,8 +257,8 @@
CSSParserSelector* createFloatingSelector();
PassOwnPtr<CSSParserSelector> sinkFloatingSelector(CSSParserSelector*);
- CSSSelectorVector* createFloatingSelectorVector();
- PassOwnPtr<CSSSelectorVector> sinkFloatingSelectorVector(CSSSelectorVector*);
+ Vector<OwnPtr<CSSParserSelector> >* createFloatingSelectorVector();
+ PassOwnPtr<Vector<OwnPtr<CSSParserSelector> > > sinkFloatingSelectorVector(Vector<OwnPtr<CSSParserSelector> >*);
CSSParserValueList* createFloatingValueList();
PassOwnPtr<CSSParserValueList> sinkFloatingValueList(CSSParserValueList*);
@@ -276,10 +276,10 @@
typedef Vector<RefPtr<StyleRuleBase> > RuleList;
StyleRuleBase* createMediaRule(MediaQuerySet*, RuleList*);
RuleList* createRuleList();
- StyleRuleBase* createStyleRule(CSSSelectorVector* selectors);
+ StyleRuleBase* createStyleRule(Vector<OwnPtr<CSSParserSelector> >* selectors);
StyleRuleBase* createFontFaceRule();
StyleRuleBase* createPageRule(PassOwnPtr<CSSParserSelector> pageSelector);
- StyleRuleBase* createRegionRule(CSSSelectorVector* regionSelector, RuleList* rules);
+ StyleRuleBase* createRegionRule(Vector<OwnPtr<CSSParserSelector> >* regionSelector, RuleList* rules);
StyleRuleBase* createMarginAtRule(CSSSelector::MarginBoxType);
#if ENABLE(SHADOW_DOM)
StyleRuleBase* createHostRule(RuleList* rules);
@@ -305,10 +305,10 @@
void invalidBlockHit();
- CSSSelectorVector* selectorVector() { return m_selectorVector.get(); }
+ Vector<OwnPtr<CSSParserSelector> >* reusableSelectorVector() { return &m_reusableSelectorVector; }
- void setReusableRegionSelectorVector(CSSSelectorVector* selectors);
- CSSSelectorVector* reusableRegionSelectorVector() { return &m_reusableRegionSelectorVector; }
+ void setReusableRegionSelectorVector(Vector<OwnPtr<CSSParserSelector> >* selectors);
+ Vector<OwnPtr<CSSParserSelector> >* reusableRegionSelectorVector() { return &m_reusableRegionSelectorVector; }
void updateLastSelectorLineAndPosition();
void updateLastMediaLine(MediaQuerySet*);
@@ -326,9 +326,8 @@
RefPtr<StyleKeyframe> m_keyframe;
OwnPtr<MediaQuery> m_mediaQuery;
OwnPtr<CSSParserValueList> m_valueList;
-
typedef Vector<CSSProperty, 256> ParsedPropertyVector;
- OwnPtr<ParsedPropertyVector> m_parsedProperties;
+ ParsedPropertyVector m_parsedProperties;
CSSSelectorList* m_selectorListForParseSelector;
unsigned m_numParsedPropertiesBeforeMarginBox;
@@ -538,7 +537,7 @@
Vector<RefPtr<MediaQuerySet> > m_parsedMediaQuerySets;
Vector<OwnPtr<RuleList> > m_parsedRuleLists;
HashSet<CSSParserSelector*> m_floatingSelectors;
- HashSet<CSSSelectorVector*> m_floatingSelectorVectors;
+ HashSet<Vector<OwnPtr<CSSParserSelector> >*> m_floatingSelectorVectors;
HashSet<CSSParserValueList*> m_floatingValueLists;
HashSet<CSSParserFunction*> m_floatingFunctions;
@@ -548,8 +547,8 @@
OwnPtr<Vector<RefPtr<StyleKeyframe> > > m_floatingKeyframeVector;
- OwnPtr<CSSSelectorVector> m_selectorVector;
- CSSSelectorVector m_reusableRegionSelectorVector;
+ Vector<OwnPtr<CSSParserSelector> > m_reusableSelectorVector;
+ Vector<OwnPtr<CSSParserSelector> > m_reusableRegionSelectorVector;
RefPtr<CSSCalcValue> m_parsedCalculation;
Modified: trunk/Source/WebCore/css/CSSParserValues.cpp (134692 => 134693)
--- trunk/Source/WebCore/css/CSSParserValues.cpp 2012-11-15 00:43:27 UTC (rev 134692)
+++ trunk/Source/WebCore/css/CSSParserValues.cpp 2012-11-15 00:48:05 UTC (rev 134693)
@@ -164,7 +164,7 @@
}
}
-void CSSParserSelector::adoptSelectorVector(CSSSelectorVector& selectorVector)
+void CSSParserSelector::adoptSelectorVector(Vector<OwnPtr<CSSParserSelector> >& selectorVector)
{
CSSSelectorList* selectorList = fastNew<CSSSelectorList>();
selectorList->adoptSelectorVector(selectorVector);
Modified: trunk/Source/WebCore/css/CSSParserValues.h (134692 => 134693)
--- trunk/Source/WebCore/css/CSSParserValues.h 2012-11-15 00:43:27 UTC (rev 134692)
+++ trunk/Source/WebCore/css/CSSParserValues.h 2012-11-15 00:48:05 UTC (rev 134693)
@@ -168,10 +168,6 @@
OwnPtr<CSSParserValueList> args;
};
-class CSSParserSelector;
-
-typedef Vector<OwnPtr<CSSParserSelector> > CSSSelectorVector;
-
class CSSParserSelector {
WTF_MAKE_FAST_ALLOCATED;
public:
@@ -188,7 +184,7 @@
void setRelation(CSSSelector::Relation value) { m_selector->m_relation = value; }
void setForPage() { m_selector->setForPage(); }
- void adoptSelectorVector(CSSSelectorVector&);
+ void adoptSelectorVector(Vector<OwnPtr<CSSParserSelector> >& selectorVector);
CSSSelector::PseudoType pseudoType() const { return m_selector->pseudoType(); }
bool isCustomPseudoElement() const { return m_selector->isCustomPseudoElement(); }
Modified: trunk/Source/WebCore/css/CSSSelectorList.cpp (134692 => 134693)
--- trunk/Source/WebCore/css/CSSSelectorList.cpp 2012-11-15 00:43:27 UTC (rev 134692)
+++ trunk/Source/WebCore/css/CSSSelectorList.cpp 2012-11-15 00:48:05 UTC (rev 134693)
@@ -58,7 +58,7 @@
list.m_selectorArray = 0;
}
-void CSSSelectorList::adoptSelectorVector(CSSSelectorVector& selectorVector)
+void CSSSelectorList::adoptSelectorVector(Vector<OwnPtr<CSSParserSelector> >& selectorVector)
{
deleteSelectors();
const size_t vectorSize = selectorVector.size();
Modified: trunk/Source/WebCore/css/CSSSelectorList.h (134692 => 134693)
--- trunk/Source/WebCore/css/CSSSelectorList.h 2012-11-15 00:43:27 UTC (rev 134692)
+++ trunk/Source/WebCore/css/CSSSelectorList.h 2012-11-15 00:48:05 UTC (rev 134693)
@@ -26,7 +26,6 @@
#ifndef CSSSelectorList_h
#define CSSSelectorList_h
-#include "CSSParserValues.h"
#include "CSSSelector.h"
namespace WebCore {
@@ -42,7 +41,7 @@
~CSSSelectorList();
void adopt(CSSSelectorList& list);
- void adoptSelectorVector(CSSSelectorVector&);
+ void adoptSelectorVector(Vector<OwnPtr<CSSParserSelector> >& selectorVector);
CSSSelector* first() const { return m_selectorArray ? m_selectorArray : 0; }
static CSSSelector* next(CSSSelector*);
Modified: trunk/Source/WebCore/css/SVGCSSParser.cpp (134692 => 134693)
--- trunk/Source/WebCore/css/SVGCSSParser.cpp 2012-11-15 00:43:27 UTC (rev 134692)
+++ trunk/Source/WebCore/css/SVGCSSParser.cpp 2012-11-15 00:48:05 UTC (rev 134693)
@@ -285,7 +285,7 @@
rollbackLastProperties(1);
return false;
}
- CSSValue* value = m_parsedProperties->last().value();
+ CSSValue* value = m_parsedProperties.last().value();
addProperty(CSSPropertyMarkerMid, value, important);
addProperty(CSSPropertyMarkerEnd, value, important);
m_implicitShorthand = false;
Modified: trunk/Source/WebCore/css/StyleRule.cpp (134692 => 134693)
--- trunk/Source/WebCore/css/StyleRule.cpp 2012-11-15 00:43:27 UTC (rev 134692)
+++ trunk/Source/WebCore/css/StyleRule.cpp 2012-11-15 00:48:05 UTC (rev 134693)
@@ -392,7 +392,7 @@
info.addMember(m_mediaQueries);
}
-StyleRuleRegion::StyleRuleRegion(CSSSelectorVector* selectors, Vector<RefPtr<StyleRuleBase> >& adoptRules)
+StyleRuleRegion::StyleRuleRegion(Vector<OwnPtr<CSSParserSelector> >* selectors, Vector<RefPtr<StyleRuleBase> >& adoptRules)
: StyleRuleBlock(Region, adoptRules)
{
m_selectorList.adoptSelectorVector(*selectors);
Modified: trunk/Source/WebCore/css/StyleRule.h (134692 => 134693)
--- trunk/Source/WebCore/css/StyleRule.h 2012-11-15 00:43:27 UTC (rev 134692)
+++ trunk/Source/WebCore/css/StyleRule.h 2012-11-15 00:48:05 UTC (rev 134693)
@@ -109,7 +109,7 @@
const StylePropertySet* properties() const { return m_properties.get(); }
StylePropertySet* mutableProperties();
- void parserAdoptSelectorVector(CSSSelectorVector& selectors) { m_selectorList.adoptSelectorVector(selectors); }
+ void parserAdoptSelectorVector(Vector<OwnPtr<CSSParserSelector> >& selectors) { m_selectorList.adoptSelectorVector(selectors); }
void wrapperAdoptSelectorList(CSSSelectorList& selectors) { m_selectorList.adopt(selectors); }
void setProperties(PassRefPtr<StylePropertySet>);
@@ -158,7 +158,7 @@
const StylePropertySet* properties() const { return m_properties.get(); }
StylePropertySet* mutableProperties();
- void parserAdoptSelectorVector(CSSSelectorVector& selectors) { m_selectorList.adoptSelectorVector(selectors); }
+ void parserAdoptSelectorVector(Vector<OwnPtr<CSSParserSelector> >& selectors) { m_selectorList.adoptSelectorVector(selectors); }
void wrapperAdoptSelectorList(CSSSelectorList& selectors) { m_selectorList.adopt(selectors); }
void setProperties(PassRefPtr<StylePropertySet>);
@@ -213,7 +213,7 @@
class StyleRuleRegion : public StyleRuleBlock {
public:
- static PassRefPtr<StyleRuleRegion> create(CSSSelectorVector* selectors, Vector<RefPtr<StyleRuleBase> >& adoptRules)
+ static PassRefPtr<StyleRuleRegion> create(Vector<OwnPtr<CSSParserSelector> >* selectors, Vector<RefPtr<StyleRuleBase> >& adoptRules)
{
return adoptRef(new StyleRuleRegion(selectors, adoptRules));
}
@@ -225,7 +225,7 @@
void reportDescendantMemoryUsage(MemoryObjectInfo*) const;
private:
- StyleRuleRegion(CSSSelectorVector*, Vector<RefPtr<StyleRuleBase> >& adoptRules);
+ StyleRuleRegion(Vector<OwnPtr<CSSParserSelector> >*, Vector<RefPtr<StyleRuleBase> >& adoptRules);
StyleRuleRegion(const StyleRuleRegion&);
CSSSelectorList m_selectorList;
_______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-changes