Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 56a6a0d98d8c40c2dbecc438a2954b8e3c0c6bfe
https://github.com/WebKit/WebKit/commit/56a6a0d98d8c40c2dbecc438a2954b8e3c0c6bfe
Author: Alex Christensen <[email protected]>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M Source/WTF/wtf/cocoa/RuntimeApplicationChecksCocoa.h
M Source/WebKit/Shared/JavaScriptEvaluationResult.cpp
Log Message:
-----------
Add SerializedScriptValue serialization check in JavaScriptEvaluationResult
for old apps
https://bugs.webkit.org/show_bug.cgi?id=301306
rdar://162474048
Reviewed by Brady Eidson.
In 298898@main I replaced a roundtrip through SerializedScriptValue with a
faster check of
allowed classes in SerializedScriptValue::deserializationBehavior that also
paved the way
for the introduction of new types returned from JS that were not structured
clonable,
such as _WKJSHandle and _WKSerializedNode. Some of the subtleties of
SerializedScriptValue
were not carried over, and as a result at least one app has a JSValue that is
let through
the filter now but not before that change, causing it to crash. To restore
existing behavior
in this case, add the roundtrip back. To keep _WKJSHandle and
_WKSerializedNode possible,
and to avoid unnecessary performance cost, don't do the extra roundtrip with
new apps.
* Source/WTF/wtf/cocoa/RuntimeApplicationChecksCocoa.h:
* Source/WebKit/Shared/JavaScriptEvaluationResult.cpp:
(WebKit::JavaScriptEvaluationResult::extract):
Canonical link: https://commits.webkit.org/301986@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications