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

Reply via email to