<Swing Dev> [11] JDK-8190347: [TESTBUG] Test javax/swing/JWindow/ShapedAndTranslucentWindows/TranslucentJComboBox.java fails
Sergey Bylokhov
Sergey.Bylokhov at oracle.com
Wed Feb 28 22:43:02 UTC 2018
Hi,Pankaj.
I have just recognized that this test was pushed to the jdk by our sqe
team when the bug itself was not fixed/closed: JDK-8024627
Can you please confirm that initial bug is fixed(or still reproducuble)
On 22/02/2018 21:57, Prasanta Sadhukhan wrote:
> looks fine to me.
>
> Regards
> Prasanta
> On 2/23/2018 11:10 AM, Pankaj Bansal wrote:
>>
>> Hi Prasanta,
>>
>> Thanks for the review.
>>
>> <<ok. thanks for the 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"
>>
>> Done.
>>
>> Webrev:
>>
>> http://cr.openjdk.java.net/~pbansal/8190347/webrev.02/
>> <http://cr.openjdk.java.net/%7Epbansal/8190347/webrev.02/>
>>
>> Regards,
>>
>> Pankaj Bansal
>>
>> *From:*Prasanta Sadhukhan
>> *Sent:* Thursday, February 22, 2018 8:59 PM
>> *To:* Pankaj Bansal; swing-dev at openjdk.java.net
>> *Subject:* Re: <Swing Dev> [11] JDK-8190347: [TESTBUG] Test
>> javax/swing/JWindow/ShapedAndTranslucentWindows/TranslucentJComboBox.java
>> fails
>>
>> 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
>> <mailto: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
>>
>
--
Best regards, Sergey.
More information about the swing-dev
mailing list