<Swing Dev> RFR: [12] JDK-8208638: Instead of circle rendered in appl window, but ellipse is produced JEditor Pane

Prasanta Sadhukhan prasanta.sadhukhan at oracle.com
Mon Sep 10 12:35:27 UTC 2018


+1

Regards
Prasanta
On 9/10/2018 5:56 PM, Krishna Addepalli wrote:
> Thanks for the comments Prasanta, here is the updated webrev: 
> http://cr.openjdk.java.net/~kaddepalli/8208638/webrev02/ 
> <http://cr.openjdk.java.net/%7Ekaddepalli/8208638/webrev02/>
>
> Krishna
>
>> On 10-Sep-2018, at 5:20 PM, Prasanta Sadhukhan 
>> <prasanta.sadhukhan at oracle.com 
>> <mailto:prasanta.sadhukhan at oracle.com>> wrote:
>>
>> yes, right. fix looks ok to me. Please change comment style in l946 
>> and make it similar to l956. Also, l960 change "ration" to "ratio"
>>
>> Regards
>> Prasanta
>> On 9/7/2018 9:00 PM, Krishna Addepalli wrote:
>>> Hi Prasanta,
>>> I think you are confused by the same name of the variables. 
>>> newHeight/newWidth are in “updateImage” and also 
>>> “ImageHandler::imageUpdate”.
>>> imageUpdate can be called from a background thread, with new 
>>> information from the image being loaded, that contains the newHeight 
>>> and newWidth. Along with this, the “flags” variable lets us know 
>>> what properties of the image are updated. For example, 
>>> ImageObserver.HEIHGT and ImageObserver.WIDTH flags being set 
>>> indicates, that this update call has fetched the image properties 
>>> from the file.
>>> Based on this, I cache these values, and then update them once the 
>>> image load is complete.
>>> Thanks,
>>> Krishna
>>> *From:*Prasanta Sadhukhan
>>> *Sent:*Friday, September 7, 2018 7:04 PM
>>> *To:*Krishna 
>>> Addepalli<krishna.addepalli at oracle.com>;swing-dev at openjdk.java.net
>>> *Subject:*Re: <Swing Dev> RFR: [12] JDK-8208638: Instead of circle 
>>> rendered in appl window, but ellipse is produced JEditor Pane
>>>
>>> Hi Krishna,
>>>
>>> We obtain newHeight and specifiedHeight by same method
>>>
>>> newHeight = getIntAttr(HTML.Attribute.HEIGHT, -1);
>>> and
>>>
>>> *specifiedHeight = getIntAttr(HTML.Attribute.HEIGHT, -1);*
>>> so I assume both will return the same value. So,
>>>
>>> *968                         if (specifiedHeight <= 0) {*
>>> *969                             proportion = specifiedWidth / 
>>> ((double)newWidth);*
>>> *970                             newHeight = (int)(proportion * 
>>> newHeight);*
>>> *971                         }*
>>> if specifiedHeight is <=0 then newHeight * proportion will also be 
>>> -ve or 0, isn't it? Will it not cause problem? Am I missing something?
>>>
>>> Regards
>>> Prasanta
>>> On 9/5/2018 4:25 PM, Krishna Addepalli wrote:
>>>
>>>     Hi All,
>>>     The testfix turned out to be simpler than I thought. I just had
>>>     to query the preferred size before making the frame visible, so
>>>     that the image is rendered on screen properly, and now Robot is
>>>     able to pick the color.
>>>     Here is the modified
>>>     webrev:http://cr.openjdk.java.net/~kaddepalli/8208638/webrev01/
>>>     <http://cr.openjdk.java.net/%7Ekaddepalli/8208638/webrev01/>
>>>     Thanks,
>>>     Krishna
>>>     *From:*Krishna Addepalli
>>>     *Sent:*Wednesday, September 5, 2018 9:41 AM
>>>     *To:*swing-dev at openjdk.java.net <mailto:swing-dev at openjdk.java.net>
>>>     *Subject:*Re: <Swing Dev> RFR: [12] JDK-8208638: Instead of
>>>     circle rendered in appl window, but ellipse is produced JEditor Pane
>>>     Hi All,
>>>     I found an issue with the test, and am working on it to make it
>>>     pass reliably. I was setting the size of the frame and then
>>>     querying the preferred size, which makes it a non-test.
>>>     I’m working to address it, meanwhile you could still review the
>>>     fix itself.
>>>     Thanks,
>>>     Krishna
>>>     *From:*Krishna Addepalli
>>>     *Sent:*Wednesday, September 5, 2018 12:10 AM
>>>     *To:*swing-dev at openjdk.java.net <mailto:swing-dev at openjdk.java.net>
>>>     *Subject:*RFR: [12] JDK-8208638: Instead of circle rendered in
>>>     appl window, but ellipse is produced JEditor Pane
>>>     Hi All,
>>>     Please review a fix for
>>>     JDK-8208638:https://bugs.openjdk.java.net/browse/JDK-8208638
>>>     Webrev:http://cr.openjdk.java.net/~kaddepalli/8208638/webrev00/
>>>     <http://cr.openjdk.java.net/%7Ekaddepalli/8208638/webrev00/>
>>>     JEditorPane supports loading HTML content, including images, and
>>>     this bug is about image scaling when either of the width/height
>>>     attributes are not specified in the HTML text.
>>>     The problem is that scaling of the images in all cases was not
>>>     handled properly. Here is the behavior that is observed in other
>>>     browsers:
>>>     1.If both width and height are specified in html, then use them
>>>     instead.
>>>     2.If both are not specified, then use the image dimensions.
>>>     3.If either one is specified, then proportionately adjust the
>>>     other dimension to preserve the aspect ratio of the image.
>>>     ImageView.java implementation was not handling the last case,
>>>     which is added in the fix.
>>>     The test is also fixed now, which was earlier relying on
>>>     Robot.getPixelColor, which does not work reliably. A happy
>>>     alternative was found, where in the “RootView” that is rendering
>>>     the html content is retrieved from the JEditorPane,  and its
>>>     preferred span is queried, which should match the case specific
>>>     width/height.
>>>     Tested it on all platforms (Windows, Linux(Ubuntu) and Mac) and
>>>     now it reliably passes.
>>>     Thanks,
>>>     Krishna
>>>
>>
>>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/swing-dev/attachments/20180910/84e03e33/attachment-0001.html>


More information about the swing-dev mailing list