commit d95936a3127efd855bf5a109dd77063eccc1148d
parent 01c0e2b464a8bd75f9dbb39c11a700e97cc6e0f0
Author: Tim Huang <tihuang@mozilla.com>
Date: Wed, 31 Dec 2025 13:32:34 +0000
Bug 2007139 - Check the existence of the owner global before accessing in nsICanvasRenderingContextInternal::RecordCanvasUsage() for the offscreen canvas case. r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D277686
Diffstat:
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/dom/canvas/nsICanvasRenderingContextInternal.cpp b/dom/canvas/nsICanvasRenderingContextInternal.cpp
@@ -101,10 +101,12 @@ void nsICanvasRenderingContextInternal::RecordCanvasUsage(
auto usage =
mozilla::CanvasUsage::CreateUsage(true, contextType, aAPI, size, this);
if (NS_IsMainThread()) {
- if (nsPIDOMWindowInner* inner =
- mOffscreenCanvas->GetOwnerGlobal()->GetAsInnerWindow()) {
- if (mozilla::dom::Document* doc = inner->GetExtantDoc()) {
- doc->RecordCanvasUsage(usage);
+ nsIGlobalObject* global = mOffscreenCanvas->GetOwnerGlobal();
+ if (global) {
+ if (nsPIDOMWindowInner* inner = global->GetAsInnerWindow()) {
+ if (mozilla::dom::Document* doc = inner->GetExtantDoc()) {
+ doc->RecordCanvasUsage(usage);
+ }
}
}
} else {