commit a09cc08c820eaa310d0dd83d252d5dadb992a3a6
parent 5f98792acd9dcd4c90718fbae42bb3865435376c
Author: Jamie Nicol <jnicol@mozilla.com>
Date: Mon, 8 Dec 2025 13:23:46 +0000
Bug 2004135 - Handle error case in CanvasToDataSourceSurface(). r=gfx-reviewers,nical
If SurfaceFromElement::GetSourceSurface() returns null, then return
null. This is correctly handled by the calling function
CompareCanvases.
Differential Revision: https://phabricator.services.mozilla.com/D275213
Diffstat:
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/dom/base/nsDOMWindowUtils.cpp b/dom/base/nsDOMWindowUtils.cpp
@@ -1583,9 +1583,11 @@ static already_AddRefed<DataSourceSurface> CanvasToDataSourceSurface(
HTMLCanvasElement* aCanvas) {
MOZ_ASSERT(aCanvas);
SurfaceFromElementResult result = nsLayoutUtils::SurfaceFromElement(aCanvas);
-
- MOZ_ASSERT(result.GetSourceSurface());
- return result.GetSourceSurface()->GetDataSurface();
+ const RefPtr<SourceSurface> surf = result.GetSourceSurface();
+ if (!surf) {
+ return nullptr;
+ }
+ return surf->GetDataSurface();
}
NS_IMETHODIMP