[webkit-changes] [WebKit/WebKit] e85dd4: Only look for /favicon.ico over HTTP(S)

Anne van Kesteren noreply at github.com
Mon Feb 17 00:50:34 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: e85dd4e58e4e0ffe9df5e4e7928bc9ab5a36520d
      https://github.com/WebKit/WebKit/commit/e85dd4e58e4e0ffe9df5e4e7928bc9ab5a36520d
  Author: Anne van Kesteren <annevk at annevk.nl>
  Date:   2025-02-17 (Mon, 17 Feb 2025)

  Changed paths:
    M Source/WebCore/loader/DocumentLoader.cpp
    M Source/WebKit/UIProcess/Cocoa/IconLoadingDelegate.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/IconLoadingDelegate.mm

  Log Message:
  -----------
  Only look for /favicon.ico over HTTP(S)
https://bugs.webkit.org/show_bug.cgi?id=287700
rdar://30934148

Reviewed by Brady Eidson and BJ Burg.

We already enforce icon URL schemes to be http: or https:; or data: as
of 290395 at main, but we did not enforce that for /favicon.ico lookup.

This enforces that and adds a corresponding URL scheme check in the UI
process allowing delegates to not care.

The largest part of this change and what deserves the most scrutiny is
rewriting the API tests to use HTTPServer as WKURLSchemeHandler does
not support HTTP(S).

* Source/WebCore/loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::startIconLoading):
* Source/WebKit/UIProcess/Cocoa/IconLoadingDelegate.mm:
(WebKit::IconLoadingDelegate::IconLoadingClient::getLoadDecisionForIcon):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/IconLoadingDelegate.mm:
(-[IconLoadingDelegate webView:shouldLoadIconWithParameters:completionHandler:]):
(TEST(IconLoading, DefaultFavicon)):
(TEST(IconLoading, AlreadyCachedIcon)):
(TEST(IconLoading, IconLoadCancelledCallback)):
(TEST(IconLoading, IconLoadCancelledCallback2)):
(-[IconLoadingSchemeHandler initWithData:]): Deleted.
(-[IconLoadingSchemeHandler setFaviconData:]): Deleted.
(-[IconLoadingSchemeHandler webView:startURLSchemeTask:]): Deleted.
(-[IconLoadingSchemeHandler webView:stopURLSchemeTask:]): Deleted.

Canonical link: https://commits.webkit.org/290473@main



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list