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

Reply via email to