From 41331aab95ad338ec52cea0394e82b74925d8e80 Mon Sep 17 00:00:00 2001 From: Peter Van der Beken Date: Thu, 28 Jul 2022 17:55:15 +0000 Subject: [PATCH] Bug 1769155 - Null-check win in setter for IsActiveBrowserWindowInternal. r=smaug Differential Revision: https://phabricator.services.mozilla.com/D148914 --- docshell/base/BrowsingContext.cpp | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/docshell/base/BrowsingContext.cpp b/docshell/base/BrowsingContext.cpp index a0b4b4643a74..4b4c20d5d04e 100644 --- a/docshell/base/BrowsingContext.cpp +++ b/docshell/base/BrowsingContext.cpp @@ -2998,19 +2998,21 @@ void BrowsingContext::DidSet(FieldIndex, doc->UpdateDocumentStates(DocumentState::WINDOW_INACTIVE, true); RefPtr win = doc->GetInnerWindow(); - RefPtr devices; - if (isActivateEvent && (devices = win->GetExtantMediaDevices())) { - devices->BrowserWindowBecameActive(); - } + if (win) { + RefPtr devices; + if (isActivateEvent && (devices = win->GetExtantMediaDevices())) { + devices->BrowserWindowBecameActive(); + } - if (XRE_IsContentProcess() && - (!aContext->GetParent() || !aContext->GetParent()->IsInProcess())) { - // Send the inner window an activate/deactivate event if - // the context is the top of a sub-tree of in-process - // contexts. - nsContentUtils::DispatchEventOnlyToChrome( - doc, win, isActivateEvent ? u"activate"_ns : u"deactivate"_ns, - CanBubble::eYes, Cancelable::eYes, nullptr); + if (XRE_IsContentProcess() && + (!aContext->GetParent() || !aContext->GetParent()->IsInProcess())) { + // Send the inner window an activate/deactivate event if + // the context is the top of a sub-tree of in-process + // contexts. + nsContentUtils::DispatchEventOnlyToChrome( + doc, win, isActivateEvent ? u"activate"_ns : u"deactivate"_ns, + CanBubble::eYes, Cancelable::eYes, nullptr); + } } } });