Index: Source/core/css/StylePropertySerializer.cpp |
diff --git a/Source/core/css/StylePropertySerializer.cpp b/Source/core/css/StylePropertySerializer.cpp |
index e81a5aead2ebfba3714bcdfac3408d5992ff73bc..5eb0a3fea3fcf5d800f74bf91b700f01e7e06130 100644 |
--- a/Source/core/css/StylePropertySerializer.cpp |
+++ b/Source/core/css/StylePropertySerializer.cpp |
@@ -40,16 +40,16 @@ static bool isInitialOrInherit(const String& value) |
} |
StylePropertySerializer::StylePropertySetForSerializer::StylePropertySetForSerializer(const StylePropertySet& properties) |
- : m_propertySet(properties) |
- , m_allIndex(m_propertySet.findPropertyIndex(CSSPropertyAll)) |
+ : m_propertySet(&properties) |
+ , m_allIndex(m_propertySet->findPropertyIndex(CSSPropertyAll)) |
, m_needToExpandAll(false) |
{ |
if (!hasAllProperty()) |
return; |
- StylePropertySet::PropertyReference allProperty = m_propertySet.propertyAt(m_allIndex); |
- for (unsigned i = 0; i < m_propertySet.propertyCount(); ++i) { |
- StylePropertySet::PropertyReference property = m_propertySet.propertyAt(i); |
+ StylePropertySet::PropertyReference allProperty = m_propertySet->propertyAt(m_allIndex); |
+ for (unsigned i = 0; i < m_propertySet->propertyCount(); ++i) { |
+ StylePropertySet::PropertyReference property = m_propertySet->propertyAt(i); |
if (CSSProperty::isAffectedByAllProperty(property.id())) { |
if (allProperty.isImportant() && !property.isImportant()) |
continue; |
@@ -64,27 +64,32 @@ StylePropertySerializer::StylePropertySetForSerializer::StylePropertySetForSeria |
} |
} |
+DEFINE_TRACE(StylePropertySerializer::StylePropertySetForSerializer) |
+{ |
+ visitor->trace(m_propertySet); |
+} |
+ |
unsigned StylePropertySerializer::StylePropertySetForSerializer::propertyCount() const |
{ |
if (!hasExpandedAllProperty()) |
- return m_propertySet.propertyCount(); |
+ return m_propertySet->propertyCount(); |
return lastCSSProperty - firstCSSProperty + 1; |
} |
StylePropertySerializer::PropertyValueForSerializer StylePropertySerializer::StylePropertySetForSerializer::propertyAt(unsigned index) const |
{ |
if (!hasExpandedAllProperty()) |
- return StylePropertySerializer::PropertyValueForSerializer(m_propertySet.propertyAt(index)); |
+ return StylePropertySerializer::PropertyValueForSerializer(m_propertySet->propertyAt(index)); |
CSSPropertyID propertyID = static_cast<CSSPropertyID>(index + firstCSSProperty); |
ASSERT(firstCSSProperty <= propertyID && propertyID <= lastCSSProperty); |
if (m_longhandPropertyUsed.get(index)) { |
- int index = m_propertySet.findPropertyIndex(propertyID); |
+ int index = m_propertySet->findPropertyIndex(propertyID); |
ASSERT(index != -1); |
- return StylePropertySerializer::PropertyValueForSerializer(m_propertySet.propertyAt(index)); |
+ return StylePropertySerializer::PropertyValueForSerializer(m_propertySet->propertyAt(index)); |
} |
- StylePropertySet::PropertyReference property = m_propertySet.propertyAt(m_allIndex); |
+ StylePropertySet::PropertyReference property = m_propertySet->propertyAt(m_allIndex); |
return StylePropertySerializer::PropertyValueForSerializer(propertyID, property.value(), property.isImportant()); |
} |
@@ -97,7 +102,7 @@ bool StylePropertySerializer::StylePropertySetForSerializer::shouldProcessProper |
// If all is not expanded, we need to process "all" and properties which |
// are not overwritten by "all". |
if (!m_needToExpandAll) { |
- StylePropertySet::PropertyReference property = m_propertySet.propertyAt(index); |
+ StylePropertySet::PropertyReference property = m_propertySet->propertyAt(index); |
if (property.id() == CSSPropertyAll || !CSSProperty::isAffectedByAllProperty(property.id())) |
return true; |
return m_longhandPropertyUsed.get(property.id() - firstCSSProperty); |
@@ -124,7 +129,7 @@ bool StylePropertySerializer::StylePropertySetForSerializer::shouldProcessProper |
int StylePropertySerializer::StylePropertySetForSerializer::findPropertyIndex(CSSPropertyID propertyID) const |
{ |
if (!hasExpandedAllProperty()) |
- return m_propertySet.findPropertyIndex(propertyID); |
+ return m_propertySet->findPropertyIndex(propertyID); |
return propertyID - firstCSSProperty; |
} |
@@ -140,7 +145,7 @@ const CSSValue* StylePropertySerializer::StylePropertySetForSerializer::getPrope |
String StylePropertySerializer::StylePropertySetForSerializer::getPropertyValue(CSSPropertyID propertyID) const |
{ |
if (!hasExpandedAllProperty()) |
- return m_propertySet.getPropertyValue(propertyID); |
+ return m_propertySet->getPropertyValue(propertyID); |
const CSSValue* value = getPropertyCSSValue(propertyID); |
if (!value) |