Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 5c4b4308307bfb7cb290246fa62e20a29d5f0c0f
https://github.com/WebKit/WebKit/commit/5c4b4308307bfb7cb290246fa62e20a29d5f0c0f
Author: Richard Robinson <[email protected]>
Date: 2026-04-27 (Mon, 27 Apr 2026)
Changed paths:
A Tools/TestWebKitAPI/Helpers/cocoa/JavaScriptMessages.swift
A Tools/TestWebKitAPI/Helpers/cocoa/JavaScriptTypes.swift
A Tools/TestWebKitAPI/Helpers/cocoa/WebPage+JavaScriptExpression.swift
M Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj
M Tools/TestWebKitAPI/Tests/WebKit/WebPage/AppKitGesturesTests.swift
A Tools/TestWebKitAPI/Tests/WebKit/WebPage/JavaScriptExpressionTests.swift
Log Message:
-----------
[Swift Testing] Make it easy to allow a WebPage to get and set selection, and
to evaluate JS in general
https://bugs.webkit.org/show_bug.cgi?id=313383
rdar://175649972
Reviewed by Dan Glastonbury.
Implement a generalized way to create semi-type-safe, re-usable JS expressions
to be evaluated
by a WebPage in TestWebKitAPI.
Use this new mechanism and implement some basic expressions to get and set
selections.
* Tools/TestWebKitAPI/Helpers/cocoa/JavaScriptMessages.swift: Added.
(SelectionBoundingClientRect.expression):
(SelectionBoundingClientRect.encoded):
(SetSelection.expression):
(SetSelection.encoded):
(GetSelection.expression):
(GetSelection.encoded):
* Tools/TestWebKitAPI/Helpers/cocoa/JavaScriptTypes.swift: Added.
(JavaScriptSelection.encoded):
* Tools/TestWebKitAPI/Helpers/cocoa/WebPage+JavaScriptExpression.swift: Added.
(JavaScriptEncodable.encoded):
(JavaScriptExpression.expression):
* Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* Tools/TestWebKitAPI/Tests/WebKit/WebPage/AppKitGesturesTests.swift:
(AppKitGesturesTests.clickingChangesSelection):
* Tools/TestWebKitAPI/Tests/WebKit/WebPage/JavaScriptExpressionTests.swift:
Added.
(JavaScriptExpressionTests.setAndGetSelectionWithCollapsedPositionRoundTrip):
(JavaScriptExpressionTests.setSelectionAppliesRangeSelection):
(JavaScriptExpressionTests.getSelectionReturnsCollapsedAfterCollapsedIsSet):
(JavaScriptExpressionTests.getSelectionReturnsRangeAfterRangeIsSet):
(JavaScriptExpressionTests.setAndGetSelectionRangeRoundTrip):
(JavaScriptExpressionTests.selectionBoundingClientRectReturnsNonEmptyRectForRangeSelection):
(JavaScriptExpressionTests.selectionBoundingClientRectReturnsZeroWidthRectForCollapsedSelection):
Canonical link: https://commits.webkit.org/312070@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications