RFR: 8214699: Node.getPseudoClassStates must return the same instance on every call

Ambarish Rapte arapte at openjdk.java.net
Thu Jun 18 16:41:15 UTC 2020


Node.getPseudoClassStates() returns a new UnmodifiableObservableSet of PseudoClassState on each call. So in order to
listen to any changes in this set, user must call the method Node.getPseudoClassStates() only once and keep a strong
reference to the returned UnmodifiableObservableSet.
 
So the fix is that the method Node.getPseudoClassStates() should return the same UnmodifiableObservableSet on every
call. As the returned set is an UnmodifiableObservableSet, it will not have any impact on it's usage.
 
Added a small unit test. and,
Altered(minor) a test which was modified in
past(https://github.com/openjdk/jfx/commit/0ac98695a1b11443c342fad4f009d6e03a052522)
(https://github.com/openjdk/jfx/commit/62323e0a9c5817b33daa262d6914eba0e8d274ff) along with this method and should be
updated in view of this change.

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

Commit messages:
 - 8214699: Node.getPseudoClassStates must return the same instance on every call

Changes: https://git.openjdk.java.net/jfx/pull/253/files
 Webrev: https://webrevs.openjdk.java.net/jfx/253/webrev.00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8214699
  Stats: 19 lines in 3 files changed: 9 ins; 7 del; 3 mod
  Patch: https://git.openjdk.java.net/jfx/pull/253.diff
  Fetch: git fetch https://git.openjdk.java.net/jfx pull/253/head:pull/253

PR: https://git.openjdk.java.net/jfx/pull/253


More information about the openjfx-dev mailing list