RFR: 8354646: java.awt.TextField allows to identify the spaces in a password when double clicked at the starting and end of the text [v14]

Alexey Ivanov aivanov at openjdk.org
Mon Jun 9 20:40:39 UTC 2025


On Mon, 9 Jun 2025 06:22:57 GMT, Jeremy Wood <duke at openjdk.org> wrote:

>> Make sure AquaTextPasswordFieldUI can't use selectWordAction.
>> 
>> The core problem here was we could call selectWordAction in the Aqua LAF on a JPasswordField. This problem was already solved in the BasicPasswordFieldUI . The same solution was copied and pasted into the SynthPasswordFieldUI . But the AquaTextPasswordFieldUI does NOT extend either class with the solution.
>> 
>> So the problem is partially about multiple inheritance.
>> 
>> My first response at solving the problem is just to move the existing solution to the parent BasicTextUI class and use an `instanceof` to make sure it is only applied to JPasswordFields. This should benefit all the PasswordFieldUI's (that I know about).
>> 
>> There may be many different philosophies/recommendations on how to resolve this; I'm open to suggestions.
>
> Jeremy Wood has updated the pull request incrementally with one additional commit since the last revision:
> 
>   8354646: moving test file to new package
>   
>   This is in response to:
>   https://github.com/openjdk/jdk/pull/25443#discussion_r2131872951

Changes requested by aivanov (Reviewer).

src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTextUI.java line 658:

> 656:             if (map.get(DefaultEditorKit.selectWordAction) != null) {
> 657:                 Action a = map.get(DefaultEditorKit.selectLineAction);
> 658:                 map.remove(DefaultEditorKit.selectWordAction);

Suggestion:

            if (map.get(DefaultEditorKit.selectWordAction) != null) {
                map.remove(DefaultEditorKit.selectWordAction);

                Action a = map.get(DefaultEditorKit.selectLineAction);

This would be clearer: remove first, then if there's a `selectLineAction` replace with it.

-------------

PR Review: https://git.openjdk.org/jdk/pull/25443#pullrequestreview-2911298891
PR Review Comment: https://git.openjdk.org/jdk/pull/25443#discussion_r2136469152


More information about the client-libs-dev mailing list