Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: a0577c1a7a829073419dbb6929ec7b6e087e9efc
https://github.com/WebKit/WebKit/commit/a0577c1a7a829073419dbb6929ec7b6e087e9efc
Author: Anne van Kesteren <[email protected]>
Date: 2026-10-08 (Thu, 08 Oct 2026)
Changed paths:
A
LayoutTests/imported/w3c/web-platform-tests/IndexedDB/value-not-exposed-in-worker-helper.js
A
LayoutTests/imported/w3c/web-platform-tests/IndexedDB/value-not-exposed-in-worker.tentative-expected.txt
A
LayoutTests/imported/w3c/web-platform-tests/IndexedDB/value-not-exposed-in-worker.tentative.html
M LayoutTests/imported/w3c/web-platform-tests/IndexedDB/w3c-import.log
A
LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCCertificate-postMessage-to-workers-helper.js
A
LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCCertificate-postMessage-to-workers.https-expected.txt
A
LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCCertificate-postMessage-to-workers.https.html
M LayoutTests/imported/w3c/web-platform-tests/webrtc/w3c-import.log
M Source/WebCore/bindings/js/IDBBindingUtilities.cpp
M Source/WebCore/bindings/js/SerializedScriptValue.cpp
Log Message:
-----------
Do not deserialize RTCCertificate in workers
https://bugs.webkit.org/show_bug.cgi?id=326793
rdar://189499857
Reviewed by Youenn Fablet.
RTCCertificate is [Exposed=Window], but posting one to a dedicated,
shared, or service worker delivered it there. Use the generated exposure
check, through isInterfaceExposedInGlobalObject() from 322979@main, so
that those messages fail to deserialize and result in a messageerror
event.
RTCCertificate can also be stored in IndexedDB, and reading one back in a
worker used to deliver it there too. Now that it fails to deserialize,
IDBRequest's result, IDBCursorWithValue's value, and IDBRecord's value
would be null, silently losing the record. Align with Firefox instead:
the request succeeds and reading the value throws. Throw a DataCloneError
rather than Firefox's InvalidStateError, as proposed in
https://github.com/w3c/IndexedDB/issues/391
(Chromium deserializes as null, which seems less useful.)
Tests:
imported/w3c/web-platform-tests/IndexedDB/value-not-exposed-in-worker.tentative.html
imported/w3c/web-platform-tests/webrtc/RTCCertificate-postMessage-to-workers.https.html
Canonical link: https://commits.webkit.org/323182@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications