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

Unified Diff: third_party/WebKit/Source/core/css/cssom/CSSMatrixComponent.h

Issue 2888403004: [css-typed-om] replace all attribute with DOMMatrix in cssMatrixComponent (Closed)
Patch Set: fix the typo Created 3 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: third_party/WebKit/Source/core/css/cssom/CSSMatrixComponent.h
diff --git a/third_party/WebKit/Source/core/css/cssom/CSSMatrixComponent.h b/third_party/WebKit/Source/core/css/cssom/CSSMatrixComponent.h
index 4e291bdbff5b91046fa6180410eb2ed6d6095546..4e8f35fa76dfe802f26671ecb3e9b3910e734772 100644
--- a/third_party/WebKit/Source/core/css/cssom/CSSMatrixComponent.h
+++ b/third_party/WebKit/Source/core/css/cssom/CSSMatrixComponent.h
@@ -7,73 +7,27 @@
#include <memory>
#include "core/css/cssom/CSSTransformComponent.h"
+#include "core/geometry/DOMMatrix.h"
#include "platform/transforms/TransformationMatrix.h"
namespace blink {
+class DOMMatrixReadOnly;
+
class CORE_EXPORT CSSMatrixComponent final : public CSSTransformComponent {
WTF_MAKE_NONCOPYABLE(CSSMatrixComponent);
DEFINE_WRAPPERTYPEINFO();
public:
- static CSSMatrixComponent* Create(double a,
- double b,
- double c,
- double d,
- double e,
- double f) {
- return new CSSMatrixComponent(a, b, c, d, e, f);
- }
-
- static CSSMatrixComponent* Create(double m11,
- double m12,
- double m13,
- double m14,
- double m21,
- double m22,
- double m23,
- double m24,
- double m31,
- double m32,
- double m33,
- double m34,
- double m41,
- double m42,
- double m43,
- double m44) {
- return new CSSMatrixComponent(m11, m12, m13, m14, m21, m22, m23, m24, m31,
- m32, m33, m34, m41, m42, m43, m44);
- }
+ static CSSMatrixComponent* Create(DOMMatrixReadOnly*);
static CSSMatrixComponent* FromCSSValue(const CSSFunctionValue& value) {
return nullptr;
}
- // 2D matrix attributes
- double a() const { return matrix_->A(); }
- double b() const { return matrix_->B(); }
- double c() const { return matrix_->C(); }
- double d() const { return matrix_->D(); }
- double e() const { return matrix_->E(); }
- double f() const { return matrix_->F(); }
-
- // 3D matrix attributes
- double m11() const { return matrix_->M11(); }
- double m12() const { return matrix_->M12(); }
- double m13() const { return matrix_->M13(); }
- double m14() const { return matrix_->M14(); }
- double m21() const { return matrix_->M21(); }
- double m22() const { return matrix_->M22(); }
- double m23() const { return matrix_->M23(); }
- double m24() const { return matrix_->M24(); }
- double m31() const { return matrix_->M31(); }
- double m32() const { return matrix_->M32(); }
- double m33() const { return matrix_->M33(); }
- double m34() const { return matrix_->M34(); }
- double m41() const { return matrix_->M41(); }
- double m42() const { return matrix_->M42(); }
- double m43() const { return matrix_->M43(); }
- double m44() const { return matrix_->M44(); }
+ DOMMatrix* matrix() const { return matrix_; }
+
+ void setMatrix(DOMMatrix* matrix) { matrix_ = matrix; }
TransformComponentType GetType() const override {
return is2d_ ? kMatrixType : kMatrix3DType;
@@ -102,58 +56,16 @@ class CORE_EXPORT CSSMatrixComponent final : public CSSTransformComponent {
static CSSMatrixComponent* Translate(double x, double y);
static CSSMatrixComponent* Translate3d(double x, double y, double z);
+ DEFINE_INLINE_VIRTUAL_TRACE() {
+ visitor->Trace(matrix_);
+ CSSTransformComponent::Trace(visitor);
+ }
+
private:
- CSSMatrixComponent(double a, double b, double c, double d, double e, double f)
- : CSSTransformComponent(),
- matrix_(TransformationMatrix::Create(a, b, c, d, e, f)),
- is2d_(true) {}
-
- CSSMatrixComponent(double m11,
- double m12,
- double m13,
- double m14,
- double m21,
- double m22,
- double m23,
- double m24,
- double m31,
- double m32,
- double m33,
- double m34,
- double m41,
- double m42,
- double m43,
- double m44)
- : CSSTransformComponent(),
- matrix_(TransformationMatrix::Create(m11,
- m12,
- m13,
- m14,
- m21,
- m22,
- m23,
- m24,
- m31,
- m32,
- m33,
- m34,
- m41,
- m42,
- m43,
- m44)),
- is2d_(false) {}
-
- CSSMatrixComponent(std::unique_ptr<const TransformationMatrix> matrix,
- TransformComponentType from_type)
- : CSSTransformComponent(),
- matrix_(std::move(matrix)),
- is2d_(Is2DComponentType(from_type)) {}
-
- // TransformationMatrix needs to be 16-byte aligned. PartitionAlloc
- // supports 16-byte alignment but Oilpan doesn't. So we use an std::unique_ptr
- // to allocate TransformationMatrix on PartitionAlloc.
- // TODO(oilpan): Oilpan should support 16-byte aligned allocations.
- std::unique_ptr<const TransformationMatrix> matrix_;
+ CSSMatrixComponent(DOMMatrixReadOnly*);
+ CSSMatrixComponent(DOMMatrixReadOnly*, TransformComponentType);
+
+ Member<DOMMatrix> matrix_;
bool is2d_;
};

Powered by Google App Engine
This is Rietveld 408576698