mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-10 03:45:46 +00:00
Backed out changeset 0aea246d01bb (bug 928150) for causing build bustages on DOMMatrix.h CLOSED TREEE
This commit is contained in:
parent
b65864cf84
commit
973b98aac6
@ -117,23 +117,16 @@ static bool ValidateAndFixupMatrixInit(DOMMatrixInit& aMatrixInit,
|
||||
#undef Check3DField
|
||||
}
|
||||
|
||||
void DOMMatrixReadOnly::SetDataFromMatrix2DInit(
|
||||
const DOMMatrix2DInit& aMatrixInit) {
|
||||
MOZ_ASSERT(Is2D());
|
||||
mMatrix2D->_11 = aMatrixInit.mM11.Value();
|
||||
mMatrix2D->_12 = aMatrixInit.mM12.Value();
|
||||
mMatrix2D->_21 = aMatrixInit.mM21.Value();
|
||||
mMatrix2D->_22 = aMatrixInit.mM22.Value();
|
||||
mMatrix2D->_31 = aMatrixInit.mM41.Value();
|
||||
mMatrix2D->_32 = aMatrixInit.mM42.Value();
|
||||
}
|
||||
|
||||
void DOMMatrixReadOnly::SetDataFromMatrixInit(
|
||||
const DOMMatrixInit& aMatrixInit) {
|
||||
void DOMMatrixReadOnly::SetDataFromMatrixInit(DOMMatrixInit& aMatrixInit) {
|
||||
const bool is2D = aMatrixInit.mIs2D.Value();
|
||||
MOZ_ASSERT(is2D == Is2D());
|
||||
if (is2D) {
|
||||
SetDataFromMatrix2DInit(aMatrixInit);
|
||||
mMatrix2D->_11 = aMatrixInit.mM11.Value();
|
||||
mMatrix2D->_12 = aMatrixInit.mM12.Value();
|
||||
mMatrix2D->_21 = aMatrixInit.mM21.Value();
|
||||
mMatrix2D->_22 = aMatrixInit.mM22.Value();
|
||||
mMatrix2D->_31 = aMatrixInit.mM41.Value();
|
||||
mMatrix2D->_32 = aMatrixInit.mM42.Value();
|
||||
} else {
|
||||
mMatrix3D->_11 = aMatrixInit.mM11.Value();
|
||||
mMatrix3D->_12 = aMatrixInit.mM12.Value();
|
||||
@ -154,20 +147,6 @@ void DOMMatrixReadOnly::SetDataFromMatrixInit(
|
||||
}
|
||||
}
|
||||
|
||||
already_AddRefed<DOMMatrixReadOnly> DOMMatrixReadOnly::FromMatrix(
|
||||
nsISupports* aParent, const DOMMatrix2DInit& aMatrixInit,
|
||||
ErrorResult& aRv) {
|
||||
DOMMatrix2DInit matrixInit(aMatrixInit);
|
||||
if (!ValidateAndFixupMatrix2DInit(matrixInit, aRv)) {
|
||||
return nullptr;
|
||||
};
|
||||
|
||||
RefPtr<DOMMatrixReadOnly> matrix =
|
||||
new DOMMatrixReadOnly(aParent, /* is2D */ true);
|
||||
matrix->SetDataFromMatrix2DInit(matrixInit);
|
||||
return matrix.forget();
|
||||
}
|
||||
|
||||
already_AddRefed<DOMMatrixReadOnly> DOMMatrixReadOnly::FromMatrix(
|
||||
nsISupports* aParent, const DOMMatrixInit& aMatrixInit, ErrorResult& aRv) {
|
||||
DOMMatrixInit matrixInit(aMatrixInit);
|
||||
|
@ -29,7 +29,6 @@ class DOMPoint;
|
||||
class StringOrUnrestrictedDoubleSequence;
|
||||
struct DOMPointInit;
|
||||
struct DOMMatrixInit;
|
||||
struct DOMMatrix2DInit;
|
||||
|
||||
class DOMMatrixReadOnly : public nsWrapperCache {
|
||||
public:
|
||||
@ -50,11 +49,6 @@ class DOMMatrixReadOnly : public nsWrapperCache {
|
||||
mMatrix3D = new gfx::Matrix4x4Double(aMatrix);
|
||||
}
|
||||
|
||||
DOMMatrixReadOnly(nsISupports* aParent, const gfx::Matrix& aMatrix)
|
||||
: mParent(aParent) {
|
||||
mMatrix2D = new gfx::MatrixDouble(aMatrix);
|
||||
}
|
||||
|
||||
NS_INLINE_DECL_CYCLE_COLLECTING_NATIVE_REFCOUNTING(DOMMatrixReadOnly)
|
||||
NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_NATIVE_CLASS(DOMMatrixReadOnly)
|
||||
|
||||
@ -62,10 +56,6 @@ class DOMMatrixReadOnly : public nsWrapperCache {
|
||||
virtual JSObject* WrapObject(JSContext* cx,
|
||||
JS::Handle<JSObject*> aGivenProto) override;
|
||||
|
||||
static already_AddRefed<DOMMatrixReadOnly> FromMatrix(
|
||||
nsISupports* aParent, const DOMMatrix2DInit& aMatrixInit,
|
||||
ErrorResult& aRv);
|
||||
|
||||
static already_AddRefed<DOMMatrixReadOnly> FromMatrix(
|
||||
nsISupports* aParent, const DOMMatrixInit& aMatrixInit, ErrorResult& aRv);
|
||||
|
||||
@ -217,9 +207,6 @@ class DOMMatrixReadOnly : public nsWrapperCache {
|
||||
|
||||
bool WriteStructuredClone(JSContext* aCx,
|
||||
JSStructuredCloneWriter* aWriter) const;
|
||||
const gfx::MatrixDouble* GetInternal2D() const {
|
||||
return Is2D() ? mMatrix2D : nullptr;
|
||||
}
|
||||
|
||||
protected:
|
||||
nsCOMPtr<nsISupports> mParent;
|
||||
@ -233,8 +220,7 @@ class DOMMatrixReadOnly : public nsWrapperCache {
|
||||
* where all of its members are properly defined.
|
||||
* The init dictionary's dimension must match the matrix one.
|
||||
*/
|
||||
void SetDataFromMatrix2DInit(const DOMMatrix2DInit& aMatrixInit);
|
||||
void SetDataFromMatrixInit(const DOMMatrixInit& aMatrixInit);
|
||||
void SetDataFromMatrixInit(DOMMatrixInit& aMatrixInit);
|
||||
|
||||
DOMMatrixReadOnly* SetMatrixValue(const nsAString& aTransformList,
|
||||
ErrorResult& aRv);
|
||||
@ -267,9 +253,6 @@ class DOMMatrix : public DOMMatrixReadOnly {
|
||||
DOMMatrix(nsISupports* aParent, const gfx::Matrix4x4& aMatrix)
|
||||
: DOMMatrixReadOnly(aParent, aMatrix) {}
|
||||
|
||||
DOMMatrix(nsISupports* aParent, const gfx::Matrix& aMatrix)
|
||||
: DOMMatrixReadOnly(aParent, aMatrix) {}
|
||||
|
||||
static already_AddRefed<DOMMatrix> FromMatrix(
|
||||
nsISupports* aParent, const DOMMatrixInit& aMatrixInit, ErrorResult& aRv);
|
||||
|
||||
|
@ -6,7 +6,6 @@
|
||||
#define BasicRenderingContext2D_h
|
||||
|
||||
#include "mozilla/dom/CanvasRenderingContext2DBinding.h"
|
||||
#include "mozilla/dom/DOMMatrix.h"
|
||||
|
||||
namespace mozilla {
|
||||
namespace dom {
|
||||
@ -37,12 +36,9 @@ class BasicRenderingContext2D {
|
||||
virtual void Transform(double aM11, double aM12, double aM21, double aM22,
|
||||
double aDx, double aDy,
|
||||
mozilla::ErrorResult& aError) = 0;
|
||||
virtual already_AddRefed<DOMMatrix> GetTransform(mozilla::ErrorResult& aError) = 0;
|
||||
virtual void SetTransform(double aM11, double aM12, double aM21, double aM22,
|
||||
double aDx, double aDy,
|
||||
mozilla::ErrorResult& aError) = 0;
|
||||
virtual void SetTransform(const DOMMatrix2DInit& aInit,
|
||||
mozilla::ErrorResult& aError) = 0;
|
||||
virtual void ResetTransform(mozilla::ErrorResult& aError) = 0;
|
||||
|
||||
//
|
||||
|
@ -1794,18 +1794,6 @@ void CanvasRenderingContext2D::Transform(double aM11, double aM12, double aM21,
|
||||
SetTransformInternal(newMatrix);
|
||||
}
|
||||
|
||||
already_AddRefed<DOMMatrix> CanvasRenderingContext2D::GetTransform(
|
||||
ErrorResult& aError) {
|
||||
EnsureTarget();
|
||||
if (!IsTargetValid()) {
|
||||
aError.Throw(NS_ERROR_FAILURE);
|
||||
return nullptr;
|
||||
}
|
||||
RefPtr<DOMMatrix> matrix =
|
||||
new DOMMatrix(GetParentObject(), mTarget->GetTransform());
|
||||
return matrix.forget();
|
||||
}
|
||||
|
||||
void CanvasRenderingContext2D::SetTransform(double aM11, double aM12,
|
||||
double aM21, double aM22,
|
||||
double aDx, double aDy,
|
||||
@ -1819,21 +1807,6 @@ void CanvasRenderingContext2D::SetTransform(double aM11, double aM12,
|
||||
SetTransformInternal(Matrix(aM11, aM12, aM21, aM22, aDx, aDy));
|
||||
}
|
||||
|
||||
void CanvasRenderingContext2D::SetTransform(const DOMMatrix2DInit& aInit,
|
||||
ErrorResult& aError) {
|
||||
TransformWillUpdate();
|
||||
if (!IsTargetValid()) {
|
||||
aError.Throw(NS_ERROR_FAILURE);
|
||||
return;
|
||||
}
|
||||
|
||||
RefPtr<DOMMatrixReadOnly> matrix =
|
||||
DOMMatrixReadOnly::FromMatrix(GetParentObject(), aInit, aError);
|
||||
if (!aError.Failed()) {
|
||||
SetTransformInternal(Matrix(*(matrix->GetInternal2D())));
|
||||
}
|
||||
}
|
||||
|
||||
void CanvasRenderingContext2D::SetTransformInternal(const Matrix& aTransform) {
|
||||
if (!aTransform.IsFinite()) {
|
||||
return;
|
||||
|
@ -61,10 +61,6 @@ class CanvasRenderingContext2DUserData;
|
||||
class CanvasDrawObserver;
|
||||
class CanvasShutdownObserver;
|
||||
|
||||
class DOMMatrix;
|
||||
class DOMMatrixReadOnly;
|
||||
struct DOMMatrix2DInit;
|
||||
|
||||
/**
|
||||
** CanvasRenderingContext2D
|
||||
**/
|
||||
@ -95,12 +91,9 @@ class CanvasRenderingContext2D final : public nsICanvasRenderingContextInternal,
|
||||
void Translate(double aX, double aY, mozilla::ErrorResult& aError) override;
|
||||
void Transform(double aM11, double aM12, double aM21, double aM22, double aDx,
|
||||
double aDy, mozilla::ErrorResult& aError) override;
|
||||
already_AddRefed<DOMMatrix> GetTransform(mozilla::ErrorResult& aError) override;
|
||||
void SetTransform(double aM11, double aM12, double aM21, double aM22,
|
||||
double aDx, double aDy,
|
||||
mozilla::ErrorResult& aError) override;
|
||||
void SetTransform(const DOMMatrix2DInit& aInit,
|
||||
mozilla::ErrorResult& aError) override;
|
||||
void ResetTransform(mozilla::ErrorResult& aError) override;
|
||||
|
||||
double GlobalAlpha() override { return CurrentState().globalAlpha; }
|
||||
|
@ -309,7 +309,7 @@ test(function() {
|
||||
m1 = m1.inverse();
|
||||
|
||||
var m2 = new DOMMatrix(new Array(16).fill(NaN));
|
||||
assert_true(CompareMatrix(m1, m2), "Inverting a non-invertible matrix should set all attributes to NaN.")
|
||||
assert_true(CompareMatrix(m1, m2), "Inverting an invertible matrix should set all attributes to NaN.")
|
||||
}, "Test that inverting an invertible matrix throws.");
|
||||
|
||||
test(function() {
|
||||
|
@ -151,6 +151,7 @@ interface CanvasState {
|
||||
[NoInterfaceObject]
|
||||
interface CanvasTransform {
|
||||
// transformations (default transform is the identity matrix)
|
||||
// NOT IMPLEMENTED attribute SVGMatrix currentTransform;
|
||||
[Throws, LenientFloat]
|
||||
void scale(double x, double y);
|
||||
[Throws, LenientFloat]
|
||||
@ -159,13 +160,9 @@ interface CanvasTransform {
|
||||
void translate(double x, double y);
|
||||
[Throws, LenientFloat]
|
||||
void transform(double a, double b, double c, double d, double e, double f);
|
||||
|
||||
[NewObject, Throws] DOMMatrix getTransform();
|
||||
[Throws, LenientFloat]
|
||||
void setTransform(double a, double b, double c, double d, double e, double f);
|
||||
[Throws]
|
||||
void setTransform(optional DOMMatrix2DInit transform = {});
|
||||
[Throws]
|
||||
void resetTransform();
|
||||
};
|
||||
|
||||
|
@ -48,15 +48,6 @@ class BaseMatrix {
|
||||
T components[6];
|
||||
};
|
||||
|
||||
template <class T2>
|
||||
explicit BaseMatrix(const BaseMatrix<T2>& aOther)
|
||||
: _11(aOther._11),
|
||||
_12(aOther._12),
|
||||
_21(aOther._21),
|
||||
_22(aOther._22),
|
||||
_31(aOther._31),
|
||||
_32(aOther._32) {}
|
||||
|
||||
MOZ_ALWAYS_INLINE BaseMatrix Copy() const { return BaseMatrix<T>(*this); }
|
||||
|
||||
friend std::ostream& operator<<(std::ostream& aStream,
|
||||
|
@ -0,0 +1,4 @@
|
||||
[2d.voidreturn.html]
|
||||
[void methods return undefined]
|
||||
expected: FAIL
|
||||
|
@ -0,0 +1,4 @@
|
||||
[2d.transformation.setTransform.multiple.html]
|
||||
[Canvas test: 2d.transformation.setTransform.multiple]
|
||||
expected: FAIL
|
||||
|
@ -1,255 +1,775 @@
|
||||
[DOMMatrix2DInit-validate-fixup.html]
|
||||
[Sanity check without dictionary]
|
||||
expected: FAIL
|
||||
|
||||
[{m13: 1, is2D: true}]
|
||||
expected: FAIL
|
||||
|
||||
[{m14: 1, is2D: true}]
|
||||
expected: FAIL
|
||||
|
||||
[{m23: 1, is2D: true}]
|
||||
expected: FAIL
|
||||
|
||||
[{m24: 1, is2D: true}]
|
||||
expected: FAIL
|
||||
|
||||
[{m31: 1, is2D: true}]
|
||||
expected: FAIL
|
||||
|
||||
[{m32: 1, is2D: true}]
|
||||
expected: FAIL
|
||||
|
||||
[{m33: 0, is2D: true}]
|
||||
expected: FAIL
|
||||
|
||||
[{m33: -0, is2D: true}]
|
||||
expected: FAIL
|
||||
|
||||
[{m33: -1, is2D: true}]
|
||||
expected: FAIL
|
||||
|
||||
[{m34: 1, is2D: true}]
|
||||
expected: FAIL
|
||||
|
||||
[{m43: 1, is2D: true}]
|
||||
expected: FAIL
|
||||
|
||||
[{m44: 0, is2D: true}]
|
||||
expected: FAIL
|
||||
|
||||
[{}]
|
||||
expected: FAIL
|
||||
|
||||
[{is2D: undefined}]
|
||||
expected: FAIL
|
||||
|
||||
[{a: 1, m11: 1}]
|
||||
expected: FAIL
|
||||
|
||||
[{b: 0, m12: undefined}]
|
||||
expected: FAIL
|
||||
|
||||
[{c: 0, m21: 0}]
|
||||
expected: FAIL
|
||||
|
||||
[{c: 0, m21: -0}]
|
||||
expected: FAIL
|
||||
|
||||
[{c: -0, m21: 0}]
|
||||
expected: FAIL
|
||||
|
||||
[{c: -0, m21: -0}]
|
||||
expected: FAIL
|
||||
|
||||
[{d: Infinity, m22: Infinity}]
|
||||
expected: FAIL
|
||||
|
||||
[{e: -Infinity, m41: -Infinity}]
|
||||
expected: FAIL
|
||||
|
||||
[{f: NaN, m42: NaN}]
|
||||
expected: FAIL
|
||||
|
||||
[{f: NaN, m42: NaN, is2D: true}]
|
||||
expected: FAIL
|
||||
|
||||
[{f: 0, m42: null}]
|
||||
expected: FAIL
|
||||
|
||||
[{f: -0, m42: null}]
|
||||
expected: FAIL
|
||||
|
||||
[{a: 2}]
|
||||
expected: FAIL
|
||||
|
||||
[{b: 2}]
|
||||
expected: FAIL
|
||||
|
||||
[{c: 2}]
|
||||
expected: FAIL
|
||||
|
||||
[{d: 2}]
|
||||
expected: FAIL
|
||||
|
||||
[{e: 2}]
|
||||
expected: FAIL
|
||||
|
||||
[{f: 2}]
|
||||
expected: FAIL
|
||||
|
||||
[{a: -0, b: -0, c: -0, d: -0, e: -0, f: -0}]
|
||||
expected: FAIL
|
||||
|
||||
[{a: -0, b: -0, c: -0, d: -0, e: -0, f: -0, is2D: true}]
|
||||
expected: FAIL
|
||||
|
||||
[{m11: 2}]
|
||||
expected: FAIL
|
||||
|
||||
[{m12: 2}]
|
||||
expected: FAIL
|
||||
|
||||
[{m21: 2}]
|
||||
expected: FAIL
|
||||
|
||||
[{m22: 2}]
|
||||
expected: FAIL
|
||||
|
||||
[{m41: 2}]
|
||||
expected: FAIL
|
||||
|
||||
[{m42: 2}]
|
||||
expected: FAIL
|
||||
|
||||
[{m11: -0, m12: -0, m21: -0, m22: -0, m41: -0, m42: -0}]
|
||||
expected: FAIL
|
||||
|
||||
[{m11: -0, m12: -0, m21: -0, m22: -0, m41: -0, m42: -0, is2D: true}]
|
||||
expected: FAIL
|
||||
|
||||
[{m13: 0, is2D: true}]
|
||||
expected: FAIL
|
||||
|
||||
[{m13: -0, is2D: true}]
|
||||
expected: FAIL
|
||||
|
||||
[{m14: 0, is2D: true}]
|
||||
expected: FAIL
|
||||
|
||||
[{m14: -0, is2D: true}]
|
||||
expected: FAIL
|
||||
|
||||
[{m23: 0, is2D: true}]
|
||||
expected: FAIL
|
||||
|
||||
[{m23: -0, is2D: true}]
|
||||
expected: FAIL
|
||||
|
||||
[{m24: 0, is2D: true}]
|
||||
expected: FAIL
|
||||
|
||||
[{m24: -0, is2D: true}]
|
||||
expected: FAIL
|
||||
|
||||
[{m31: 0, is2D: true}]
|
||||
expected: FAIL
|
||||
|
||||
[{m31: -0, is2D: true}]
|
||||
expected: FAIL
|
||||
|
||||
[{m32: 0, is2D: true}]
|
||||
expected: FAIL
|
||||
|
||||
[{m32: -0, is2D: true}]
|
||||
expected: FAIL
|
||||
|
||||
[{m33: 1, is2D: true}]
|
||||
expected: FAIL
|
||||
|
||||
[{m34: 0, is2D: true}]
|
||||
expected: FAIL
|
||||
|
||||
[{m34: -0, is2D: true}]
|
||||
expected: FAIL
|
||||
|
||||
[{m43: 0, is2D: true}]
|
||||
expected: FAIL
|
||||
|
||||
[{m43: -0, is2D: true}]
|
||||
expected: FAIL
|
||||
|
||||
[{m44: 1, is2D: true}]
|
||||
expected: FAIL
|
||||
|
||||
[{is2D: true}]
|
||||
expected: FAIL
|
||||
|
||||
[{m13: 1, is2D: false}]
|
||||
expected: FAIL
|
||||
|
||||
[{m14: 1, is2D: false}]
|
||||
expected: FAIL
|
||||
|
||||
[{m23: 1, is2D: false}]
|
||||
expected: FAIL
|
||||
|
||||
[{m24: 1, is2D: false}]
|
||||
expected: FAIL
|
||||
|
||||
[{m31: 1, is2D: false}]
|
||||
expected: FAIL
|
||||
|
||||
[{m32: 1, is2D: false}]
|
||||
expected: FAIL
|
||||
|
||||
[{m33: 0, is2D: false}]
|
||||
expected: FAIL
|
||||
|
||||
[{m33: -0, is2D: false}]
|
||||
expected: FAIL
|
||||
|
||||
[{m33: -1, is2D: false}]
|
||||
expected: FAIL
|
||||
|
||||
[{m34: 1, is2D: false}]
|
||||
expected: FAIL
|
||||
|
||||
[{m43: 1, is2D: false}]
|
||||
expected: FAIL
|
||||
|
||||
[{m44: 0, is2D: false}]
|
||||
expected: FAIL
|
||||
|
||||
[{m13: 1}]
|
||||
expected: FAIL
|
||||
|
||||
[{m14: 1}]
|
||||
expected: FAIL
|
||||
|
||||
[{m23: 1}]
|
||||
expected: FAIL
|
||||
|
||||
[{m24: 1}]
|
||||
expected: FAIL
|
||||
|
||||
[{m31: 1}]
|
||||
expected: FAIL
|
||||
|
||||
[{m32: 1}]
|
||||
expected: FAIL
|
||||
|
||||
[{m33: 0}]
|
||||
expected: FAIL
|
||||
|
||||
[{m34: 1}]
|
||||
expected: FAIL
|
||||
|
||||
[{m43: 1}]
|
||||
expected: FAIL
|
||||
|
||||
[{m44: 0}]
|
||||
expected: FAIL
|
||||
|
||||
[{is2D: false}]
|
||||
expected: FAIL
|
||||
|
||||
[{is2D: null}]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform (Sanity check without dictionary)]
|
||||
expected: FAIL
|
||||
|
||||
[addPath (Sanity check without second parameter)]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({m13: 1, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({m13: 1, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({m14: 1, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({m14: 1, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({m23: 1, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({m23: 1, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({m24: 1, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({m24: 1, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({m31: 1, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({m31: 1, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({m32: 1, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({m32: 1, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({m33: 0, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({m33: 0, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({m33: -0, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({m33: -0, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({m33: -1, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({m33: -1, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({m34: 1, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({m34: 1, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({m43: 1, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({m43: 1, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({m44: 0, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({m44: 0, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({is2D: undefined})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({is2D: undefined})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({a: 1, m11: 1})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({a: 1, m11: 1})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({b: 0, m12: undefined})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({b: 0, m12: undefined})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({c: 0, m21: 0})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({c: 0, m21: 0})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({c: 0, m21: -0})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({c: 0, m21: -0})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({c: -0, m21: 0})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({c: -0, m21: 0})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({c: -0, m21: -0})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({c: -0, m21: -0})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({d: Infinity, m22: Infinity})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({d: Infinity, m22: Infinity})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({e: -Infinity, m41: -Infinity})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({e: -Infinity, m41: -Infinity})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({f: NaN, m42: NaN})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({f: NaN, m42: NaN})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({f: NaN, m42: NaN, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({f: NaN, m42: NaN, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({f: 0, m42: null})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({f: 0, m42: null})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({f: -0, m42: null})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({f: -0, m42: null})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({a: 2})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({a: 2})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({b: 2})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({b: 2})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({c: 2})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({c: 2})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({d: 2})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({d: 2})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({e: 2})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({e: 2})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({f: 2})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({f: 2})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({a: -0, b: -0, c: -0, d: -0, e: -0, f: -0})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({a: -0, b: -0, c: -0, d: -0, e: -0, f: -0})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({a: -0, b: -0, c: -0, d: -0, e: -0, f: -0, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({a: -0, b: -0, c: -0, d: -0, e: -0, f: -0, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({m11: 2})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({m11: 2})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({m12: 2})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({m12: 2})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({m21: 2})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({m21: 2})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({m22: 2})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({m22: 2})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({m41: 2})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({m41: 2})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({m42: 2})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({m42: 2})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({m11: -0, m12: -0, m21: -0, m22: -0, m41: -0, m42: -0})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({m11: -0, m12: -0, m21: -0, m22: -0, m41: -0, m42: -0})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({m11: -0, m12: -0, m21: -0, m22: -0, m41: -0, m42: -0, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({m11: -0, m12: -0, m21: -0, m22: -0, m41: -0, m42: -0, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({m13: 0, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({m13: 0, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({m13: -0, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({m13: -0, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({m14: 0, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({m14: 0, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({m14: -0, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({m14: -0, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({m23: 0, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({m23: 0, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({m23: -0, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({m23: -0, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({m24: 0, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({m24: 0, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({m24: -0, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({m24: -0, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({m31: 0, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({m31: 0, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({m31: -0, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({m31: -0, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({m32: 0, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({m32: 0, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({m32: -0, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({m32: -0, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({m33: 1, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({m33: 1, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({m34: 0, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({m34: 0, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({m34: -0, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({m34: -0, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({m43: 0, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({m43: 0, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({m43: -0, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({m43: -0, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({m44: 1, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({m44: 1, is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({is2D: true})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({m13: 1, is2D: false})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({m13: 1, is2D: false})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({m14: 1, is2D: false})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({m14: 1, is2D: false})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({m23: 1, is2D: false})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({m23: 1, is2D: false})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({m24: 1, is2D: false})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({m24: 1, is2D: false})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({m31: 1, is2D: false})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({m31: 1, is2D: false})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({m32: 1, is2D: false})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({m32: 1, is2D: false})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({m33: 0, is2D: false})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({m33: 0, is2D: false})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({m33: -0, is2D: false})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({m33: -0, is2D: false})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({m33: -1, is2D: false})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({m33: -1, is2D: false})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({m34: 1, is2D: false})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({m34: 1, is2D: false})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({m43: 1, is2D: false})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({m43: 1, is2D: false})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({m44: 0, is2D: false})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({m44: 0, is2D: false})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({m13: 1})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({m13: 1})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({m14: 1})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({m14: 1})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({m23: 1})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({m23: 1})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({m24: 1})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({m24: 1})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({m31: 1})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({m31: 1})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({m32: 1})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({m32: 1})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({m33: 0})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({m33: 0})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({m34: 1})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({m34: 1})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({m43: 1})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({m43: 1})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({m44: 0})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({m44: 0})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({is2D: false})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({is2D: false})]
|
||||
expected: FAIL
|
||||
|
||||
[setTransform({is2D: null})]
|
||||
expected: FAIL
|
||||
|
||||
[addPath({is2D: null})]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -532,6 +532,15 @@ prefs: [dom.security.featurePolicy.enabled:true]
|
||||
[VideoTrack interface: attribute selected]
|
||||
expected: FAIL
|
||||
|
||||
[CanvasRenderingContext2D interface: operation getTransform()]
|
||||
expected: FAIL
|
||||
|
||||
[CanvasRenderingContext2D interface: operation setTransform(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double)]
|
||||
expected: FAIL
|
||||
|
||||
[CanvasRenderingContext2D interface: operation setTransform(DOMMatrix2DInit)]
|
||||
expected: FAIL
|
||||
|
||||
[CanvasRenderingContext2D interface: attribute imageSmoothingQuality]
|
||||
expected: FAIL
|
||||
|
||||
@ -547,6 +556,9 @@ prefs: [dom.security.featurePolicy.enabled:true]
|
||||
[CanvasRenderingContext2D interface: attribute direction]
|
||||
expected: FAIL
|
||||
|
||||
[CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "getTransform()" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
[CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "imageSmoothingQuality" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user