Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 634cc1e388c3f0650e412272e431a84b395303ea https://github.com/WebKit/WebKit/commit/634cc1e388c3f0650e412272e431a84b395303ea Author: Anne van Kesteren <ann...@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@main and backed out in 288920@main because it was not understood all functionality was enabled for macOS. This commit wants to reland 288915@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 _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes