Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 3784776034f99044ad9f80b36303fb92d4e42ec0
https://github.com/WebKit/WebKit/commit/3784776034f99044ad9f80b36303fb92d4e42ec0
Author: Pouneh Bahrami <[email protected]>
Date: 2026-05-15 (Fri, 15 May 2026)
Changed paths:
M LayoutTests/fast/dom/navigator-detached-no-crash-expected.txt
M LayoutTests/imported/w3c/resources/import-expectations.json
A LayoutTests/imported/w3c/web-platform-tests/gpc/META.yml
A LayoutTests/imported/w3c/web-platform-tests/gpc/WEB_FEATURES.yml
A
LayoutTests/imported/w3c/web-platform-tests/gpc/global_privacy_control.testdriver-expected.txt
A
LayoutTests/imported/w3c/web-platform-tests/gpc/global_privacy_control.testdriver.html
A
LayoutTests/imported/w3c/web-platform-tests/gpc/idlharness.any-expected.txt
A LayoutTests/imported/w3c/web-platform-tests/gpc/idlharness.any.html
A LayoutTests/imported/w3c/web-platform-tests/gpc/idlharness.any.js
A
LayoutTests/imported/w3c/web-platform-tests/gpc/idlharness.any.serviceworker-expected.txt
A
LayoutTests/imported/w3c/web-platform-tests/gpc/idlharness.any.serviceworker.html
A
LayoutTests/imported/w3c/web-platform-tests/gpc/idlharness.any.sharedworker-expected.txt
A
LayoutTests/imported/w3c/web-platform-tests/gpc/idlharness.any.sharedworker.html
A
LayoutTests/imported/w3c/web-platform-tests/gpc/idlharness.any.worker-expected.txt
A LayoutTests/imported/w3c/web-platform-tests/gpc/idlharness.any.worker.html
A
LayoutTests/imported/w3c/web-platform-tests/gpc/navigator-globalPrivacyControl.https-expected.txt
A
LayoutTests/imported/w3c/web-platform-tests/gpc/navigator-globalPrivacyControl.https.html
A LayoutTests/imported/w3c/web-platform-tests/gpc/sec-gpc.https-expected.txt
A LayoutTests/imported/w3c/web-platform-tests/gpc/sec-gpc.https.html
A LayoutTests/imported/w3c/web-platform-tests/gpc/support/getGPC.py
A
LayoutTests/imported/w3c/web-platform-tests/gpc/support/navigator-globalPrivacyControl.html
A
LayoutTests/imported/w3c/web-platform-tests/gpc/support/navigator-globalPrivacyControl.js
A LayoutTests/imported/w3c/web-platform-tests/gpc/support/w3c-import.log
A LayoutTests/imported/w3c/web-platform-tests/gpc/w3c-import.log
M LayoutTests/imported/w3c/web-platform-tests/resources/testdriver.js
M LayoutTests/platform/gtk/fast/dom/navigator-detached-no-crash-expected.txt
M
LayoutTests/platform/mac-wk2/fast/dom/navigator-detached-no-crash-expected.txt
M LayoutTests/platform/win/fast/dom/navigator-detached-no-crash-expected.txt
M LayoutTests/platform/wpe/fast/dom/navigator-detached-no-crash-expected.txt
M LayoutTests/resources/testdriver-vendor.js
M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml
M Source/WebCore/CMakeLists.txt
M Source/WebCore/DerivedSources-input.xcfilelist
M Source/WebCore/DerivedSources-output.xcfilelist
M Source/WebCore/DerivedSources.make
M Source/WebCore/Sources.txt
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
M Source/WebCore/page/Navigator.idl
A Source/WebCore/page/NavigatorGlobalPrivacyControl.cpp
A Source/WebCore/page/NavigatorGlobalPrivacyControl.h
A Source/WebCore/page/NavigatorGlobalPrivacyControl.idl
M Source/WebCore/page/WorkerNavigator.idl
M Source/WebCore/platform/network/HTTPHeaderNames.in
M Source/WebKit/NetworkProcess/NetworkResourceLoadParameters.h
M
Source/WebKit/NetworkProcess/NetworkResourceLoadParameters.serialization.in
M Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp
M Source/WebKit/UIProcess/API/C/WKPreferences.cpp
M Source/WebKit/UIProcess/API/C/WKPreferencesRefPrivate.h
M Source/WebKit/WebKit.xcodeproj/project.pbxproj
M Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp
M Tools/WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl
M Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp
M Tools/WebKitTestRunner/InjectedBundle/TestRunner.h
M Tools/WebKitTestRunner/TestController.cpp
M Tools/WebKitTestRunner/TestInvocation.cpp
Log Message:
-----------
Add support for GPC
rdar://175706854
https://bugs.webkit.org/show_bug.cgi?id=313856
Reviewed by Brady Eidson.
Implementing Global Privacy Control (GPC), which communicates a person’s
request to
websites and services not to sell or share their personal information with
third parties.
https://www.w3.org/TR/gpc.
Tests:
imported/w3c/web-platform-tests/gpc/global_privacy_control.testdriver.html
imported/w3c/web-platform-tests/gpc/idlharness.any.html
imported/w3c/web-platform-tests/gpc/idlharness.any.serviceworker.html
imported/w3c/web-platform-tests/gpc/idlharness.any.sharedworker.html
imported/w3c/web-platform-tests/gpc/idlharness.any.worker.html
imported/w3c/web-platform-tests/gpc/navigator-globalPrivacyControl.https.html
imported/w3c/web-platform-tests/gpc/sec-gpc.https.html
imported/w3c/web-platform-tests/gpc/support/navigator-globalPrivacyControl.html
* LayoutTests/fast/dom/navigator-detached-no-crash-expected.txt:
* LayoutTests/imported/w3c/resources/import-expectations.json:
* LayoutTests/imported/w3c/web-platform-tests/gpc/META.yml: Added.
* LayoutTests/imported/w3c/web-platform-tests/gpc/WEB_FEATURES.yml: Added.
*
LayoutTests/imported/w3c/web-platform-tests/gpc/global_privacy_control.testdriver-expected.txt:
Added.
*
LayoutTests/imported/w3c/web-platform-tests/gpc/global_privacy_control.testdriver.html:
Added.
* LayoutTests/imported/w3c/web-platform-tests/gpc/idlharness.any-expected.txt:
Added.
* LayoutTests/imported/w3c/web-platform-tests/gpc/idlharness.any.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/gpc/idlharness.any.js: Added.
*
LayoutTests/imported/w3c/web-platform-tests/gpc/idlharness.any.serviceworker-expected.txt:
Added.
*
LayoutTests/imported/w3c/web-platform-tests/gpc/idlharness.any.serviceworker.html:
Added.
*
LayoutTests/imported/w3c/web-platform-tests/gpc/idlharness.any.sharedworker-expected.txt:
Added.
*
LayoutTests/imported/w3c/web-platform-tests/gpc/idlharness.any.sharedworker.html:
Added.
*
LayoutTests/imported/w3c/web-platform-tests/gpc/idlharness.any.worker-expected.txt:
Added.
* LayoutTests/imported/w3c/web-platform-tests/gpc/idlharness.any.worker.html:
Added.
*
LayoutTests/imported/w3c/web-platform-tests/gpc/navigator-globalPrivacyControl.https-expected.txt:
Added.
*
LayoutTests/imported/w3c/web-platform-tests/gpc/navigator-globalPrivacyControl.https.html:
Added.
* LayoutTests/imported/w3c/web-platform-tests/gpc/sec-gpc.https-expected.txt:
Added.
* LayoutTests/imported/w3c/web-platform-tests/gpc/sec-gpc.https.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/gpc/support/getGPC.py: Added.
(maybeBoolToJavascriptLiteral):
(main):
*
LayoutTests/imported/w3c/web-platform-tests/gpc/support/navigator-globalPrivacyControl.html:
Added.
*
LayoutTests/imported/w3c/web-platform-tests/gpc/support/navigator-globalPrivacyControl.js:
Added.
(test):
* LayoutTests/imported/w3c/web-platform-tests/gpc/support/w3c-import.log: Added.
* LayoutTests/imported/w3c/web-platform-tests/gpc/w3c-import.log: Added.
* LayoutTests/imported/w3c/web-platform-tests/resources/testdriver.js:
(window.test_driver):
* LayoutTests/platform/gtk/fast/dom/navigator-detached-no-crash-expected.txt:
*
LayoutTests/platform/mac-wk2/fast/dom/navigator-detached-no-crash-expected.txt:
* LayoutTests/platform/win/fast/dom/navigator-detached-no-crash-expected.txt:
* LayoutTests/platform/wpe/fast/dom/navigator-detached-no-crash-expected.txt:
* LayoutTests/resources/testdriver-vendor.js:
(window.test_driver_internal.get_global_privacy_control):
(window.test_driver_internal.set_global_privacy_control):
* Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml:
* Source/WebCore/CMakeLists.txt:
* Source/WebCore/DerivedSources-input.xcfilelist:
* Source/WebCore/DerivedSources-output.xcfilelist:
* Source/WebCore/DerivedSources.make:
* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/page/Navigator.idl:
* Source/WebCore/page/NavigatorGlobalPrivacyControl.cpp: Added.
(WebCore::NavigatorGlobalPrivacyControl::globalPrivacyControlEnabled):
* Source/WebCore/page/NavigatorGlobalPrivacyControl.h: Added.
* Source/WebCore/page/NavigatorGlobalPrivacyControl.idl: Added.
* Source/WebCore/page/WorkerNavigator.idl:
* Source/WebCore/platform/network/HTTPHeaderNames.in:
* Source/WebKit/NetworkProcess/NetworkResourceLoadParameters.h:
* Source/WebKit/NetworkProcess/NetworkResourceLoadParameters.serialization.in:
* Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::startNetworkLoad):
* Source/WebKit/UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesGetBoolValueForKeyForTesting):
* Source/WebKit/UIProcess/API/C/WKPreferencesRefPrivate.h:
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::addParametersShared):
* Tools/WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setGlobalPrivacyControl):
(WTR::TestRunner::getGlobalPrivacyControl):
* Tools/WebKitTestRunner/InjectedBundle/TestRunner.h:
* Tools/WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
* Tools/WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
Canonical link: https://commits.webkit.org/313347@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications