Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 19b74d87704285f2c69536bcb7abe3887af0d54c
      
https://github.com/WebKit/WebKit/commit/19b74d87704285f2c69536bcb7abe3887af0d54c
  Author: Anne van Kesteren <[email protected]>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M LayoutTests/http/tests/misc/dns-prefetch-control-expected.txt
    M LayoutTests/http/tests/misc/dns-prefetch-control.html
    R LayoutTests/http/tests/misc/resources/dns-prefetch-control.py
    M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml
    M Source/WebCore/DerivedSources-output.xcfilelist
    M Source/WebCore/DerivedSources.make
    M Source/WebCore/dom/Document.cpp
    M Source/WebCore/dom/Document.h
    M Source/WebCore/html/HTMLAnchorElement.cpp
    M Source/WebCore/html/LinkRelAttribute.cpp
    M Source/WebCore/loader/FrameLoader.cpp
    M Source/WebCore/loader/LinkLoader.cpp
    M Source/WebCore/page/Chrome.cpp
    M Source/WebCore/page/Page.cpp
    M Source/WebCore/page/Page.h
    M Source/WebCore/page/SettingsBase.cpp
    M Source/WebCore/page/SettingsBase.h
    M Source/WebCore/platform/network/HTTPHeaderNames.in
    M Source/WebCore/platform/network/ResourceResponseBase.cpp
    M Source/WebKit/UIProcess/API/C/WKPreferences.cpp
    M Source/WebKit/UIProcess/API/C/WKPreferencesRef.h
    M Source/WebKit/UIProcess/API/Cocoa/WKPreferences.mm
    M Source/WebKit/UIProcess/API/Cocoa/WKPreferencesPrivate.h
    M Source/WebKit/UIProcess/API/glib/WebKitSettings.cpp
    M Source/WebKit/UIProcess/API/glib/WebKitSettings.h.in
    M 
Source/WebKit/UIProcess/Extensions/Cocoa/_WKWebExtensionDeclarativeNetRequestRule.mm
    M Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm
    M Source/WebKitLegacy/mac/WebView/WebPreferenceKeysPrivate.h
    M Source/WebKitLegacy/mac/WebView/WebPreferences.mm
    M Source/WebKitLegacy/mac/WebView/WebPreferencesPrivate.h
    M Tools/TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp

  Log Message:
  -----------
  Support <link rel=dns-prefetch>; clean up DNS prefetching code
https://bugs.webkit.org/show_bug.cgi?id=285744
rdar://142687143

Reviewed by Alex Christensen.

In 64388@main the DNS prefetching preference was disabled by default.
It has never been enabled since. Unfortunately <link rel=dns-prefetch>
support was never guarded by this preference so we incorrectly claimed
support for that link type until now.

Since it makes sense to support <link rel=dns-prefetch> we add a
dedicated enabled-by-default preference for that and only support it
for HTTP(S) schemes.

The other DNS prefetching features never got standardized so remove
those.

We also continue to support DNS prefetching for iOS tap highlights as
added in 150617@main as that was never guarded by a preference, but we
do limit it to HTTP(S) schemes as we don't know whether other schemes
support DNS.

* LayoutTests/http/tests/misc/dns-prefetch-control-expected.txt:
* LayoutTests/http/tests/misc/dns-prefetch-control.html:
* LayoutTests/http/tests/misc/resources/dns-prefetch-control.py: Removed.
* Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml:
* Source/WebCore/DerivedSources-output.xcfilelist:
* Source/WebCore/DerivedSources.make:
* Source/WebCore/dom/Document.cpp:
(WebCore::Document::processMetaHttpEquiv):
(WebCore::Document::initDNSPrefetch): Deleted.
(WebCore::Document::isDNSPrefetchEnabled const): Deleted.
(WebCore::Document::parseDNSPrefetchControlHeader): Deleted.
* Source/WebCore/dom/Document.h:
* Source/WebCore/html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::attributeChanged):
* Source/WebCore/html/LinkRelAttribute.cpp:
* Source/WebCore/loader/FrameLoader.cpp:
(WebCore::FrameLoader::didBeginDocument):
* Source/WebCore/loader/LinkLoader.cpp:
(WebCore::LinkLoader::loadLink):
* Source/WebCore/page/Chrome.cpp:
(WebCore::Chrome::mouseDidMoveOverElement):
* Source/WebCore/page/Page.cpp:
(WebCore::Page::dnsPrefetchingStateChanged): Deleted.
* Source/WebCore/page/Page.h:
* Source/WebCore/page/SettingsBase.cpp:
(WebCore::SettingsBase::dnsPrefetchingEnabledChanged): Deleted.
* Source/WebCore/page/SettingsBase.h:
* Source/WebCore/platform/network/HTTPHeaderNames.in:
* Source/WebCore/platform/network/ResourceResponseBase.cpp:
(WebCore::isSafeCrossOriginResponseHeader):
* Source/WebKit/UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetDNSPrefetchingEnabled):
(WKPreferencesGetDNSPrefetchingEnabled):
(WKPreferencesSetRestrictedHTTPResponseAccess):
* Source/WebKit/UIProcess/API/C/WKPreferencesRef.h:
* Source/WebKit/UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences _setDNSPrefetchingEnabled:]):
(-[WKPreferences _dnsPrefetchingEnabled]):
* Source/WebKit/UIProcess/API/Cocoa/WKPreferencesPrivate.h:
* Source/WebKit/UIProcess/API/glib/WebKitSettings.cpp:
(webkit_settings_class_init):
(webkit_settings_get_enable_dns_prefetching):
(webkit_settings_set_enable_dns_prefetching):
* Source/WebKit/UIProcess/API/glib/WebKitSettings.h.in:
* 
Source/WebKit/UIProcess/Extensions/Cocoa/_WKWebExtensionDeclarativeNetRequestRule.mm:
(isHeaderNameValid):
* Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::sendTapHighlightForNodeIfNecessary):
* Source/WebKitLegacy/mac/WebView/WebPreferenceKeysPrivate.h:
* Source/WebKitLegacy/mac/WebView/WebPreferences.mm:
(-[WebPreferences isDNSPrefetchingEnabled]):
(-[WebPreferences setDNSPrefetchingEnabled:]):
* Source/WebKitLegacy/mac/WebView/WebPreferencesPrivate.h:
* Tools/TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
(testWebKitSettings):

Canonical link: https://commits.webkit.org/288915@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