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

Unified Diff: Source/core/css/CSSBasicShapes.h

Issue 1225553002: CSSValue Immediates: Make CSSPrimitiveValue a container (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@cssvalue_patch_1
Patch Set: Rebase Created 5 years, 5 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
« no previous file with comments | « Source/core/css/BasicShapeFunctions.cpp ('k') | Source/core/css/CSSBasicShapes.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/css/CSSBasicShapes.h
diff --git a/Source/core/css/CSSBasicShapes.h b/Source/core/css/CSSBasicShapes.h
index 35ea4a23a464cf604d4bc4200b8b6ecd3af7eb8d..c100a58a53bef6d4871a79ec3f9cb21cd21bbc2f 100644
--- a/Source/core/css/CSSBasicShapes.h
+++ b/Source/core/css/CSSBasicShapes.h
@@ -30,7 +30,7 @@
#ifndef CSSBasicShapes_h
#define CSSBasicShapes_h
-#include "core/css/CSSPrimitiveValue.h"
+#include "core/css/CSSValue.h"
#include "platform/graphics/GraphicsTypes.h"
#include "wtf/RefPtr.h"
#include "wtf/Vector.h"
@@ -38,7 +38,7 @@
namespace blink {
-class CSSBasicShape : public RefCountedWillBeGarbageCollected<CSSBasicShape> {
+class CSSBasicShape : public RefCountedWillBeGarbageCollectedFinalized<CSSBasicShape> {
DECLARE_EMPTY_VIRTUAL_DESTRUCTOR_WILL_BE_REMOVED(CSSBasicShape);
public:
enum Type {
@@ -52,8 +52,8 @@ public:
virtual String cssText() const = 0;
virtual bool equals(const CSSBasicShape&) const = 0;
- CSSPrimitiveValue* referenceBox() const { return m_referenceBox.get(); }
- void setReferenceBox(PassRefPtrWillBeRawPtr<CSSPrimitiveValue> referenceBox) { m_referenceBox = referenceBox; }
+ NullableCSSValue referenceBox() const { return m_referenceBox; }
+ void setReferenceBox(CSSPrimitiveValue referenceBox) { m_referenceBox = referenceBox; }
bool isEllipse() const { return type() == CSSBasicShapeEllipseType; }
bool isPolygon() const { return type() == CSSBasicShapePolygonType; }
@@ -64,7 +64,7 @@ public:
protected:
CSSBasicShape() { }
- RefPtrWillBeMember<CSSPrimitiveValue> m_referenceBox;
+ NullableCSSValue m_referenceBox;
};
class CSSBasicShapeCircle final : public CSSBasicShape {
@@ -74,13 +74,13 @@ public:
virtual String cssText() const override;
virtual bool equals(const CSSBasicShape&) const override;
- CSSPrimitiveValue* centerX() const { return m_centerX.get(); }
- CSSPrimitiveValue* centerY() const { return m_centerY.get(); }
- CSSPrimitiveValue* radius() const { return m_radius.get(); }
+ NullableCSSValue centerX() const { return m_centerX; }
+ NullableCSSValue centerY() const { return m_centerY; }
+ NullableCSSValue radius() const { return m_radius; }
- void setCenterX(PassRefPtrWillBeRawPtr<CSSPrimitiveValue> centerX) { m_centerX = centerX; }
- void setCenterY(PassRefPtrWillBeRawPtr<CSSPrimitiveValue> centerY) { m_centerY = centerY; }
- void setRadius(PassRefPtrWillBeRawPtr<CSSPrimitiveValue> radius) { m_radius = radius; }
+ void setCenterX(CSSPrimitiveValue centerX) { m_centerX = centerX; }
+ void setCenterY(CSSPrimitiveValue centerY) { m_centerY = centerY; }
+ void setRadius(CSSPrimitiveValue radius) { m_radius = radius; }
DECLARE_VIRTUAL_TRACE();
@@ -89,9 +89,9 @@ private:
virtual Type type() const override { return CSSBasicShapeCircleType; }
- RefPtrWillBeMember<CSSPrimitiveValue> m_centerX;
- RefPtrWillBeMember<CSSPrimitiveValue> m_centerY;
- RefPtrWillBeMember<CSSPrimitiveValue> m_radius;
+ NullableCSSValue m_centerX;
+ NullableCSSValue m_centerY;
+ NullableCSSValue m_radius;
};
class CSSBasicShapeEllipse final : public CSSBasicShape {
@@ -101,15 +101,15 @@ public:
virtual String cssText() const override;
virtual bool equals(const CSSBasicShape&) const override;
- CSSPrimitiveValue* centerX() const { return m_centerX.get(); }
- CSSPrimitiveValue* centerY() const { return m_centerY.get(); }
- CSSPrimitiveValue* radiusX() const { return m_radiusX.get(); }
- CSSPrimitiveValue* radiusY() const { return m_radiusY.get(); }
+ NullableCSSValue centerX() const { return m_centerX; }
+ NullableCSSValue centerY() const { return m_centerY; }
+ NullableCSSValue radiusX() const { return m_radiusX; }
+ NullableCSSValue radiusY() const { return m_radiusY; }
- void setCenterX(PassRefPtrWillBeRawPtr<CSSPrimitiveValue> centerX) { m_centerX = centerX; }
- void setCenterY(PassRefPtrWillBeRawPtr<CSSPrimitiveValue> centerY) { m_centerY = centerY; }
- void setRadiusX(PassRefPtrWillBeRawPtr<CSSPrimitiveValue> radiusX) { m_radiusX = radiusX; }
- void setRadiusY(PassRefPtrWillBeRawPtr<CSSPrimitiveValue> radiusY) { m_radiusY = radiusY; }
+ void setCenterX(CSSPrimitiveValue centerX) { m_centerX = centerX; }
+ void setCenterY(CSSPrimitiveValue centerY) { m_centerY = centerY; }
+ void setRadiusX(CSSPrimitiveValue radiusX) { m_radiusX = radiusX; }
+ void setRadiusY(CSSPrimitiveValue radiusY) { m_radiusY = radiusY; }
DECLARE_VIRTUAL_TRACE();
@@ -118,25 +118,25 @@ private:
virtual Type type() const override { return CSSBasicShapeEllipseType; }
- RefPtrWillBeMember<CSSPrimitiveValue> m_centerX;
- RefPtrWillBeMember<CSSPrimitiveValue> m_centerY;
- RefPtrWillBeMember<CSSPrimitiveValue> m_radiusX;
- RefPtrWillBeMember<CSSPrimitiveValue> m_radiusY;
+ NullableCSSValue m_centerX;
+ NullableCSSValue m_centerY;
+ NullableCSSValue m_radiusX;
+ NullableCSSValue m_radiusY;
};
class CSSBasicShapePolygon final : public CSSBasicShape {
public:
static PassRefPtrWillBeRawPtr<CSSBasicShapePolygon> create() { return adoptRefWillBeNoop(new CSSBasicShapePolygon); }
- void appendPoint(PassRefPtrWillBeRawPtr<CSSPrimitiveValue> x, PassRefPtrWillBeRawPtr<CSSPrimitiveValue> y)
+ void appendPoint(CSSPrimitiveValue x, CSSPrimitiveValue y)
{
m_values.append(x);
m_values.append(y);
}
- PassRefPtrWillBeRawPtr<CSSPrimitiveValue> getXAt(unsigned i) const { return m_values.at(i * 2); }
- PassRefPtrWillBeRawPtr<CSSPrimitiveValue> getYAt(unsigned i) const { return m_values.at(i * 2 + 1); }
- const WillBeHeapVector<RefPtrWillBeMember<CSSPrimitiveValue>>& values() const { return m_values; }
+ CSSPrimitiveValue getXAt(unsigned i) const { return toCSSPrimitiveValue(m_values.at(i * 2)); }
+ CSSPrimitiveValue getYAt(unsigned i) const { return toCSSPrimitiveValue(m_values.at(i * 2 + 1)); }
+ const WillBeHeapVector<CSSValue>& values() const { return m_values; }
void setWindRule(WindRule w) { m_windRule = w; }
WindRule windRule() const { return m_windRule; }
@@ -154,7 +154,7 @@ private:
virtual Type type() const override { return CSSBasicShapePolygonType; }
- WillBeHeapVector<RefPtrWillBeMember<CSSPrimitiveValue>> m_values;
+ WillBeHeapVector<CSSValue> m_values;
WindRule m_windRule;
};
@@ -162,22 +162,22 @@ class CSSBasicShapeInset final : public CSSBasicShape {
public:
static PassRefPtrWillBeRawPtr<CSSBasicShapeInset> create() { return adoptRefWillBeNoop(new CSSBasicShapeInset); }
- CSSPrimitiveValue* top() const { return m_top.get(); }
- CSSPrimitiveValue* right() const { return m_right.get(); }
- CSSPrimitiveValue* bottom() const { return m_bottom.get(); }
- CSSPrimitiveValue* left() const { return m_left.get(); }
+ CSSPrimitiveValue top() const { return toCSSPrimitiveValue(*m_top); }
+ CSSPrimitiveValue right() const { return toCSSPrimitiveValue(*m_right); }
+ CSSPrimitiveValue bottom() const { return toCSSPrimitiveValue(*m_bottom); }
+ CSSPrimitiveValue left() const { return toCSSPrimitiveValue(*m_left); }
- CSSPrimitiveValue* topLeftRadius() const { return m_topLeftRadius.get(); }
- CSSPrimitiveValue* topRightRadius() const { return m_topRightRadius.get(); }
- CSSPrimitiveValue* bottomRightRadius() const { return m_bottomRightRadius.get(); }
- CSSPrimitiveValue* bottomLeftRadius() const { return m_bottomLeftRadius.get(); }
+ NullableCSSValue topLeftRadius() const { return m_topLeftRadius; }
+ NullableCSSValue topRightRadius() const { return m_topRightRadius; }
+ NullableCSSValue bottomRightRadius() const { return m_bottomRightRadius; }
+ NullableCSSValue bottomLeftRadius() const { return m_bottomLeftRadius; }
- void setTop(PassRefPtrWillBeRawPtr<CSSPrimitiveValue> top) { m_top = top; }
- void setRight(PassRefPtrWillBeRawPtr<CSSPrimitiveValue> right) { m_right = right; }
- void setBottom(PassRefPtrWillBeRawPtr<CSSPrimitiveValue> bottom) { m_bottom = bottom; }
- void setLeft(PassRefPtrWillBeRawPtr<CSSPrimitiveValue> left) { m_left = left; }
+ void setTop(CSSPrimitiveValue top) { m_top = top; }
+ void setRight(CSSPrimitiveValue right) { m_right = right; }
+ void setBottom(CSSPrimitiveValue bottom) { m_bottom = bottom; }
+ void setLeft(CSSPrimitiveValue left) { m_left = left; }
- void updateShapeSize4Values(CSSPrimitiveValue* top, CSSPrimitiveValue* right, CSSPrimitiveValue* bottom, CSSPrimitiveValue* left)
+ void updateShapeSize4Values(CSSPrimitiveValue top, CSSPrimitiveValue right, CSSPrimitiveValue bottom, CSSPrimitiveValue left)
{
setTop(top);
setRight(right);
@@ -185,26 +185,26 @@ public:
setLeft(left);
}
- void updateShapeSize1Value(CSSPrimitiveValue* value1)
+ void updateShapeSize1Value(CSSPrimitiveValue value1)
{
updateShapeSize4Values(value1, value1, value1, value1);
}
- void updateShapeSize2Values(CSSPrimitiveValue* value1, CSSPrimitiveValue* value2)
+ void updateShapeSize2Values(CSSPrimitiveValue value1, CSSPrimitiveValue value2)
{
updateShapeSize4Values(value1, value2, value1, value2);
}
- void updateShapeSize3Values(CSSPrimitiveValue* value1, CSSPrimitiveValue* value2, CSSPrimitiveValue* value3)
+ void updateShapeSize3Values(CSSPrimitiveValue value1, CSSPrimitiveValue value2, CSSPrimitiveValue value3)
{
updateShapeSize4Values(value1, value2, value3, value2);
}
- void setTopLeftRadius(PassRefPtrWillBeRawPtr<CSSPrimitiveValue> radius) { m_topLeftRadius = radius; }
- void setTopRightRadius(PassRefPtrWillBeRawPtr<CSSPrimitiveValue> radius) { m_topRightRadius = radius; }
- void setBottomRightRadius(PassRefPtrWillBeRawPtr<CSSPrimitiveValue> radius) { m_bottomRightRadius = radius; }
- void setBottomLeftRadius(PassRefPtrWillBeRawPtr<CSSPrimitiveValue> radius) { m_bottomLeftRadius = radius; }
+ void setTopLeftRadius(CSSPrimitiveValue radius) { m_topLeftRadius = radius; }
+ void setTopRightRadius(CSSPrimitiveValue radius) { m_topRightRadius = radius; }
+ void setBottomRightRadius(CSSPrimitiveValue radius) { m_bottomRightRadius = radius; }
+ void setBottomLeftRadius(CSSPrimitiveValue radius) { m_bottomLeftRadius = radius; }
virtual String cssText() const override;
virtual bool equals(const CSSBasicShape&) const override;
@@ -216,15 +216,15 @@ private:
virtual Type type() const override { return CSSBasicShapeInsetType; }
- RefPtrWillBeMember<CSSPrimitiveValue> m_top;
- RefPtrWillBeMember<CSSPrimitiveValue> m_right;
- RefPtrWillBeMember<CSSPrimitiveValue> m_bottom;
- RefPtrWillBeMember<CSSPrimitiveValue> m_left;
+ NullableCSSValue m_top;
+ NullableCSSValue m_right;
+ NullableCSSValue m_bottom;
+ NullableCSSValue m_left;
- RefPtrWillBeMember<CSSPrimitiveValue> m_topLeftRadius;
- RefPtrWillBeMember<CSSPrimitiveValue> m_topRightRadius;
- RefPtrWillBeMember<CSSPrimitiveValue> m_bottomRightRadius;
- RefPtrWillBeMember<CSSPrimitiveValue> m_bottomLeftRadius;
+ NullableCSSValue m_topLeftRadius;
+ NullableCSSValue m_topRightRadius;
+ NullableCSSValue m_bottomRightRadius;
+ NullableCSSValue m_bottomLeftRadius;
};
DEFINE_TYPE_CASTS(CSSBasicShapeCircle, CSSBasicShape, shape, shape->isCircle(), shape.isCircle());
« no previous file with comments | « Source/core/css/BasicShapeFunctions.cpp ('k') | Source/core/css/CSSBasicShapes.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698