| Index: third_party/WebKit/Source/core/css/cssom/CSSRotation.h
|
| diff --git a/third_party/WebKit/Source/core/css/cssom/CSSRotation.h b/third_party/WebKit/Source/core/css/cssom/CSSRotation.h
|
| index e4e0809e520f3f7b35d2b8508f16a853e0fcff33..ea573efe14a9d34471a55d9cec6fcc0a902363dd 100644
|
| --- a/third_party/WebKit/Source/core/css/cssom/CSSRotation.h
|
| +++ b/third_party/WebKit/Source/core/css/cssom/CSSRotation.h
|
| @@ -11,6 +11,7 @@
|
| namespace blink {
|
|
|
| class DOMMatrix;
|
| +class ExceptionState;
|
|
|
| // Represents a rotation value in a CSSTransformValue used for properties like
|
| // "transform".
|
| @@ -42,30 +43,30 @@ class CORE_EXPORT CSSRotation final : public CSSTransformComponent {
|
| static CSSRotation* FromCSSValue(const CSSFunctionValue&);
|
|
|
| // Getters and setters for attributes defined in the IDL.
|
| - // Bindings requires returning non-const pointers. This is safe because
|
| - // CSSNumericValues are immutable.
|
| - CSSNumericValue* angle() const {
|
| - return const_cast<CSSNumericValue*>(angle_.Get());
|
| - }
|
| + CSSNumericValue* angle() { return angle_.Get(); }
|
| double x() const { return x_; }
|
| double y() const { return y_; }
|
| double z() const { return z_; }
|
| + void setAngle(CSSNumericValue* angle, ExceptionState&);
|
| + void setX(double x) { x_ = x; }
|
| + void setY(double y) { y_ = y; }
|
| + void setZ(double z) { z_ = z; }
|
|
|
| // Internal methods - from CSSTransformComponent.
|
| - TransformComponentType GetType() const override {
|
| - return is2d_ ? kRotationType : kRotation3DType;
|
| + TransformComponentType GetType() const final {
|
| + return z_ == 1 ? kRotationType : kRotation3DType;
|
| }
|
| - DOMMatrix* AsMatrix() const override {
|
| + DOMMatrix* AsMatrix() const final {
|
| return nullptr;
|
| // TODO(meade): Implement.
|
| - // return is2d_
|
| + // return z_ == 1 ?
|
| // ? CSSMatrixComponent::Rotate(
|
| // angle_->to(CSSPrimitiveValue::UnitType::kDegrees)->value())
|
| // : CSSMatrixComponent::Rotate3d(
|
| // angle_->to(CSSPrimitiveValue::UnitType::kDegrees)->value(),
|
| // x_, y_, z_);
|
| }
|
| - CSSFunctionValue* ToCSSValue() const override;
|
| + CSSFunctionValue* ToCSSValue() const final;
|
|
|
| DEFINE_INLINE_VIRTUAL_TRACE() {
|
| visitor->Trace(angle_);
|
| @@ -73,17 +74,13 @@ class CORE_EXPORT CSSRotation final : public CSSTransformComponent {
|
| }
|
|
|
| private:
|
| - CSSRotation(const CSSNumericValue* angle)
|
| - : angle_(angle), x_(0), y_(0), z_(1), is2d_(true) {}
|
| -
|
| - CSSRotation(double x, double y, double z, const CSSNumericValue* angle)
|
| - : angle_(angle), x_(x), y_(y), z_(z), is2d_(false) {}
|
| + CSSRotation(double x, double y, double z, CSSNumericValue* angle)
|
| + : angle_(angle), x_(x), y_(y), z_(z) {}
|
|
|
| - Member<const CSSNumericValue> angle_;
|
| + Member<CSSNumericValue> angle_;
|
| double x_;
|
| double y_;
|
| double z_;
|
| - bool is2d_;
|
| };
|
|
|
| } // namespace blink
|
|
|