[webkit-changes] [WebKit/WebKit] 19b74d: Support <link rel=dns-prefetch>; clean up DNS pref...
Anne van Kesteren
noreply at github.com
Tue Jan 14 22:13:00 PST 2025
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 19b74d87704285f2c69536bcb7abe3887af0d54c
https://github.com/WebKit/WebKit/commit/19b74d87704285f2c69536bcb7abe3887af0d54c
Author: Anne van Kesteren <annevk at annevk.nl>
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 at 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 at 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
More information about the webkit-changes
mailing list