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