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

Reply via email to