Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: db39f001ad27b2d3218a7bbe7fa6e04c985a9850
https://github.com/WebKit/WebKit/commit/db39f001ad27b2d3218a7bbe7fa6e04c985a9850
Author: Alex Christensen <[email protected]>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M Source/WebCore/loader/DocumentLoader.cpp
M Source/WebCore/loader/EmptyClients.cpp
M Source/WebCore/loader/EmptyFrameLoaderClient.h
M Source/WebCore/loader/FrameLoader.cpp
M Source/WebCore/loader/FrameLoader.h
M Source/WebCore/loader/LoaderStrategy.h
M Source/WebCore/loader/LocalFrameLoaderClient.h
M Source/WebCore/loader/NetscapePlugInStreamLoader.cpp
M Source/WebCore/loader/PolicyChecker.cpp
M Source/WebCore/loader/ResourceLoader.cpp
M Source/WebCore/loader/appcache/ApplicationCacheHost.cpp
M Source/WebCore/loader/cache/CachedResourceLoader.cpp
M Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp
M Source/WebKit/WebProcess/Network/WebLoaderStrategy.h
M Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.cpp
M Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.h
M Source/WebKit/WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm
M Source/WebKitLegacy/SourcesCocoa.txt
M Source/WebKitLegacy/WebCoreSupport/WebResourceLoadScheduler.cpp
M Source/WebKitLegacy/WebCoreSupport/WebResourceLoadScheduler.h
A Source/WebKitLegacy/WebCoreSupport/WebResourceLoadScheduler.mm
M Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.h
M Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.mm
M Source/WebKitLegacy/mac/WebCoreSupport/WebFrameNetworkingContext.mm
M Source/WebKitLegacy/mac/WebView/WebHTMLRepresentation.mm
Log Message:
-----------
Move ResourceError generation from LocalFrameLoaderClient to LoaderStrategy
https://bugs.webkit.org/show_bug.cgi?id=285889
rdar://142845133
Reviewed by Pascoe.
WebKit and WebKitLegacy generate slightly different errors. This is the intent
of a virtual call up the framework stack. However, ResourceLoader might not
be hooked up to a Frame or a FrameLoaderClient, in which case it would try to
dereference null and crash. The error generators don't need the additional
context of a FrameLoaderClient. Move them to a virtual call on an object that
is never null and never missing, the LoaderStrategy.
* Source/WebCore/loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::continueAfterContentPolicy):
(WebCore::DocumentLoader::interruptedForPolicyChangeError const):
(WebCore::DocumentLoader::startLoadingMainResource):
(WebCore::DocumentLoader::loadMainResource):
* Source/WebCore/loader/EmptyClients.cpp:
(WebCore::EmptyFrameLoaderClient::cancelledError const): Deleted.
(WebCore::EmptyFrameLoaderClient::blockedError const): Deleted.
(WebCore::EmptyFrameLoaderClient::blockedByContentBlockerError const): Deleted.
(WebCore::EmptyFrameLoaderClient::cannotShowURLError const): Deleted.
(WebCore::EmptyFrameLoaderClient::interruptedForPolicyChangeError const):
Deleted.
(WebCore::EmptyFrameLoaderClient::blockedByContentFilterError const): Deleted.
(WebCore::EmptyFrameLoaderClient::cannotShowMIMETypeError const): Deleted.
(WebCore::EmptyFrameLoaderClient::fileDoesNotExistError const): Deleted.
(WebCore::EmptyFrameLoaderClient::httpsUpgradeRedirectLoopError const): Deleted.
(WebCore::EmptyFrameLoaderClient::httpNavigationWithHTTPSOnlyError const):
Deleted.
(WebCore::EmptyFrameLoaderClient::pluginWillHandleLoadError const): Deleted.
* Source/WebCore/loader/EmptyFrameLoaderClient.h:
* Source/WebCore/loader/FrameLoader.cpp:
(WebCore::FrameLoader::cancelledError):
(WebCore::FrameLoader::blockedByContentBlockerError):
(WebCore::FrameLoader::blockedError):
(WebCore::FrameLoader::blockedByContentFilterError):
(WebCore::FrameLoader::cancelledError const): Deleted.
(WebCore::FrameLoader::blockedByContentBlockerError const): Deleted.
(WebCore::FrameLoader::blockedError const): Deleted.
(WebCore::FrameLoader::blockedByContentFilterError const): Deleted.
* Source/WebCore/loader/FrameLoader.h:
* Source/WebCore/loader/LoaderStrategy.h:
* Source/WebCore/loader/LocalFrameLoaderClient.h:
* Source/WebCore/loader/NetscapePlugInStreamLoader.cpp:
(WebCore::NetscapePlugInStreamLoader::didReceiveResponse):
* Source/WebCore/loader/PolicyChecker.cpp:
(WebCore::PolicyChecker::checkNavigationPolicy):
(WebCore::PolicyChecker::cannotShowMIMEType):
* Source/WebCore/loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::cancelledError):
(WebCore::ResourceLoader::blockedError):
(WebCore::ResourceLoader::blockedByContentBlockerError):
(WebCore::ResourceLoader::cannotShowURLError):
(WebCore::ResourceLoader::httpsUpgradeRedirectLoopError):
* Source/WebCore/loader/appcache/ApplicationCacheHost.cpp:
(WebCore::ApplicationCacheHost::maybeLoadSynchronously):
* Source/WebCore/loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestResource):
* Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::cancelledError const):
(WebKit::WebLoaderStrategy::blockedError const):
(WebKit::WebLoaderStrategy::blockedByContentBlockerError const):
(WebKit::WebLoaderStrategy::cannotShowURLError const):
(WebKit::WebLoaderStrategy::interruptedForPolicyChangeError const):
(WebKit::WebLoaderStrategy::blockedByContentFilterError const):
(WebKit::WebLoaderStrategy::cannotShowMIMETypeError const):
(WebKit::WebLoaderStrategy::fileDoesNotExistError const):
(WebKit::WebLoaderStrategy::httpsUpgradeRedirectLoopError const):
(WebKit::WebLoaderStrategy::httpNavigationWithHTTPSOnlyError const):
(WebKit::WebLoaderStrategy::pluginWillHandleLoadError const):
* Source/WebKit/WebProcess/Network/WebLoaderStrategy.h:
* Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.cpp:
(WebKit::WebLocalFrameLoaderClient::shouldFallBack const):
(WebKit::WebLocalFrameLoaderClient::cancelledError const): Deleted.
(WebKit::WebLocalFrameLoaderClient::blockedError const): Deleted.
(WebKit::WebLocalFrameLoaderClient::blockedByContentBlockerError const):
Deleted.
(WebKit::WebLocalFrameLoaderClient::cannotShowURLError const): Deleted.
(WebKit::WebLocalFrameLoaderClient::interruptedForPolicyChangeError const):
Deleted.
(WebKit::WebLocalFrameLoaderClient::blockedByContentFilterError const): Deleted.
(WebKit::WebLocalFrameLoaderClient::cannotShowMIMETypeError const): Deleted.
(WebKit::WebLocalFrameLoaderClient::fileDoesNotExistError const): Deleted.
(WebKit::WebLocalFrameLoaderClient::httpsUpgradeRedirectLoopError const):
Deleted.
(WebKit::WebLocalFrameLoaderClient::httpNavigationWithHTTPSOnlyError const):
Deleted.
(WebKit::WebLocalFrameLoaderClient::pluginWillHandleLoadError const): Deleted.
* Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.h:
* Source/WebKit/WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
(WebKit::WebFrameNetworkingContext::blockedError const):
* Source/WebKitLegacy/SourcesCocoa.txt:
* Source/WebKitLegacy/WebCoreSupport/WebResourceLoadScheduler.cpp:
(WebResourceLoadScheduler::preconnectTo):
* Source/WebKitLegacy/WebCoreSupport/WebResourceLoadScheduler.h:
* Source/WebKitLegacy/WebCoreSupport/WebResourceLoadScheduler.mm: Added.
(WebResourceLoadScheduler::pluginWillHandleLoadError const):
(WebResourceLoadScheduler::pluginWillHandleLoadErrorFromResponse):
(WebResourceLoadScheduler::cancelledError const):
(WebResourceLoadScheduler::blockedError const):
(WebResourceLoadScheduler::blockedErrorFromRequest):
(WebResourceLoadScheduler::blockedByContentBlockerError const):
(WebResourceLoadScheduler::cannotShowURLError const):
(WebResourceLoadScheduler::interruptedForPolicyChangeError const):
(WebResourceLoadScheduler::blockedByContentFilterError const):
(WebResourceLoadScheduler::cannotShowMIMETypeError const):
(WebResourceLoadScheduler::fileDoesNotExistError const):
(WebResourceLoadScheduler::httpsUpgradeRedirectLoopError const):
(WebResourceLoadScheduler::httpNavigationWithHTTPSOnlyError const):
* Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.h:
* Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::cancelledError const): Deleted.
(WebFrameLoaderClient::blockedError const): Deleted.
(WebFrameLoaderClient::blockedByContentBlockerError const): Deleted.
(WebFrameLoaderClient::cannotShowURLError const): Deleted.
(WebFrameLoaderClient::interruptedForPolicyChangeError const): Deleted.
(WebFrameLoaderClient::blockedByContentFilterError const): Deleted.
(WebFrameLoaderClient::cannotShowMIMETypeError const): Deleted.
(WebFrameLoaderClient::fileDoesNotExistError const): Deleted.
(WebFrameLoaderClient::httpsUpgradeRedirectLoopError const): Deleted.
(WebFrameLoaderClient::httpNavigationWithHTTPSOnlyError const): Deleted.
(WebFrameLoaderClient::pluginWillHandleLoadError const): Deleted.
* Source/WebKitLegacy/mac/WebCoreSupport/WebFrameNetworkingContext.mm:
(WebFrameNetworkingContext::blockedError const):
* Source/WebKitLegacy/mac/WebView/WebHTMLRepresentation.mm:
(-[WebHTMLRepresentation receivedData:withDataSource:]):
Canonical link: https://commits.webkit.org/289098@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes