From 7b395189acdbe2546cb913a2c2561bcc98700658 Mon Sep 17 00:00:00 2001 From: FranklinDM Date: Sat, 4 Mar 2023 13:01:56 +0800 Subject: [PATCH] Issue #2135 - Bug 1518795: Properly track responsive content in a connected ShadowRoot --- dom/base/nsImageLoadingContent.cpp | 12 +++++------- dom/html/HTMLImageElement.cpp | 5 +++-- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/dom/base/nsImageLoadingContent.cpp b/dom/base/nsImageLoadingContent.cpp index da49dd6beb..338d21291e 100644 --- a/dom/base/nsImageLoadingContent.cpp +++ b/dom/base/nsImageLoadingContent.cpp @@ -1430,13 +1430,11 @@ nsImageLoadingContent::BindToTree(nsIDocument* aDocument, nsIContent* aParent, nsIContent* aBindingParent, bool aCompileEventHandlers) { - // We may be entering the document, so if our image should be tracked, - // track it. - if (!aDocument) - return; - - TrackImage(mCurrentRequest); - TrackImage(mPendingRequest); + // We may be getting connected and our image should be tracked. + if (GetOurCurrentDoc()) { + TrackImage(mCurrentRequest); + TrackImage(mPendingRequest); + } if (mCurrentRequestFlags & REQUEST_BLOCKS_ONLOAD) aDocument->BlockOnload(); diff --git a/dom/html/HTMLImageElement.cpp b/dom/html/HTMLImageElement.cpp index b11cd101a0..b697dcabea 100644 --- a/dom/html/HTMLImageElement.cpp +++ b/dom/html/HTMLImageElement.cpp @@ -623,8 +623,9 @@ HTMLImageElement::BindToTree(nsIDocument* aDocument, nsIContent* aParent, } if (HaveSrcsetOrInPicture()) { - if (aDocument && !mInDocResponsiveContent) { - aDocument->AddResponsiveContent(this); + nsIDocument* doc = GetComposedDoc(); + if (doc && !mInDocResponsiveContent) { + doc->AddResponsiveContent(this); mInDocResponsiveContent = true; }