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

Unified Diff: Source/core/css/CSSValue.cpp

Issue 1164573002: CSSValue Immediates: Change CSSValue to an object instead of a pointer (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 5 years, 7 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
Index: Source/core/css/CSSValue.cpp
diff --git a/Source/core/css/CSSValue.cpp b/Source/core/css/CSSValue.cpp
index d8a94be96cb0712b2e146f95e0c2bab34ab8f683..2d838f1ae9bddafb2a72eb723600bcfb90a9e3a6 100644
--- a/Source/core/css/CSSValue.cpp
+++ b/Source/core/css/CSSValue.cpp
@@ -56,19 +56,19 @@
namespace blink {
-struct SameSizeAsCSSValue : public RefCountedWillBeGarbageCollectedFinalized<SameSizeAsCSSValue>
+struct SameSizeAsCSSValueObject : public RefCountedWillBeGarbageCollectedFinalized<SameSizeAsCSSValueObject>
{
uint32_t bitfields;
};
-static_assert(sizeof(CSSValue) <= sizeof(SameSizeAsCSSValue), "CSSValue should stay small");
+static_assert(sizeof(CSSValueObject) <= sizeof(SameSizeAsCSSValueObject), "CSSValCSSValueObjectue should stay small");
-bool CSSValue::isImplicitInitialValue() const
+bool CSSValueObject::isImplicitInitialValue() const
{
return m_classType == InitialClass && toCSSInitialValue(this)->isImplicit();
}
-bool CSSValue::hasFailedOrCanceledSubresources() const
+bool CSSValueObject::hasFailedOrCanceledSubresources() const
{
if (isValueList())
return toCSSValueList(this)->hasFailedOrCanceledSubresources();
@@ -85,12 +85,12 @@ bool CSSValue::hasFailedOrCanceledSubresources() const
}
template<class ChildClassType>
-inline static bool compareCSSValues(const CSSValue& first, const CSSValue& second)
+inline static bool compareCSSValues(const CSSValueObject& first, const CSSValueObject& second)
{
return static_cast<const ChildClassType&>(first).equals(static_cast<const ChildClassType&>(second));
}
-bool CSSValue::equals(const CSSValue& other) const
+bool CSSValueObject::equals(const CSSValueObject& other) const
{
if (m_classType == other.m_classType) {
switch (m_classType) {
@@ -158,7 +158,7 @@ bool CSSValue::equals(const CSSValue& other) const
return false;
}
-String CSSValue::cssText() const
+String CSSValueObject::cssText() const
{
switch (classType()) {
case BorderImageSliceClass:
@@ -222,7 +222,7 @@ String CSSValue::cssText() const
return String();
}
-void CSSValue::destroy()
+void CSSValueObject::destroy()
{
switch (classType()) {
case BorderImageSliceClass:
@@ -313,7 +313,7 @@ void CSSValue::destroy()
ASSERT_NOT_REACHED();
}
-void CSSValue::finalizeGarbageCollectedObject()
+void CSSValueObject::finalizeGarbageCollectedObject()
{
switch (classType()) {
case BorderImageSliceClass:
@@ -404,7 +404,7 @@ void CSSValue::finalizeGarbageCollectedObject()
ASSERT_NOT_REACHED();
}
-DEFINE_TRACE(CSSValue)
+DEFINE_TRACE(CSSValueObject)
{
switch (classType()) {
case BorderImageSliceClass:
@@ -495,4 +495,16 @@ DEFINE_TRACE(CSSValue)
ASSERT_NOT_REACHED();
}
+DEFINE_TRACE(NullableCSSValue)
+{
+ if (m_data)
+ visitor->trace(*m_data);
+}
+
+DEFINE_TRACE(CSSValue)
+{
+ ASSERT(m_data);
+ visitor->trace(*m_data);
+}
+
}

Powered by Google App Engine
This is Rietveld 408576698