Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 4c281591ca8b9afa56ba5eea72528ceb6de5c505
https://github.com/WebKit/WebKit/commit/4c281591ca8b9afa56ba5eea72528ceb6de5c505
Author: Chris Dumez <[email protected]>
Date: 2025-11-30 (Sun, 30 Nov 2025)
Changed paths:
M Source/WebCore/Modules/beacon/NavigatorBeacon.cpp
M Source/WebCore/Modules/beacon/NavigatorBeacon.h
M Source/WebCore/Modules/mediasession/MediaMetadata.cpp
M Source/WebCore/Modules/mediasession/MediaMetadata.h
M Source/WebCore/SaferCPPExpectations/UncheckedCallArgsCheckerExpectations
M Source/WebCore/SaferCPPExpectations/UncheckedLocalVarsCheckerExpectations
M Source/WebCore/bindings/js/CachedModuleScriptLoader.h
M Source/WebCore/bindings/js/CachedScriptSourceProvider.h
M Source/WebCore/bindings/js/WebAssemblyCachedScriptSourceProvider.h
M Source/WebCore/css/CSSFontFace.cpp
M Source/WebCore/css/CSSFontFaceSource.cpp
M Source/WebCore/css/CSSFontFaceSource.h
M Source/WebCore/css/CSSFontFaceSrcValue.cpp
M Source/WebCore/css/CSSFontFaceSrcValue.h
M Source/WebCore/css/StyleRuleImport.cpp
M Source/WebCore/css/StyleRuleImport.h
M Source/WebCore/dom/DataTransfer.cpp
M Source/WebCore/dom/DataTransfer.h
M Source/WebCore/dom/Document.cpp
M Source/WebCore/dom/Document.h
M Source/WebCore/dom/LoadableClassicScript.h
M Source/WebCore/dom/LoadableSpeculationRules.h
M Source/WebCore/dom/ProcessingInstruction.h
M Source/WebCore/dom/ScriptExecutionContext.cpp
M Source/WebCore/dom/ScriptExecutionContext.h
M Source/WebCore/html/HTMLImageLoader.h
M Source/WebCore/html/HTMLLinkElement.cpp
M Source/WebCore/html/HTMLLinkElement.h
M Source/WebCore/html/ImageInputType.cpp
M Source/WebCore/html/track/LoadableTextTrack.cpp
M Source/WebCore/html/track/LoadableTextTrack.h
M Source/WebCore/inspector/InspectorAuditResourcesObject.cpp
M Source/WebCore/inspector/InspectorAuditResourcesObject.h
M Source/WebCore/loader/ApplicationManifestLoader.cpp
M Source/WebCore/loader/ApplicationManifestLoader.h
M Source/WebCore/loader/CrossOriginPreflightChecker.cpp
M Source/WebCore/loader/CrossOriginPreflightChecker.h
M Source/WebCore/loader/DocumentLoader.cpp
M Source/WebCore/loader/DocumentLoader.h
M Source/WebCore/loader/DocumentPrefetcher.h
M Source/WebCore/loader/DocumentThreadableLoader.cpp
M Source/WebCore/loader/DocumentThreadableLoader.h
M Source/WebCore/loader/FontLoadRequest.h
M Source/WebCore/loader/ImageLoader.h
M Source/WebCore/loader/LinkLoader.cpp
M Source/WebCore/loader/LinkLoader.h
M Source/WebCore/loader/LinkLoaderClient.h
M Source/WebCore/loader/LinkPreloadResourceClients.cpp
M Source/WebCore/loader/LinkPreloadResourceClients.h
M Source/WebCore/loader/MediaResourceLoader.h
M Source/WebCore/loader/TextTrackLoader.cpp
M Source/WebCore/loader/TextTrackLoader.h
M Source/WebCore/loader/cache/CachedCSSStyleSheet.cpp
M Source/WebCore/loader/cache/CachedFont.cpp
M Source/WebCore/loader/cache/CachedFontLoadRequest.h
M Source/WebCore/loader/cache/CachedImage.cpp
M Source/WebCore/loader/cache/CachedImageClient.h
M Source/WebCore/loader/cache/CachedRawResource.cpp
M Source/WebCore/loader/cache/CachedRawResourceClient.h
M Source/WebCore/loader/cache/CachedResource.cpp
M Source/WebCore/loader/cache/CachedResourceClient.h
M Source/WebCore/loader/cache/CachedResourceLoader.cpp
M Source/WebCore/loader/cache/CachedResourceLoader.h
M Source/WebCore/loader/cache/CachedSVGDocumentReference.cpp
M Source/WebCore/loader/cache/CachedSVGDocumentReference.h
M Source/WebCore/loader/cache/CachedTextTrack.cpp
M Source/WebCore/loader/cache/CachedXSLStyleSheet.cpp
M Source/WebCore/loader/cache/KeepaliveRequestTracker.cpp
M Source/WebCore/loader/cache/KeepaliveRequestTracker.h
M Source/WebCore/loader/icon/IconLoader.cpp
M Source/WebCore/loader/icon/IconLoader.h
M
Source/WebCore/platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h
M
Source/WebCore/platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm
M Source/WebCore/rendering/BackgroundPainter.cpp
M Source/WebCore/rendering/RenderImage.cpp
M Source/WebCore/rendering/RenderImageResource.cpp
M Source/WebCore/rendering/RenderLayer.cpp
M Source/WebCore/rendering/RenderLayer.h
M Source/WebCore/rendering/RenderLayerFilters.cpp
M Source/WebCore/rendering/RenderLayerFilters.h
M Source/WebCore/rendering/RenderObject.cpp
M Source/WebCore/rendering/RenderObject.h
M Source/WebCore/rendering/style/ReferenceFilterOperation.cpp
M Source/WebCore/rendering/style/ReferenceFilterOperation.h
M Source/WebCore/rendering/style/StyleCachedImage.cpp
M Source/WebCore/rendering/style/StyleCrossfadeImage.h
M Source/WebCore/rendering/style/StyleCursorImage.cpp
M Source/WebCore/rendering/style/StyleFilterImage.h
M Source/WebCore/rendering/svg/RenderSVGImage.cpp
M Source/WebCore/svg/SVGFEImageElement.h
M Source/WebCore/svg/SVGFontFaceUriElement.h
M Source/WebCore/svg/SVGImageLoader.h
M Source/WebCore/svg/SVGUseElement.h
M Source/WebCore/svg/graphics/SVGImageCache.cpp
M Source/WebCore/testing/Internals.cpp
M Source/WebCore/testing/Internals.h
M Source/WebCore/workers/WorkerFontLoadRequest.cpp
M Source/WebCore/workers/WorkerFontLoadRequest.h
M Source/WebCore/workers/WorkerGlobalScope.cpp
M Source/WebCore/workers/WorkerGlobalScope.h
M Source/WebCore/xml/XSLImportRule.cpp
M Source/WebCore/xml/XSLImportRule.h
M Source/WebCore/xml/XSLStyleSheet.h
M Source/WebCore/xml/XSLStyleSheetLibxslt.cpp
M Source/WebKitLegacy/mac/WebView/WebHTMLView.mm
Log Message:
-----------
Drop IsDeprecatedWeakRefSmartPointerException for CachedResourceClient
https://bugs.webkit.org/show_bug.cgi?id=300775
rdar://163168617
Reviewed by Geoffrey Garen.
In an earlier PR, I had tried to use CanMakeCheckedPtr but this did not
work out since quite a few clients destroy themselves when one of their
virtual function overrides get called. I am therefore making
CachedResourceClient
ref-counted instead. However, since RenderObject is a CachedImageClient
and I do not want to make all RenderObjects ref-counted, I'm using a
ref-counted trampoline object to forward the calls to the RenderObject.
* Source/WebCore/Modules/beacon/NavigatorBeacon.cpp:
(WebCore::NavigatorBeacon::ref const):
(WebCore::NavigatorBeacon::deref const):
(WebCore::NavigatorBeacon::from):
* Source/WebCore/Modules/beacon/NavigatorBeacon.h:
* Source/WebCore/Modules/mediasession/MediaMetadata.cpp:
(WebCore::ArtworkImageLoader::create):
(WebCore::ArtworkImageLoader::requestImageResource):
(WebCore::MediaMetadata::tryNextArtworkImage):
* Source/WebCore/Modules/mediasession/MediaMetadata.h:
* Source/WebCore/SaferCPPExpectations/UncheckedCallArgsCheckerExpectations:
* Source/WebCore/SaferCPPExpectations/UncheckedLocalVarsCheckerExpectations:
* Source/WebCore/bindings/js/CachedModuleScriptLoader.h:
* Source/WebCore/bindings/js/CachedScriptSourceProvider.h:
* Source/WebCore/bindings/js/WebAssemblyCachedScriptSourceProvider.h:
* Source/WebCore/css/CSSFontFace.cpp:
(WebCore::CSSFontFace::appendSources):
* Source/WebCore/css/CSSFontFaceSource.cpp:
(WebCore::CSSFontFaceSource::CSSFontFaceSource):
* Source/WebCore/css/CSSFontFaceSource.h:
* Source/WebCore/css/CSSFontFaceSrcValue.cpp:
(WebCore::CSSFontFaceSrcResourceValue::fontLoadRequest):
* Source/WebCore/css/CSSFontFaceSrcValue.h:
* Source/WebCore/css/StyleRuleImport.cpp:
(WebCore::StyleRuleImport::StyleRuleImport):
* Source/WebCore/css/StyleRuleImport.h:
* Source/WebCore/dom/DataTransfer.cpp:
(WebCore::DataTransfer::~DataTransfer):
(WebCore::DataTransfer::setDragImage):
(WebCore::DragImageLoader::create):
(WebCore::DragImageLoader::imageChanged):
(WebCore::DataTransfer::moveDragState):
* Source/WebCore/dom/DataTransfer.h:
* Source/WebCore/dom/Document.cpp:
(WebCore::Document::fontLoadRequest):
* Source/WebCore/dom/Document.h:
* Source/WebCore/dom/LoadableClassicScript.h:
* Source/WebCore/dom/LoadableSpeculationRules.h:
* Source/WebCore/dom/ProcessingInstruction.h:
* Source/WebCore/dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::fontLoadRequest):
* Source/WebCore/dom/ScriptExecutionContext.h:
* Source/WebCore/html/HTMLImageLoader.h:
* Source/WebCore/html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::HTMLLinkElement):
(WebCore::HTMLLinkElement::process):
(WebCore::HTMLLinkElement::removedFromAncestor):
* Source/WebCore/html/HTMLLinkElement.h:
* Source/WebCore/html/ImageInputType.cpp:
(WebCore::ImageInputType::height const):
(WebCore::ImageInputType::width const):
* Source/WebCore/html/track/LoadableTextTrack.cpp:
(WebCore::LoadableTextTrack::scheduleLoad):
* Source/WebCore/html/track/LoadableTextTrack.h:
* Source/WebCore/inspector/InspectorAuditResourcesObject.cpp:
(WebCore::InspectorAuditResourcesObject::InspectorAuditResourcesObject):
(WebCore::InspectorAuditResourcesObject::clientForResource):
* Source/WebCore/inspector/InspectorAuditResourcesObject.h:
(WebCore::InspectorAuditResourcesObject::InspectorAuditCachedResourceClient::InspectorAuditCachedResourceClient):
(WebCore::InspectorAuditResourcesObject::InspectorAuditCachedFontClient::InspectorAuditCachedFontClient):
(WebCore::InspectorAuditResourcesObject::InspectorAuditCachedRawResourceClient::InspectorAuditCachedRawResourceClient):
(WebCore::InspectorAuditResourcesObject::InspectorAuditCachedSVGDocumentClient::InspectorAuditCachedSVGDocumentClient):
(WebCore::InspectorAuditResourcesObject::InspectorAuditCachedStyleSheetClient::InspectorAuditCachedStyleSheetClient):
* Source/WebCore/loader/ApplicationManifestLoader.cpp:
(WebCore::ApplicationManifestLoader::create):
(WebCore::ApplicationManifestLoader::startLoading):
(WebCore::ApplicationManifestLoader::notifyFinished):
* Source/WebCore/loader/ApplicationManifestLoader.h:
* Source/WebCore/loader/CrossOriginPreflightChecker.cpp:
(WebCore::CrossOriginPreflightChecker::create):
(WebCore::CrossOriginPreflightChecker::notifyFinished):
(WebCore::CrossOriginPreflightChecker::redirectReceived):
(WebCore::CrossOriginPreflightChecker::startPreflight):
(WebCore::CrossOriginPreflightChecker::protectedLoader const): Deleted.
* Source/WebCore/loader/CrossOriginPreflightChecker.h:
* Source/WebCore/loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::loadApplicationManifest):
(WebCore::DocumentLoader::notifyFinishedLoadingApplicationManifest):
(WebCore::DocumentLoader::didGetLoadDecisionForIcon):
* Source/WebCore/loader/DocumentLoader.h:
* Source/WebCore/loader/DocumentPrefetcher.h:
(WebCore::DocumentPrefetcher::create):
* Source/WebCore/loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequestWithPreflight):
(WebCore::DocumentThreadableLoader::clearResource):
(WebCore::DocumentThreadableLoader::preflightSuccess):
(WebCore::DocumentThreadableLoader::preflightFailure):
* Source/WebCore/loader/DocumentThreadableLoader.h:
* Source/WebCore/loader/FontLoadRequest.h:
* Source/WebCore/loader/ImageLoader.h:
* Source/WebCore/loader/LinkLoader.cpp:
(WebCore::LinkLoader::create):
(WebCore::LinkLoader::~LinkLoader):
(WebCore::LinkLoader::triggerEvents):
(WebCore::LinkLoader::triggerError):
(WebCore::createLinkPreloadResourceClient):
(WebCore::LinkLoader::preloadIfNeeded):
(WebCore::LinkLoader::cancelLoad):
(WebCore::LinkLoader::loadLink):
* Source/WebCore/loader/LinkLoader.h:
* Source/WebCore/loader/LinkLoaderClient.h:
* Source/WebCore/loader/LinkPreloadResourceClients.cpp:
(WebCore::LinkPreloadResourceClient::triggerEvents):
* Source/WebCore/loader/LinkPreloadResourceClients.h:
(WebCore::LinkPreloadDefaultResourceClient::create):
(WebCore::LinkPreloadStyleResourceClient::create):
(WebCore::LinkPreloadImageResourceClient::create):
(WebCore::LinkPreloadFontResourceClient::create):
(WebCore::LinkPreloadRawResourceClient::create):
* Source/WebCore/loader/MediaResourceLoader.h:
* Source/WebCore/loader/TextTrackLoader.cpp:
(WebCore::TextTrackLoader::create):
(WebCore::TextTrackLoader::cueLoadTimerFired):
(WebCore::TextTrackLoader::processNewCueData):
(WebCore::TextTrackLoader::corsPolicyPreventedLoad):
(WebCore::TextTrackLoader::load):
(WebCore::TextTrackLoader::newRegionsParsed):
(WebCore::TextTrackLoader::newStyleSheetsParsed):
(WebCore::TextTrackLoader::getNewCues):
(WebCore::TextTrackLoader::protectedDocument const): Deleted.
* Source/WebCore/loader/TextTrackLoader.h:
* Source/WebCore/loader/cache/CachedCSSStyleSheet.cpp:
(WebCore::CachedCSSStyleSheet::checkNotify):
* Source/WebCore/loader/cache/CachedFont.cpp:
(WebCore::CachedFont::checkNotify):
* Source/WebCore/loader/cache/CachedFontLoadRequest.h:
* Source/WebCore/loader/cache/CachedImage.cpp:
(WebCore::CachedImage::addClientWaitingForAsyncDecoding):
(WebCore::CachedImage::removeAllClientsWaitingForAsyncDecoding):
(WebCore::CachedImage::notifyObservers):
(WebCore::CachedImage::canDestroyDecodedData const):
(WebCore::CachedImage::imageFrameAvailable):
(WebCore::CachedImage::imageContentChanged):
(WebCore::CachedImage::scheduleRenderingUpdate):
(WebCore::CachedImage::allowsAnimation const):
(WebCore::CachedImage::isVisibleInViewport const):
* Source/WebCore/loader/cache/CachedImageClient.h:
* Source/WebCore/loader/cache/CachedRawResource.cpp:
(WebCore::CachedRawResource::notifyClientsDataWasReceived):
(WebCore::iterateClients):
(WebCore::CachedRawResource::responseReceived):
(WebCore::CachedRawResource::shouldCacheResponse):
(WebCore::CachedRawResource::didSendData):
(WebCore::CachedRawResource::finishedTimingForWorkerLoad):
* Source/WebCore/loader/cache/CachedRawResourceClient.h:
* Source/WebCore/loader/cache/CachedResource.cpp:
(WebCore::CachedResource::checkNotify):
(WebCore::CachedResource::switchClientsToRevalidatedResource):
* Source/WebCore/loader/cache/CachedResourceClient.h:
* Source/WebCore/loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::CachedResourceLoader):
* Source/WebCore/loader/cache/CachedResourceLoader.h:
(WebCore::CachedResourceLoader::keepaliveRequestTracker):
* Source/WebCore/loader/cache/CachedSVGDocumentReference.cpp:
(WebCore::CachedSVGDocumentReference::create):
* Source/WebCore/loader/cache/CachedSVGDocumentReference.h:
* Source/WebCore/loader/cache/CachedTextTrack.cpp:
(WebCore::CachedTextTrack::doUpdateBuffer):
* Source/WebCore/loader/cache/CachedXSLStyleSheet.cpp:
(WebCore::CachedXSLStyleSheet::checkNotify):
* Source/WebCore/loader/cache/KeepaliveRequestTracker.cpp:
(WebCore::KeepaliveRequestTracker::create):
* Source/WebCore/loader/cache/KeepaliveRequestTracker.h:
* Source/WebCore/loader/icon/IconLoader.cpp:
(WebCore::IconLoader::create):
(WebCore::IconLoader::startLoading):
(WebCore::IconLoader::notifyFinished):
* Source/WebCore/loader/icon/IconLoader.h:
* Source/WebCore/platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h:
*
Source/WebCore/platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:
(WebCore::CachedResourceMediaLoader::create):
* Source/WebCore/rendering/BackgroundPainter.cpp:
(WebCore::BackgroundPainter::paintFillLayerImpl const):
* Source/WebCore/rendering/RenderImage.cpp:
(WebCore::RenderImage::paintReplaced):
(WebCore::RenderImage::paintIntoRect):
* Source/WebCore/rendering/RenderImageResource.cpp:
(WebCore::RenderImageResource::setCachedImage):
(WebCore::RenderImageResource::setContainerContext):
* Source/WebCore/rendering/RenderLayer.cpp:
(WebCore::RenderLayer::calculateClipRects const):
* Source/WebCore/rendering/RenderLayer.h:
* Source/WebCore/rendering/RenderLayerFilters.cpp:
(WebCore::RenderLayerFilters::create):
(WebCore::RenderLayerFilters::RenderLayerFilters):
(WebCore::RenderLayerFilters::notifyFinished):
(WebCore::RenderLayerFilters::updateReferenceFilterClients):
(WebCore::RenderLayerFilters::removeReferenceFilterClients):
* Source/WebCore/rendering/RenderLayerFilters.h:
* Source/WebCore/rendering/RenderObject.cpp:
(WebCore::RenderObject::RenderObject):
(WebCore::RenderObject::CachedImageListener::create):
(WebCore::RenderObject::CachedImageListener::CachedImageListener):
(WebCore::RenderObject::CachedImageListener::notifyFinished):
(WebCore::RenderObject::CachedImageListener::imageChanged):
(WebCore::RenderObject::CachedImageListener::allowsAnimation const):
(WebCore::RenderObject::CachedImageListener::canDestroyDecodedData const):
(WebCore::RenderObject::CachedImageListener::imageFrameAvailable):
(WebCore::RenderObject::CachedImageListener::imageVisibleInViewport const):
(WebCore::RenderObject::CachedImageListener::didRemoveCachedImageClient):
(WebCore::RenderObject::CachedImageListener::imageContentChanged):
(WebCore::RenderObject::CachedImageListener::scheduleRenderingUpdateForImage):
(WebCore::RenderObject::imageFrameAvailable):
(WebCore::RenderObject::imageChanged): Deleted.
* Source/WebCore/rendering/RenderObject.h:
(WebCore::RenderObject::notifyFinished):
(WebCore::RenderObject::allowsAnimation const):
(WebCore::RenderObject::canDestroyDecodedData const):
(WebCore::RenderObject::imageVisibleInViewport const):
(WebCore::RenderObject::didRemoveCachedImageClient):
(WebCore::RenderObject::imageContentChanged):
(WebCore::RenderObject::scheduleRenderingUpdateForImage):
(WebCore::RenderObject::protectedCachedImageClient const):
(WebCore::RenderObject::cachedImageClient const):
* Source/WebCore/rendering/style/ReferenceFilterOperation.cpp:
(WebCore::Style::ReferenceFilterOperation::loadExternalDocumentIfNeeded):
* Source/WebCore/rendering/style/ReferenceFilterOperation.h:
* Source/WebCore/rendering/style/StyleCachedImage.cpp:
(WebCore::StyleCachedImage::setContainerContextForRenderer):
(WebCore::StyleCachedImage::addClient):
(WebCore::StyleCachedImage::removeClient):
(WebCore::StyleCachedImage::hasClient const):
* Source/WebCore/rendering/style/StyleCrossfadeImage.h:
* Source/WebCore/rendering/style/StyleCursorImage.cpp:
(WebCore::StyleCursorImage::setContainerContextForRenderer):
* Source/WebCore/rendering/style/StyleFilterImage.h:
* Source/WebCore/rendering/svg/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::paintIntoRect):
(WebCore::RenderSVGImage::paintForeground):
* Source/WebCore/svg/SVGFEImageElement.h:
* Source/WebCore/svg/SVGFontFaceUriElement.h:
* Source/WebCore/svg/SVGImageLoader.h:
* Source/WebCore/svg/SVGUseElement.h:
* Source/WebCore/svg/graphics/SVGImageCache.cpp:
(WebCore::SVGImageCache::findImageForRenderer const):
* Source/WebCore/testing/Internals.cpp:
(WebCore::Internals::loadArtworkImage):
* Source/WebCore/testing/Internals.h:
* Source/WebCore/workers/WorkerFontLoadRequest.cpp:
(WebCore::WorkerFontLoadRequest::create):
* Source/WebCore/workers/WorkerFontLoadRequest.h:
* Source/WebCore/workers/WorkerGlobalScope.cpp:
(WebCore::WorkerGlobalScope::fontLoadRequest):
* Source/WebCore/workers/WorkerGlobalScope.h:
* Source/WebCore/xml/XSLImportRule.cpp:
(WebCore::XSLImportRule::create):
* Source/WebCore/xml/XSLImportRule.h:
* Source/WebCore/xml/XSLStyleSheet.h:
* Source/WebCore/xml/XSLStyleSheetLibxslt.cpp:
(WebCore::XSLStyleSheet::loadChildSheet):
* Source/WebKitLegacy/mac/WebView/WebHTMLView.mm:
(EmptyCachedImageClient::create):
(promisedDataClient):
Canonical link: https://commits.webkit.org/303654@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications