RFR: 8307779: Relax the java.awt.Robot specification [v2]
Phil Race
prr at openjdk.org
Wed May 10 19:35:51 UTC 2023
On Wed, 10 May 2023 13:56:56 GMT, Alexander Zvegintsev <azvegint at openjdk.org> wrote:
>> We need to relax the java.awt.Robot specification according to the latest operating system trends.
>> This should at least cover the case of Wayland, which has changed many familiar concepts in Linux.
>>
>> https://bugs.openjdk.org/browse/JDK-8280982 [Wayland] [XWayland] java.awt.Robot taking screenshots
>> https://bugs.openjdk.org/browse/JDK-8280995 [XWayland] Robot.mouseMove does not visually move mouse cursor
>> https://bugs.openjdk.org/browse/JDK-8280990 [XWayland] XTest emulated mouse click does not bring window to front.
>> https://bugs.openjdk.org/browse/JDK-8280988 [XWayland] Click on title to request focus test failures
>
> Alexander Zvegintsev has updated the pull request incrementally with two additional commits since the last revision:
>
> - rephrase wording about mouse pointer may not visually move
> - Remove mention of mouse cursor for screen capture
Changes requested by prr (Reviewer).
src/java.desktop/share/classes/java/awt/Robot.java line 229:
> 227: /**
> 228: * Moves mouse pointer to given screen coordinates.
> 229: * @implNote the mouse pointer may not visually move on some platforms,
This doesn't seem to be an implNote in the way that the JEP
intends since it has nothing to do with anything we did in our implementation. I think it would have to be just spec, in which case I am not sure we should call out Linux+Wayland
See https://openjdk.org/jeps/8068562
"Implementation Notes. This section contains informative notes about the implementation, such as advice to implementors, or performance characteristics that are specific to the implementation in this class of this version of the JDK. The information in this section is subject to change from release to release. These characteristics are also allowed to vary across platforms, vendors, and versions."
src/java.desktop/share/classes/java/awt/Robot.java line 466:
> 464: * The {@link #revokeScreenCapturePermission()} can be used to revoke
> 465: * a previously granted permission.
> 466: * <p>
I would like to completely separate any decision on adding revokeScreenCapturePermission from
this spec. relaxation.
So we should remove the reference to it here into a separate PR about adding that API although I'm still not convinced we should add it.
src/java.desktop/share/classes/java/awt/Robot.java line 478:
> 476: * @throws SecurityException if {@code readDisplayPixels} permission
> 477: * is not granted, or user has not allowed any of his screens
> 478: * to be captured.
"user" -> "the user"
"his" -> gender neutral "their".
Or maybe better ", or access to the screen is denied by the desktop environment"
-------------
PR Review: https://git.openjdk.org/jdk/pull/13809#pullrequestreview-1421248176
PR Review Comment: https://git.openjdk.org/jdk/pull/13809#discussion_r1190309310
PR Review Comment: https://git.openjdk.org/jdk/pull/13809#discussion_r1190314116
PR Review Comment: https://git.openjdk.org/jdk/pull/13809#discussion_r1190316198
More information about the client-libs-dev
mailing list