Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: f748c34352d475d4f1e4f42268042d44d5996fea
https://github.com/WebKit/WebKit/commit/f748c34352d475d4f1e4f42268042d44d5996fea
Author: Anne van Kesteren <[email protected]>
Date: 2026-05-05 (Tue, 05 May 2026)
Changed paths:
M
LayoutTests/imported/w3c/web-platform-tests/fs/FileSystemBaseHandle-postMessage-BroadcastChannel.https.window-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/fs/FileSystemBaseHandle-postMessage-Error.https.window-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/fs/FileSystemBaseHandle-postMessage-MessagePort-frames.https.window-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/fs/FileSystemBaseHandle-postMessage-MessagePort-windows.https.window-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/fs/FileSystemBaseHandle-postMessage-MessagePort-workers.https.window-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/fs/FileSystemBaseHandle-postMessage-frames.https.window-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/fs/FileSystemBaseHandle-postMessage-windows.https.window-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/fs/FileSystemBaseHandle-postMessage-workers.https.window-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/fs/FileSystemFileHandle-create-sync-access-handle.https.window-expected.txt
M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml
M Source/WebCore/Headers.cmake
M Source/WebCore/Modules/filesystem/FileSystemDirectoryHandle.cpp
M Source/WebCore/Modules/filesystem/FileSystemFileHandle.cpp
M Source/WebCore/Modules/filesystem/FileSystemHandle.cpp
M Source/WebCore/Modules/filesystem/FileSystemHandle.h
A Source/WebCore/Modules/filesystem/FileSystemHandleKind.h
M Source/WebCore/Modules/filesystem/FileSystemStorageConnection.cpp
M Source/WebCore/Modules/filesystem/FileSystemStorageConnection.h
M Source/WebCore/Modules/filesystem/WorkerFileSystemStorageConnection.cpp
M Source/WebCore/Modules/filesystem/WorkerFileSystemStorageConnection.h
M Source/WebCore/Modules/storage/StorageConnection.h
M Source/WebCore/Modules/webaudio/AudioWorkletMessagingProxy.cpp
M Source/WebCore/Modules/webaudio/AudioWorkletMessagingProxy.h
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
M Source/WebCore/bindings/js/SerializedScriptValue.cpp
M Source/WebCore/bindings/js/SerializedScriptValue.h
M Source/WebCore/workers/WorkerGlobalScope.cpp
M Source/WebCore/workers/WorkerGlobalScope.h
M Source/WebCore/workers/WorkerLoaderProxy.h
M Source/WebCore/workers/WorkerMessagingProxy.cpp
M Source/WebCore/workers/WorkerMessagingProxy.h
M Source/WebCore/workers/service/ServiceWorker.cpp
M Source/WebCore/workers/service/context/ServiceWorkerThreadProxy.cpp
M Source/WebCore/workers/service/context/ServiceWorkerThreadProxy.h
M Source/WebCore/workers/shared/context/SharedWorkerThreadProxy.cpp
M Source/WebCore/workers/shared/context/SharedWorkerThreadProxy.h
M Source/WebKit/NetworkProcess/storage/FileSystemStorageHandle.cpp
M Source/WebKit/NetworkProcess/storage/FileSystemStorageHandle.h
M Source/WebKit/NetworkProcess/storage/FileSystemStorageManager.cpp
M Source/WebKit/NetworkProcess/storage/FileSystemStorageManager.h
M Source/WebKit/NetworkProcess/storage/NetworkStorageManager.cpp
M Source/WebKit/NetworkProcess/storage/NetworkStorageManager.h
M Source/WebKit/NetworkProcess/storage/NetworkStorageManager.messages.in
M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
M Source/WebKit/WebProcess/WebCoreSupport/WebFileSystemStorageConnection.cpp
M Source/WebKit/WebProcess/WebCoreSupport/WebFileSystemStorageConnection.h
M Source/WebKit/WebProcess/WebCoreSupport/WebStorageConnection.cpp
M Source/WebKit/WebProcess/WebCoreSupport/WebStorageConnection.h
Log Message:
-----------
FileSystemHandle serialization & deserialization; no storage
https://bugs.webkit.org/show_bug.cgi?id=313611
Reviewed by Sihui Liu.
Add structuredClone and postMessage support for FileSystemHandle
objects, gated behind FileSystemHandleSerializationEnabled (preview).
Serialization writes kind, name, identifier, and origin directly into
the byte stream. Transfer references keep the source handle alive in
the network process while the serialized form exists.
Deserialized handles are created synchronously with a borrowed
identifier. On first use (getFile, createWritable, etc.),
ensureIdentifier() sends a single CloneHandle IPC to obtain an
independent handle in the network process. This keeps the serialization
and deserialization path free of asynchronous steps.
Making cross-process handle transfer more robust and enabling storage
of FileSystemHandle objects will be separate changes.
Canonical link: https://commits.webkit.org/312616@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications