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

Reply via email to