Hi All,
Please review the fix for jdk9, Bug: https://bugs.openjdk.java.net/browse/JDK-8025001 Webrev: http://cr.openjdk.java.net/~arapte/8025001/webrev.00/ Issue: ContainerOrderFocusTraversalPolicy.getComponentAfter() returns the same component on each call, which results in an infinite loop in the test provided in bug. Cause: By default, ContainerOrderFocusTraversalPolicy implicitly transfers focus down-cycle. That is, during normal forward focus traversal, the Component traversed after a focus-cycle-root will be the focus-cycle-root's default Component to focus. For a scenarios for above behavior, i.e. When focus-cycle-root & focus-cycle-root's default Component are the same component in traversal cycle. If getComponentAfter() is called with focus-cycle-root, it returns focus-cycle-root itself. Fix: Added a check to verify if the getComponentDownCycle() returns same component as the one passed to it. Then do not return this component and continue traversing. Verification: Verified that FocusTraversal tests PASS. DefaultFocusTraversalPolicy is directly inherited from ContainerOrderFocusTraversalPolicy. DefaultFocusTraversalPolicy also behaves well with above change. Thanks, Ambarish