commit b6b02cefea71e23351057fe45ea31fcacf091b93
parent f3c68965b8f712efc829bf440525f0173d76a530
Author: Tom Ritter <tom@mozilla.com>
Date: Fri, 3 Oct 2025 16:03:17 +0000
Bug 1980264: Rename a variable to be more generic r=timhuang
ImageExtractionResult can be one of three values, soon to be four,
so do not call its result 'spoofing' as that's too specific.
Differential Revision: https://phabricator.services.mozilla.com/D267094
Diffstat:
3 files changed, 27 insertions(+), 25 deletions(-)
diff --git a/dom/canvas/CanvasRenderingContext2D.cpp b/dom/canvas/CanvasRenderingContext2D.cpp
@@ -6531,14 +6531,14 @@ nsresult CanvasRenderingContext2D::GetImageDataArray(
mBufferProvider->ReturnSnapshot(snapshot.forget());
// Check for site-specific permission.
- CanvasUtils::ImageExtraction permission =
+ CanvasUtils::ImageExtraction extractionBehavior =
CanvasUtils::ImageExtraction::Unrestricted;
if (mCanvasElement) {
- permission = CanvasUtils::ImageExtractionResult(mCanvasElement, aCx,
- &aSubjectPrincipal);
+ extractionBehavior = CanvasUtils::ImageExtractionResult(mCanvasElement, aCx,
+ &aSubjectPrincipal);
} else if (mOffscreenCanvas) {
- permission = CanvasUtils::ImageExtractionResult(mOffscreenCanvas, aCx,
- &aSubjectPrincipal);
+ extractionBehavior = CanvasUtils::ImageExtractionResult(
+ mOffscreenCanvas, aCx, &aSubjectPrincipal);
}
// Clone the data source surface if canvas randomization is enabled. We need
@@ -6547,7 +6547,7 @@ nsresult CanvasRenderingContext2D::GetImageDataArray(
//
// Note that we don't need to clone if we will use the place holder because
// the place holder doesn't use actual image data.
- if (permission == CanvasUtils::ImageExtraction::Randomize) {
+ if (extractionBehavior == CanvasUtils::ImageExtraction::Randomize) {
if (readback) {
readback = CreateDataSourceSurfaceByCloning(readback);
}
@@ -6560,12 +6560,12 @@ nsresult CanvasRenderingContext2D::GetImageDataArray(
do {
uint8_t* randomData;
- if (permission == CanvasUtils::ImageExtraction::Placeholder) {
+ if (extractionBehavior == CanvasUtils::ImageExtraction::Placeholder) {
// Since we cannot call any GC-able functions (like requesting the RNG
// service) after we call JS_GetUint8ClampedArrayData, we will
// pre-generate the randomness required for GeneratePlaceholderCanvasData.
randomData = TryToGenerateRandomDataForPlaceholderCanvasData();
- } else if (permission == CanvasUtils::ImageExtraction::Randomize) {
+ } else if (extractionBehavior == CanvasUtils::ImageExtraction::Randomize) {
// Apply the random noises if canvan randomization is enabled. We don't
// need to calculate random noises if we are going to use the place
// holder.
@@ -6582,7 +6582,7 @@ nsresult CanvasRenderingContext2D::GetImageDataArray(
uint8_t* data = JS_GetUint8ClampedArrayData(darray, &isShared, nogc);
MOZ_ASSERT(!isShared); // Should not happen, data was created above
- if (permission == CanvasUtils::ImageExtraction::Placeholder) {
+ if (extractionBehavior == CanvasUtils::ImageExtraction::Placeholder) {
FillPlaceholderCanvas(randomData, len.value(), data);
break;
}
diff --git a/dom/canvas/OffscreenCanvas.cpp b/dom/canvas/OffscreenCanvas.cpp
@@ -510,13 +510,14 @@ already_AddRefed<Promise> OffscreenCanvas::ConvertToBlob(
RefPtr<EncodeCompleteCallback> callback =
CreateEncodeCompleteCallback(promise);
- CanvasUtils::ImageExtraction spoofing = CanvasUtils::ImageExtractionResult(
- this, nsContentUtils::GetCurrentJSContext(),
- mCurrentContext ? mCurrentContext->PrincipalOrNull() : nullptr);
+ CanvasUtils::ImageExtraction extractionBehaviour =
+ CanvasUtils::ImageExtractionResult(
+ this, nsContentUtils::GetCurrentJSContext(),
+ mCurrentContext ? mCurrentContext->PrincipalOrNull() : nullptr);
CanvasRenderingContextHelper::ToBlob(callback, type, encodeOptions,
/* aUsingCustomOptions */ false,
- spoofing, aRv);
+ extractionBehaviour, aRv);
if (aRv.Failed()) {
promise->MaybeReject(std::move(aRv));
}
@@ -554,11 +555,12 @@ already_AddRefed<Promise> OffscreenCanvas::ToBlob(JSContext* aCx,
RefPtr<EncodeCompleteCallback> callback =
CreateEncodeCompleteCallback(promise);
- CanvasUtils::ImageExtraction spoofing = CanvasUtils::ImageExtractionResult(
- this, aCx,
- mCurrentContext ? mCurrentContext->PrincipalOrNull() : nullptr);
- CanvasRenderingContextHelper::ToBlob(aCx, callback, aType, aParams, spoofing,
- aRv);
+ CanvasUtils::ImageExtraction extractionBehaviour =
+ CanvasUtils::ImageExtractionResult(
+ this, aCx,
+ mCurrentContext ? mCurrentContext->PrincipalOrNull() : nullptr);
+ CanvasRenderingContextHelper::ToBlob(aCx, callback, aType, aParams,
+ extractionBehaviour, aRv);
return promise.forget();
}
diff --git a/dom/html/HTMLCanvasElement.cpp b/dom/html/HTMLCanvasElement.cpp
@@ -902,12 +902,12 @@ already_AddRefed<CanvasCaptureMediaStream> HTMLCanvasElement::CaptureStream(
// Check site-specific permission and display prompt if appropriate.
// If no permission, arrange for the frame capture listener to return
// all-white, opaque image data.
- CanvasUtils::ImageExtraction spoofing =
+ CanvasUtils::ImageExtraction extractionBehaviour =
CanvasUtils::ImageExtractionResult(this, nullptr, &aSubjectPrincipal);
rv = RegisterFrameCaptureListener(
stream->FrameCaptureListener(),
- spoofing == CanvasUtils::ImageExtraction::Placeholder);
+ extractionBehaviour == CanvasUtils::ImageExtraction::Placeholder);
if (NS_FAILED(rv)) {
aRv.Throw(rv);
return nullptr;
@@ -923,10 +923,10 @@ nsresult HTMLCanvasElement::ExtractData(JSContext* aCx,
nsIInputStream** aStream) {
// Check site-specific permission and display prompt if appropriate.
// If no permission, return all-white, opaque image data.
- CanvasUtils::ImageExtraction spoofing =
+ CanvasUtils::ImageExtraction extractionBehaviour =
CanvasUtils::ImageExtractionResult(this, aCx, &aSubjectPrincipal);
- if (spoofing != CanvasUtils::ImageExtraction::Placeholder) {
+ if (extractionBehaviour != CanvasUtils::ImageExtraction::Placeholder) {
auto size = GetWidthHeight();
CanvasContextType type = GetCurrentContextType();
CanvasFeatureUsage featureUsage = CanvasFeatureUsage::None;
@@ -1036,7 +1036,7 @@ void HTMLCanvasElement::ToBlob(JSContext* aCx, BlobCallback& aCallback,
// Check site-specific permission and display prompt if appropriate.
// If no permission, return all-white, opaque image data.
- CanvasUtils::ImageExtraction spoofing =
+ CanvasUtils::ImageExtraction extractionBehaviour =
CanvasUtils::ImageExtractionResult(this, aCx, &aSubjectPrincipal);
// Encoder callback when encoding is complete.
@@ -1090,8 +1090,8 @@ void HTMLCanvasElement::ToBlob(JSContext* aCx, BlobCallback& aCallback,
global, &aCallback, recheckCanRead ? mOffscreenDisplay.get() : nullptr,
recheckCanRead ? &aSubjectPrincipal : nullptr);
- CanvasRenderingContextHelper::ToBlob(aCx, callback, aType, aParams, spoofing,
- aRv);
+ CanvasRenderingContextHelper::ToBlob(aCx, callback, aType, aParams,
+ extractionBehaviour, aRv);
}
OffscreenCanvas* HTMLCanvasElement::TransferControlToOffscreen(