Bug 1294360 - Remove mozCurrentTransform. r=emilio

Differential Revision: https://phabricator.services.mozilla.com/D160998
This commit is contained in:
Mathew Hodson 2022-11-08 12:42:23 +00:00
parent de94ccb4e0
commit 989ac59e8d
9 changed files with 0 additions and 179 deletions

View file

@ -60,6 +60,4 @@ DEPRECATED_OPERATION(DocumentReleaseCapture)
DEPRECATED_OPERATION(OffscreenCanvasToBlob)
DEPRECATED_OPERATION(IDBDatabaseCreateMutableFile)
DEPRECATED_OPERATION(IDBMutableFileOpen)
DEPRECATED_OPERATION(MozCurrentTransform)
DEPRECATED_OPERATION(MozCurrentTransformInverse)
DEPRECATED_OPERATION(MozPreservesPitchDeprecatedPrefix)

View file

@ -2016,113 +2016,6 @@ void CanvasRenderingContext2D::ResetTransform(ErrorResult& aError) {
SetTransform(1.0, 0.0, 0.0, 1.0, 0.0, 0.0, aError);
}
static void MatrixToJSObject(JSContext* aCx, const Matrix& aMatrix,
JS::MutableHandle<JSObject*> aResult,
ErrorResult& aError) {
double elts[6] = {aMatrix._11, aMatrix._12, aMatrix._21,
aMatrix._22, aMatrix._31, aMatrix._32};
// XXX Should we enter GetWrapper()'s compartment?
JS::Rooted<JS::Value> val(aCx);
if (!ToJSValue(aCx, elts, &val)) {
aError.Throw(NS_ERROR_OUT_OF_MEMORY);
} else {
aResult.set(&val.toObject());
}
}
static bool ObjectToMatrix(JSContext* aCx, JS::Handle<JSObject*> aObj,
Matrix& aMatrix, ErrorResult& aError) {
uint32_t length;
if (!JS::GetArrayLength(aCx, aObj, &length) || length != 6) {
// Not an array-like thing or wrong size
aError.Throw(NS_ERROR_INVALID_ARG);
return false;
}
Float* elts[] = {&aMatrix._11, &aMatrix._12, &aMatrix._21,
&aMatrix._22, &aMatrix._31, &aMatrix._32};
for (uint32_t i = 0; i < 6; ++i) {
JS::Rooted<JS::Value> elt(aCx);
double d;
if (!JS_GetElement(aCx, aObj, i, &elt)) {
aError.Throw(NS_ERROR_FAILURE);
return false;
}
if (!CoerceDouble(elt, &d)) {
aError.Throw(NS_ERROR_INVALID_ARG);
return false;
}
if (!FloatValidate(d)) {
// This is weird, but it's the behavior of SetTransform()
return false;
}
*elts[i] = Float(d);
}
return true;
}
void CanvasRenderingContext2D::SetMozCurrentTransform(
JSContext* aCx, JS::Handle<JSObject*> aCurrentTransform,
ErrorResult& aError) {
EnsureTarget();
if (!IsTargetValid()) {
aError.Throw(NS_ERROR_FAILURE);
return;
}
Matrix newCTM;
if (ObjectToMatrix(aCx, aCurrentTransform, newCTM, aError) &&
newCTM.IsFinite()) {
mTarget->SetTransform(newCTM);
}
}
void CanvasRenderingContext2D::GetMozCurrentTransform(
JSContext* aCx, JS::MutableHandle<JSObject*> aResult, ErrorResult& aError) {
EnsureTarget();
MatrixToJSObject(aCx, mTarget ? mTarget->GetTransform() : Matrix(), aResult,
aError);
}
void CanvasRenderingContext2D::SetMozCurrentTransformInverse(
JSContext* aCx, JS::Handle<JSObject*> aCurrentTransform,
ErrorResult& aError) {
EnsureTarget();
if (!IsTargetValid()) {
aError.Throw(NS_ERROR_FAILURE);
return;
}
Matrix newCTMInverse;
if (ObjectToMatrix(aCx, aCurrentTransform, newCTMInverse, aError)) {
// XXX ERRMSG we need to report an error to developers here! (bug 329026)
if (newCTMInverse.Invert() && newCTMInverse.IsFinite()) {
mTarget->SetTransform(newCTMInverse);
}
}
}
void CanvasRenderingContext2D::GetMozCurrentTransformInverse(
JSContext* aCx, JS::MutableHandle<JSObject*> aResult, ErrorResult& aError) {
EnsureTarget();
if (!mTarget) {
MatrixToJSObject(aCx, Matrix(), aResult, aError);
return;
}
Matrix ctm = mTarget->GetTransform();
if (!ctm.Invert()) {
double NaN = JS::GenericNaN();
ctm = Matrix(NaN, NaN, NaN, NaN, NaN, NaN);
}
MatrixToJSObject(aCx, ctm, aResult, aError);
}
//
// colors
//

View file

