Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 9e19f52c9a059de81e3d8cdd039e38772f955c8f
      
https://github.com/WebKit/WebKit/commit/9e19f52c9a059de81e3d8cdd039e38772f955c8f
  Author: Brady Eidson <[email protected]>
  Date:   2026-06-25 (Thu, 25 Jun 2026)

  Changed paths:
    M Source/WebKit/Scripts/webkit/opaque_ipc_types.tracking.in
    M Source/WebKit/Shared/Cocoa/CoreIPCNSURLRequest.h
    M Source/WebKit/Shared/Cocoa/CoreIPCNSURLRequest.mm
    M Source/WebKit/Shared/Cocoa/CoreIPCNSURLRequest.serialization.in
    M Tools/TestWebKitAPI/Tests/IPC/IPCSerialization.mm
    M Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKURLSchemeHandler-1.mm

  Log Message:
  -----------
  App-provided NSURLRequest properties are lost
rdar://180635166
https://bugs.webkit.org/show_bug.cgi?id=317872

Reviewed by Alex Christensen.

In IPC hardening, we prevented app-provided NSURLRequest properties from 
serializing.
Setting such properties is well established and supported API, so let's restore 
it.

In the spirit of the original hardening, we still prevent app-provided 
properties from
overriding keys that are likely to be Apple internally used.

These properties are for setting small bits of metadata, and not moving blobs 
around.
So we also restrict the value types to simple ones, as well as the size of the 
values

Tests: Tools/TestWebKitAPI/Tests/IPC/IPCSerialization.mm
       Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKURLSchemeHandler-1.mm

* Source/WebKit/Scripts/webkit/opaque_ipc_types.tracking.in:
* Source/WebKit/Shared/Cocoa/CoreIPCNSURLRequest.h:
* Source/WebKit/Shared/Cocoa/CoreIPCNSURLRequest.mm:
(WebKit::isReservedProtocolPropertyKeyPrefix):
(WebKit::isTypedAllowlistKey):
(WebKit::populateAppProperties):
(WebKit::CoreIPCNSURLRequest::CoreIPCNSURLRequest):
(WebKit::CoreIPCNSURLRequest::toID const):
* Source/WebKit/Shared/Cocoa/CoreIPCNSURLRequest.serialization.in:
* Tools/TestWebKitAPI/Tests/IPC/IPCSerialization.mm:
(TEST(IPCSerialization, NSURLRequestArbitraryAppProperties)):
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKURLSchemeHandler-1.mm:
(TEST(URLSchemeHandler, RequestProtocolPropertyPreserved)):

Canonical link: https://commits.webkit.org/315856@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to