<Swing Dev> RFR: [12] JDK-8208638: Instead of circle rendered in appl window, but ellipse is produced JEditor Pane
Sergey Bylokhov
Sergey.Bylokhov at oracle.com
Mon Sep 17 22:53:42 UTC 2018
Looks fine.
On 10/09/2018 05:35, Prasanta Sadhukhan wrote:
> +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
>>>>
>>>
>>>
>>
>
--
Best regards, Sergey.
More information about the swing-dev
mailing list