Shrink WebCore::Pair
[WebKit-https.git] / Source / WebCore / css / Pair.h
index 56ad0d2..e0ef452 100644 (file)
@@ -30,9 +30,9 @@ class CSSPrimitiveValue;
 // and border-spacing (all of which are space-separated sets of two values).  At the moment we are only using it for
 // border-radius and background-size, but (FIXME) border-spacing and background-position could be converted over to use
 // it (eliminating some extra -webkit- internal properties).
-class Pair final : public RefCounted<Pair> {
+class Pair : public RefCounted<Pair> {
 public:
-    enum class IdenticalValueEncoding {
+    enum class IdenticalValueEncoding : uint8_t {
         DoNotCoalesce,
         Coalesce
     };
@@ -45,8 +45,6 @@ public:
     {
         return adoptRef(*new Pair(WTFMove(first), WTFMove(second), encoding));
     }
-    virtual ~Pair() = default;
-
     CSSPrimitiveValue* first() const { return m_first.get(); }
     CSSPrimitiveValue* second() const { return m_second.get(); }
 
@@ -62,12 +60,20 @@ public:
     bool equals(const Pair& other) const { return compareCSSValuePtr(m_first, other.m_first) && compareCSSValuePtr(m_second, other.m_second); }
 
 private:
-    Pair(RefPtr<CSSPrimitiveValue>&& first, RefPtr<CSSPrimitiveValue>&& second) : m_first(WTFMove(first)), m_second(WTFMove(second)) { }
-    Pair(RefPtr<CSSPrimitiveValue>&& first, RefPtr<CSSPrimitiveValue>&& second, IdenticalValueEncoding encoding) : m_first(WTFMove(first)), m_second(WTFMove(second)), m_encoding(encoding) { }
+    Pair(RefPtr<CSSPrimitiveValue>&& first, RefPtr<CSSPrimitiveValue>&& second)
+        : m_first(WTFMove(first))
+        , m_second(WTFMove(second))
+    { }
+
+    Pair(RefPtr<CSSPrimitiveValue>&& first, RefPtr<CSSPrimitiveValue>&& second, IdenticalValueEncoding encoding)
+        : m_encoding(encoding)
+        , m_first(WTFMove(first))
+        , m_second(WTFMove(second))
+    { }
 
+    IdenticalValueEncoding m_encoding { IdenticalValueEncoding::Coalesce };
     RefPtr<CSSPrimitiveValue> m_first;
     RefPtr<CSSPrimitiveValue> m_second;
-    IdenticalValueEncoding m_encoding { IdenticalValueEncoding::Coalesce };
 };
 
 } // namespace