@ -372,18 +372,6 @@ class CanvasRenderingContext2D : public nsICanvasRenderingContextInternal,
double aRotation, double aStartAngle, double aEndAngle,
bool aAnticlockwise, ErrorResult& aError) override;
void GetMozCurrentTransform(JSContext* aCx,
JS::MutableHandle<JSObject*> aResult,
mozilla::ErrorResult& aError);
void SetMozCurrentTransform(JSContext* aCx,
JS::Handle<JSObject*> aCurrentTransform,
mozilla::ErrorResult& aError);
void GetMozCurrentTransformInverse(JSContext* aCx,
JS::MutableHandle<JSObject*> aResult,
mozilla::ErrorResult& aError);
void SetMozCurrentTransformInverse(JSContext* aCx,
JS::Handle<JSObject*> aCurrentTransform,
mozilla::ErrorResult& aError);
void GetFillRule(nsAString& aFillRule);
void SetFillRule(const nsAString& aFillRule);

View file

@ -439,10 +439,5 @@ InstallTriggerDeprecatedWarning=InstallTrigger is deprecated and will be removed
# LOCALIZATION NOTE: Do not translate "InstallTrigger.install()"
InstallTriggerInstallDeprecatedWarning=InstallTrigger.install() is deprecated and will be removed in the future. For more help https://extensionworkshop.com/documentation/publish/self-distribution/
# LOCALIZATION NOTE: Do not translate "mozCurrentTransform", "CanvasRenderingContext2D.getTransform()", and "CanvasRenderingContext2D.setTransform()".
MozCurrentTransformWarning=mozCurrentTransform is deprecated and will be removed in the future. Use CanvasRenderingContext2D.getTransform() or CanvasRenderingContext2D.setTransform() instead.
# LOCALIZATION NOTE: Do not translate "mozCurrentTransformInverse", "CanvasRenderingContext2D.getTransform()", and "CanvasRenderingContext2D.setTransform()".
MozCurrentTransformInverseWarning=mozCurrentTransformInverse is deprecated and will be removed in the future. Use CanvasRenderingContext2D.getTransform() or CanvasRenderingContext2D.setTransform() instead.
# LOCALIZATION NOTE: Do not translate "HTMLOptionsCollection.length". %1$S is the invalid value, %2$S is the current limit.
SelectOptionsLengthAssignmentWarning=Refused to expand <select> option list via assignment to HTMLOptionsCollection.length (value %1$S). The maximum supported size is %2$S.

View file

@ -43,16 +43,6 @@ interface CanvasRenderingContext2D {
// associated with a canvas.
readonly attribute HTMLCanvasElement? canvas;
// Mozilla-specific stuff
[Deprecated="MozCurrentTransform",
Pref="dom.mozCurrentTransform.enabled",
Throws]
attribute object mozCurrentTransform; // [ m11, m12, m21, m22, dx, dy ], i.e. row major
[Deprecated="MozCurrentTransformInverse",
Pref="dom.mozCurrentTransform.enabled",
Throws]
attribute object mozCurrentTransformInverse;
[SetterThrows]
attribute UTF8String mozTextStyle;

View file

@ -1,18 +0,0 @@
<html>
<head>
<script type="text/javascript">
window.onload = function() {
var ctx = document.getElementById("c1").getContext("2d");
ctx.setTransform(10, 0, 0, 1, 0, 0);
ctx.fillRect(1, 1, 10, 10);
ctx.setTransform(1, 0, 0, 10, 0, 0);
ctx.fillRect(150, 1, 10, 10);
}
</script>
</head>
<body style="padding: 0px; margin: 0px;">
<div><canvas id="c1" width="300" height="300"></canvas></div>
</body>
</html>

View file

@ -1,18 +0,0 @@
<html>
<head>
<script type="text/javascript">
window.onload = function() {
var ctx = document.getElementById("c1").getContext("2d");
ctx.mozCurrentTransform = [ 10, 0, 0, 1, 0, 0 ];
ctx.fillRect(1, 1, 10, 10);
ctx.mozCurrentTransformInverse = [ 1, 0, 0, .1, 0, 0 ];
ctx.fillRect(150, 1, 10, 10);
}
</script>
</head>
<body style="padding: 0px; margin: 0px;">
<div><canvas id="c1" width="300" height="300"></canvas></div>
</body>
</html>

View file

@ -77,7 +77,6 @@ fuzzy(0-9,0-470) random-if(Android) == dash-1.html dash-1-ref.svg # Bug 668412 (
== ctm-sanity.html data:text/html,<body>Pass
== ctm-singular-sanity.html data:text/html,<body>Pass
pref(dom.mozCurrentTransform.enabled,true) fuzzy-if(/^Windows\x20NT\x2010\.0/.test(http.oscpu),0-1,0-45) == ctm-1.html ctm-1-ref.html
== 672646-alpha-radial-gradient.html 672646-alpha-radial-gradient-ref.html
fuzzy-if(/^Windows\x20NT\x2010\.0/.test(http.oscpu),0-1,0-45) == 674003-alpha-radial-gradient-superlum.html 674003-alpha-radial-gradient-superlum-ref.html

View file

@ -2083,12 +2083,6 @@
# Prefs starting with "dom."
#---------------------------------------------------------------------------
# Whether CanvasRenderingContext2D.mozCurrentTransform is enabled.
- name: dom.mozCurrentTransform.enabled
type: bool
value: false
mirror: always
# Allow cut/copy
- name: dom.allow_cut_copy
type: bool