<Swing Dev> [11] JDK-8190347: [TESTBUG] Test javax/swing/JWindow/ShapedAndTranslucentWindows/TranslucentJComboBox.java fails
Prasanta Sadhukhan
prasanta.sadhukhan at oracle.com
Thu Feb 22 15:28:49 UTC 2018
ok. thanks for t he clarification. One point however, in spec it is
mentioned to use "As of v1.3, it is recommended that developers call
|Component.AccessibleAWTComponent.getAccessibleChild()| instead of this"
getAccessibleChild(JComponent c,
int i)
Regards
Prasanta
On 2/22/2018 8:36 PM, Pankaj Bansal wrote:
>
> Hi Prasanta,
>
> Thanks for the review.
>
> <<I guess you mentioned that we cannot fix completely for scaleFactor
> > 2. Does this fix cater to those scaleFactors too?
>
> This fix is not specific to any particular scale factor. I have just
> modified it to work independent of the fact popup is created above or
> below. This change is independent of any HiDPI settings. Using HiDPi
> scale >= 2 is just one of reproducing this issue. It can be reproduced
> altering the window size, changing number of items in popUp etc.
> basically the test case should not assume that popup will be opaque
> always when there are scenarios, when it won’t be opaque.
>
> << If not, I think it should be alright to restrict the testcase to
> run with uiScale=1.0 as it is not testing any hidpi feature.
> I found this issue while working on a bug
> https://bugs.openjdk.java.net/browse/JDK-8164811, which involves using
> translucent components with HiDPI screens and that issue was found
> because of this test case only. So I think this test case is supposed
> to work well on HiDPI screens. All the test cases in the same folder
> are run on 1.5 scale by default.
>
> Regards,
>
> Pankaj Bansal
>
> *From:*Prasanta Sadhukhan
> *Sent:* Thursday, February 22, 2018 8:14 PM
> *To:* Jayathirth D V; Pankaj Bansal; swing-dev at openjdk.java.net;
> Sergey Bylokhov
> *Subject:* Re: <Swing Dev> [11] JDK-8190347: [TESTBUG] Test
> javax/swing/JWindow/ShapedAndTranslucentWindows/TranslucentJComboBox.java
> fails
>
> Hi Pankaj,
>
> I guess you mentioned that we cannot fix completely for scaleFactor >
> 2. Does this fix cater to those scaleFactors too? If not, I think it
> should be alright to restrict the testcase to run with uiScale=1.0 as
> it is not testing any hidpi feature.
>
> Regards
> Prasanta
>
> On 2/22/2018 7:56 PM, Jayathirth D V wrote:
>
> Hi Pankaj,
>
> Copyright year should contain only the initial creation year and
> latest year in which the change is made. So you should replace
> 2016 with 2018. No need for another webrev you can make that
> change while pushing.
>
> Other changes present in webrev.01 over webrev.00 is fine.
>
> Please wait for more inputs from others before pushing the change.
>
> Thanks,
>
> Jay
>
> *From:* Pankaj Bansal
> *Sent:* Thursday, February 22, 2018 7:39 PM
> *To:* Jayathirth D V; swing-dev at openjdk.java.net
> <mailto:swing-dev at openjdk.java.net>; Sergey Bylokhov; Prasanta
> Sadhukhan
> *Subject:* RE: <Swing Dev> [11] JDK-8190347: [TESTBUG] Test
> javax/swing/JWindow/ShapedAndTranslucentWindows/TranslucentJComboBox.java
> fails
>
> Hello Jay,
>
> Thanks for the review.
>
> << We need to update Copyright year, add new bug id in jtreg
> comment & it’s better to keep jtreg comments before code for
> program starts like import statements.
>
> Done.
>
> Webrev
>
> http://cr.openjdk.java.net/~pbansal/8190347/webrev.01/
> <http://cr.openjdk.java.net/%7Epbansal/8190347/webrev.01/>
>
> << I think any one condition out of
> “(popup.getLocationOnScreen().y > ls.y” & “window.getHeight()
> < popup.getHeight() + south.getHeight()” would be enough to verify
> if popup.y <<exceeds window.y or not.
>
> No, it will not work. “popup.getLocationOnScreen().y > ls.y” is
> required to find whether the popup is created above or below the
> JComboBox.
>
> If it is below, raise exception as color conditions should have
> passed and this is an issue
>
> If it is above, then we further need to verify, if it will fit
> inside the window or not. If it does not fit, then popup will be
> opaque and raise exception as color test should have passed.
>
> Here we are trying to be sure that when the test has failed, it
> was not because of the reason that popup was translucent. In case
> of translucent popup, the color test will not pass and exception
> should not be thrown as it is expected.
>
> <<Also I remember we discussed on call that if possible we can
> keep the main window starting at y = 0, so that we have enough
> space below the window giving test more chance to <<execute properly.
>
> All that was required assuming that we can’t find if the popup is
> created below or above the JComboBox. But I was able to find that
> using the popup and JComboBox location and this change is no
> longer needed.
>
> Regards,
>
> Pankaj Bansal
>
> *From:* Jayathirth D V
> *Sent:* Thursday, February 22, 2018 6:26 PM
> *To:* Pankaj Bansal; swing-dev at openjdk.java.net
> <mailto:swing-dev at openjdk.java.net>; Sergey Bylokhov; Prasanta
> Sadhukhan
> *Subject:* RE: <Swing Dev> [11] JDK-8190347: [TESTBUG] Test
> javax/swing/JWindow/ShapedAndTranslucentWindows/TranslucentJComboBox.java
> fails
>
> Hi Pankaj,
>
> Please find my input:
>
> We need to update Copyright year, add new bug id in jtreg comment
> & it’s better to keep jtreg comments before code for program
> starts like import statements.
>
> I think any one condition out of “(popup.getLocationOnScreen().y >
> ls.y” & “window.getHeight() < popup.getHeight() +
> south.getHeight()” would be enough to verify if popup.y exceeds
> window.y or not.
>
> Also I remember we discussed on call that if possible we can keep
> the main window starting at y = 0, so that we have enough space
> below the window giving test more chance to execute properly.
>
> Thanks,
>
> Jay
>
> *From:* Pankaj Bansal
> *Sent:* Thursday, February 22, 2018 5:34 PM
> *To:* swing-dev at openjdk.java.net
> <mailto:swing-dev at openjdk.java.net>; Sergey Bylokhov; Prasanta
> Sadhukhan
> *Subject:* <Swing Dev> [11] JDK-8190347: [TESTBUG] Test
> javax/swing/JWindow/ShapedAndTranslucentWindows/TranslucentJComboBox.java
> fails
>
> Hi All,
>
> Please review the test only fix for JDK 11.
>
> Bug:
>
> https://bugs.openjdk.java.net/browse/JDK-8190347
>
> webrev:
>
> http://cr.openjdk.java.net/~pbansal/8190347/webrev.00/
> <http://cr.openjdk.java.net/%7Epbansal/8190347/webrev.00/>
>
> Issue:
>
> The test TranslucentJComboBox creates a Translucent JWindow and
> then adds a JComboBox at the bottom. Then a popup is created when
> clicked on JComboBox. The test always checks the popup for
> opaqueness whether it is created below or above the JComboBox. If
> it is created below the JComboBox, it will be opaque. If it is
> created above the JComboBox and it does not fit within the JWindow
> containing JComboBox, it will be opaque.
>
> But in some scenarios, the Popup is created above the JComboBox
> and it can fit within the JWindow. In this case, it be translucent
> and the test will fail. The test needs to consider these scenarios.
>
> One of the scenario to reproduce this is to run this test on a
> 1920X1080 screen with HiDPI value 2.0. The popup will be created
> above and it will fit within the JWindow of size 500X500. The test
> fails.
>
> Fix:
>
> Made changes to check if the popup is created below or above the
> JComboBox when the color values don’t pass the conditions. If it
> is created below or if it is created above and If it does not fit,
> through the exception else ignore.
>
> Regards,
>
> Pankaj Bansal
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/swing-dev/attachments/20180222/6761f4af/attachment.html>
More information about the swing-dev
mailing list