Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: bce916c0709c34e188946fa60d1f210cbb132b1f
https://github.com/WebKit/WebKit/commit/bce916c0709c34e188946fa60d1f210cbb132b1f
Author: Richard Robinson <[email protected]>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
A Source/WebKit/Shared/JavaScriptEvaluationArrayDecoder.swift
A Source/WebKit/Shared/JavaScriptEvaluationCodableValue.swift
A Source/WebKit/Shared/JavaScriptEvaluationDecodingGraph.swift
A Source/WebKit/Shared/JavaScriptEvaluationFieldDecoder.swift
A Source/WebKit/Shared/JavaScriptEvaluationGraphDecoder.swift
A Source/WebKit/Shared/JavaScriptEvaluationObjectDecoder.swift
M Source/WebKit/Shared/JavaScriptEvaluationResultCxxInteropSupport.h
A Source/WebKit/Shared/JavaScriptEvaluationResultDecoder.swift
A Source/WebKit/UIProcess/API/Swift/WebPage+NewCodable.swift
M Source/WebKit/WebKit.xcodeproj/project.pbxproj
M Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj
A Tools/TestWebKitAPI/Tests/WebKit/WebPage/JavaScriptEvaluationTests.swift
Log Message:
-----------
[NewCodable] Add an initial implementation of a Swift decoder for JS
evaluation
https://bugs.webkit.org/show_bug.cgi?id=322884
rdar://186132455
Reviewed by Abrar Rahman Protyasha.
Add a JavaScriptEvaluationGraphDecoder to decode JavaScript evaluation results
into Swift.
Currently, this only supports decoding `Bool`.
Test: Tools/TestWebKitAPI/Tests/WebKit/WebPage/JavaScriptEvaluationTests.swift
* Source/WebKit/Shared/JavaScriptEvaluationArrayDecoder.swift: Added.
(JavaScriptEvaluationArrayDecoder.createDecoder(_:)):
* Source/WebKit/Shared/JavaScriptEvaluationCodableValue.swift: Added.
* Source/WebKit/Shared/JavaScriptEvaluationDecodingGraph.swift: Added.
(JavaScriptEvaluationDecodingGraph.map):
* Source/WebKit/Shared/JavaScriptEvaluationFieldDecoder.swift: Added.
(JavaScriptEvaluationFieldDecoder.string):
(JavaScriptEvaluationFieldDecoder.matches(_:)):
* Source/WebKit/Shared/JavaScriptEvaluationGraphDecoder.swift: Added.
(JavaScriptEvaluationGraphDecoder.decode(_:)):
(JavaScriptEvaluationGraphDecoder.decodeNil() throws(CodingError.Decoding:)):
(JavaScriptEvaluationGraphDecoder.decodeOptional(_:)):
* Source/WebKit/Shared/JavaScriptEvaluationObjectDecoder.swift: Added.
(JavaScriptEvaluationObjectDecoder.keyName(_:)):
(JavaScriptEvaluationObjectDecoder.valueDecoder(_:name:)):
(JavaScriptEvaluationObjectDecoder.keyDecoder(_:name:)):
* Source/WebKit/Shared/JavaScriptEvaluationResultCxxInteropSupport.h: Added.
(WebKit::JavaScriptEvaluationOwnedResult::JavaScriptEvaluationOwnedResult):
(WebKit::JavaScriptEvaluationOwnedResult::begin const):
(WebKit::JavaScriptEvaluationOwnedResult::end const):
(WebKit::JavaScriptEvaluationResultCxxInteropSupport::takeValue):
(WebKit::CxxInteropSupport::alternativeForVariant):
(WebKit::CxxInteropSupport::alternativeIndexForJavaScriptEvaluationResultValue):
(WebKit::CxxInteropSupport::jsObjectIDRawValue):
* Source/WebKit/Shared/JavaScriptEvaluationResultDecoder.swift: Added.
* Source/WebKit/UIProcess/API/Swift/WebPage+NewCodable.swift: Copied from
Source/WebKit/UIProcess/WebPageProxy.swift.
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* Tools/TestWebKitAPI/Tests/WebKit/WebPage/JavaScriptEvaluationTests.swift:
Copied from Source/WebKit/UIProcess/WebPageProxy.swift.
(JavaScriptEvaluationTests.evaluateBool):
Canonical link: https://commits.webkit.org/320497@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications