[webkit-changes] [WebKit/WebKit] 634cc1: Support <link rel=dns-prefetch> on iOS and remove ...
Anne van Kesteren
noreply at github.com
Wed Feb 12 23:42:11 PST 2025
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 634cc1e388c3f0650e412272e431a84b395303ea
https://github.com/WebKit/WebKit/commit/634cc1e388c3f0650e412272e431a84b395303ea
Author: Anne van Kesteren <annevk at annevk.nl>
Date: 2025-02-12 (Wed, 12 Feb 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> on iOS and remove privacy-invasive DNS prefetching features
https://bugs.webkit.org/show_bug.cgi?id=285744
rdar://144699889
Reviewed by Alex Christensen.
This was initially landed as 288915 at main and backed out in 288920 at main
because it was not understood all functionality was enabled for macOS.
This commit wants to reland 288915 at main as-is, but now with the
understanding that this removes privacy-invasive and proprietary DNS
prefetching features from macOS, while continuing to support the
standardized <link rel=dns-prefetch> and extending that support to iOS
and other WebKit ports.
* 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/290327@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