[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-2d-dev
Subject:    Re: [OpenJDK 2D-Dev] [11] RFR JDK-5109146: PNGMetadata Background color initialization from standard
From:       Phil Race <philip.race () oracle ! com>
Date:       2018-05-14 16:49:20
Message-ID: 9192cc60-fe95-2db2-91c0-ea0de296c695 () oracle ! com
[Download RAW message or body]

+1 from me.

-phil.

On 05/09/2018 05:43 AM, Jayathirth D V wrote:
>
> Hi Krishna,
>
> Thanks for the review.
>
> 1.I see that the fix is to update the bKGD_colorType for Background 
> color child. However, don’t you need to do the same thing for paletted 
> images as well?
>
> /We are not updating bKGD_colorType, we are adding missing 
> bKGD_colorType when user wants to specify background color. In 
> standard metadata if user wants to provide color palette and with 
> corresponding background color index then he should specify palette 
> using Chroma->Palette node and background index using Chroma-> 
> //BackgroundIndex node./
>
> 1.As for the test case, I’m not sure how ImageReaders and ImageWriters 
> work.
>
> I see that you query them from ImageIO, so the question is, do you 
> need to get a new ImageReader/ImageWriter for each image read/write 
> operation?
>
> If so, then, there is a potential problem when you call 
> VerifyNativeRGBValuesFromBKGDChunk() and 
> VerifyStandardRGBValuesFromBKGDChunk() in succession, since each in 
> turn calls writeAndReadMetaData() and the writer is disposed.
>
> On the other hand, if querying for the reader/writer for once is 
> enough, then you can initialize the image reader/writer in the static 
> block itself, and then run the whole test.
>
> /We don’t need multiple instances of writer/reader.I have changed the 
> code to create ImageReader & Writer instance only once. Also 
> PNGImageWriter/Reader doesn’t override dispose() method present in 
> super class which is just empty method, that is the reason why we 
> didn’t get NPE when writer was getting disposed and used again 
> previously. I have still kept writer & reader dispose() calls at the 
> end in test case which will be used if we plan to override these 
> methods in future./
>
> Also I noticed that test case was not failing even without fix. This 
> was happening because of usage of common metadata between 
> VerifyNativeRGBValuesFromBKGDChunk() & 
> VerifyStandardRGBValuesFromBKGDChunk(). I have updated the test case 
> to create independent metadata variables for 
> VerifyNativeRGBValuesFromBKGDChunk() & 
> VerifyStandardRGBValuesFromBKGDChunk().
>
> Please find updated webrev for review:
>
> http://cr.openjdk.java.net/~jdv/5109146/webrev.02/ 
> <http://cr.openjdk.java.net/%7Ejdv/5109146/webrev.02/>
>
> Thanks,
>
> Jay
>
> *From:* Krishna Addepalli
> *Sent:* Wednesday, May 09, 2018 11:51 AM
> *To:* 2d-dev
> *Subject:* Re: [OpenJDK 2D-Dev] [11] RFR JDK-5109146: PNGMetadata 
> Background color initialization from standard metadata is incomplete
>
> Hi Jay,
>
> Here are my observations/questions:
>
> 1.I see that the fix is to update the bKGD_colorType for Background 
> color child. However, don’t you need to do the same thing for paletted 
> images as well?
>
> 2.As for the test case, I’m not sure how ImageReaders and ImageWriters 
> work.
>
> I see that you query them from ImageIO, so the question is, do you 
> need to get a new ImageReader/ImageWriter for each image read/write 
> operation?
>
> If so, then, there is a potential problem when you call 
> VerifyNativeRGBValuesFromBKGDChunk() and 
> VerifyStandardRGBValuesFromBKGDChunk() in succession, since each in 
> turn calls writeAndReadMetaData() and the writer is disposed.
>
> On the other hand, if querying for the reader/writer for once is 
> enough, then you can initialize the image reader/writer in the static 
> block itself, and then run the whole test.
>
> Thanks,
>
> Krishna
>
> *From:* Jayathirth D V
> *Sent:* Wednesday, April 18, 2018 3:34 PM
> *To:* 2d-dev
> *Subject:* RE: [OpenJDK 2D-Dev] [11] RFR JDK-5109146: PNGMetadata 
> Background color initialization from standard metadata is incomplete
>
> Hello All,
>
> Since changes related to JDK-6574555 is pushed.
>
> Please find new webrev which captures test case changes over JDK-6574555.
>
> http://cr.openjdk.java.net/~jdv/5109146/webrev.01/ 
> <http://cr.openjdk.java.net/%7Ejdv/5109146/webrev.01/>
>
> Thanks,
>
> Jay
>
> *From:* Jayathirth D V
> *Sent:* Tuesday, April 17, 2018 3:34 PM
> *To:* 2d-dev
> *Subject:* [OpenJDK 2D-Dev] [11] RFR JDK-5109146: PNGMetadata 
> Background color initialization from standard metadata is incomplete
>
> Hello All,
>
> Please review the following fix in JDK11 :
>
> Bug : https://bugs.openjdk.java.net/browse/JDK-5109146
>
> Webrev : http://cr.openjdk.java.net/~jdv/5109146/webrev.00/ 
> <http://cr.openjdk.java.net/%7Ejdv/5109146/webrev.00/>
>
> _Issue:_ PNGMetadata.mergeStandardTree() function doesn’t set proper 
> bKGD colortype.
>
> _Solution:_ When bKGD R, G, B values are unique we need to store 
> appropriate bKGD colortype in metadata.
>
> _Note_ : Test case which is present as part of review in JDK-6574555 
> is only updated to handle regression scenario for this bug also. 
> Regression scenario between this bug and JDK-6574555 differ only in 
> what type(native/standard) metadata we use to merge bKGD RGB values.
>
> Thanks,
>
> Jay
>


[Attachment #3 (text/html)]

<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html;
      charset=windows-1252">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    +1 from me.<br>
    <br>
    -phil.<br>
    <br>
    <div class="moz-cite-prefix">On 05/09/2018 05:43 AM, Jayathirth D V
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:328b0c24-2f7c-4e9e-a120-aacbf4e647f9@default">
      <meta http-equiv="Content-Type" content="text/html;
        charset=windows-1252">
      <meta name="Generator" content="Microsoft Word 15 (filtered
        medium)">
      <style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:#0563C1;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:#954F72;
	text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
	{mso-style-priority:34;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:.5in;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"Calibri",sans-serif;}
p.msonormal0, li.msonormal0, div.msonormal0
	{mso-style-name:msonormal;
	mso-margin-top-alt:auto;
	margin-right:0in;
	mso-margin-bottom-alt:auto;
	margin-left:0in;
	font-size:12.0pt;
	font-family:"Times New Roman",serif;}
span.EmailStyle19
	{mso-style-type:personal;
	font-family:"Calibri",sans-serif;
	color:windowtext;}
span.EmailStyle20
	{mso-style-type:personal;
	font-family:"Calibri",sans-serif;
	color:#1F497D;}
span.EmailStyle21
	{mso-style-type:personal;
	font-family:"Calibri",sans-serif;
	color:#1F497D;}
span.EmailStyle22
	{mso-style-type:personal;
	font-family:"Calibri",sans-serif;
	color:#1F497D;}
span.EmailStyle23
	{mso-style-type:personal;
	font-family:"Calibri",sans-serif;
	color:#1F497D;}
span.EmailStyle24
	{mso-style-type:personal;
	font-family:"Calibri",sans-serif;
	color:#1F497D;}
span.EmailStyle25
	{mso-style-type:personal;
	font-family:"Calibri",sans-serif;
	color:#1F497D;}
span.EmailStyle26
	{mso-style-type:personal-reply;
	font-family:"Calibri",sans-serif;
	color:#1F497D;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
/* List Definitions */
@list l0
	{mso-list-id:754591440;
	mso-list-type:hybrid;
	mso-list-template-ids:1856304192 67698703 67698713 67698715 67698703 67698713 \
67698715 67698703 67698713 67698715;} @list l0:level1
	{mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level2
	{mso-level-number-format:alpha-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level3
	{mso-level-number-format:roman-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:right;
	text-indent:-9.0pt;}
@list l0:level4
	{mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level5
	{mso-level-number-format:alpha-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level6
	{mso-level-number-format:roman-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:right;
	text-indent:-9.0pt;}
@list l0:level7
	{mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level8
	{mso-level-number-format:alpha-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level9
	{mso-level-number-format:roman-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:right;
	text-indent:-9.0pt;}
@list l1
	{mso-list-id:1585452576;
	mso-list-type:hybrid;
	mso-list-template-ids:1819157428 -957472632 67698713 67698715 67698703 67698713 \
67698715 67698703 67698713 67698715;} @list l1:level1
	{mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;
	font-family:"Calibri",sans-serif;
	mso-bidi-font-family:"Times New Roman";}
@list l1:level2
	{mso-level-number-format:alpha-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l1:level3
	{mso-level-number-format:roman-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:right;
	text-indent:-9.0pt;}
@list l1:level4
	{mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l1:level5
	{mso-level-number-format:alpha-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l1:level6
	{mso-level-number-format:roman-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:right;
	text-indent:-9.0pt;}
@list l1:level7
	{mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l1:level8
	{mso-level-number-format:alpha-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l1:level9
	{mso-level-number-format:roman-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:right;
	text-indent:-9.0pt;}
@list l2
	{mso-list-id:1649213718;
	mso-list-type:hybrid;
	mso-list-template-ids:1856304192 67698703 67698713 67698715 67698703 67698713 \
67698715 67698703 67698713 67698715;} @list l2:level1
	{mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l2:level2
	{mso-level-number-format:alpha-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l2:level3
	{mso-level-number-format:roman-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:right;
	text-indent:-9.0pt;}
@list l2:level4
	{mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l2:level5
	{mso-level-number-format:alpha-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l2:level6
	{mso-level-number-format:roman-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:right;
	text-indent:-9.0pt;}
@list l2:level7
	{mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l2:level8
	{mso-level-number-format:alpha-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l2:level9
	{mso-level-number-format:roman-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:right;
	text-indent:-9.0pt;}
ol
	{margin-bottom:0in;}
ul
	{margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
      <div class="WordSection1">
        <p class="MsoNormal"><span style="color:#1F497D">Hi \
                Krishna,<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D">Thanks for the
            review.<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoListParagraph"
          style="text-indent:-.25in;mso-list:l1 level1 lfo3"><!--[if \
!supportLists]--><span  style="color:#1F497D"><span style="mso-list:Ignore">1.<span
                style="font:7.0pt &quot;Times New Roman&quot;">       \
</span></span></span><!--[endif]--><span  style="color:#1F497D">I see that the fix is \
to update the  bKGD_colorType for Background color child. However, don’t
            you need to do the same thing for paletted images as well?</span><span
            style="color:#1F497D"><o:p></o:p></span></p>
        <p class="MsoNormal" style="margin-left:.5in"><i><span
              style="color:#1F497D">We are not updating bKGD_colorType,
              we are adding missing bKGD_colorType when user wants to
              specify background color. In standard metadata if user
              wants to provide color palette and with corresponding
              background color index then he should specify palette
              using Chroma-&gt;Palette node and background index using
              Chroma-&gt;</span> </i><i><span style="color:#1F497D">BackgroundIndex
              node.<o:p></o:p></span></i></p>
        <p class="MsoNormal" style="margin-left:.5in"><span
            style="color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoListParagraph"
          style="text-indent:-.25in;mso-list:l2 level1 lfo2"><!--[if \
!supportLists]--><span  style="color:#1F497D"><span style="mso-list:Ignore">1.<span
                style="font:7.0pt &quot;Times New Roman&quot;">       \
</span></span></span><!--[endif]--><span  style="color:#1F497D">As for the test case, \
I’m not sure how  ImageReaders and ImageWriters work. <o:p></o:p></span></p>
        <p class="MsoListParagraph"><span style="color:#1F497D">I see
            that you query them from ImageIO, so the question is, do you
            need to get a new ImageReader/ImageWriter for each image
            read/write operation?<o:p></o:p></span></p>
        <p class="MsoListParagraph"><span style="color:#1F497D">If so,
            then, there is a potential problem when you call
            VerifyNativeRGBValuesFromBKGDChunk() and
            VerifyStandardRGBValuesFromBKGDChunk() in succession, since
            each in turn calls writeAndReadMetaData() and the writer is
            disposed.<o:p></o:p></span></p>
        <p class="MsoListParagraph"><span style="color:#1F497D"><o:p> \
</o:p></span></p>  <p class="MsoListParagraph"><span style="color:#1F497D">On the
            other hand, if querying for the reader/writer for once is
            enough, then you can initialize the image reader/writer in
            the static block itself, and then run the whole \
                test.<o:p></o:p></span></p>
        <p class="MsoListParagraph"><span style="color:#1F497D"><o:p> \
</o:p></span></p>  <p class="MsoListParagraph"><i><span style="color:#1F497D">We
              don’t need multiple instances of writer/reader.I have
              changed the code to create ImageReader &amp; Writer
              instance only once. Also PNGImageWriter/Reader doesn’t
              override dispose() method present in super class which is
              just empty method, that is the reason why we didn’t get
              NPE when writer was getting disposed and used again
              previously. I have still kept writer &amp; reader
              dispose() calls at the end in test case which will be used
              if we plan to override these methods in \
                future.<o:p></o:p></span></i></p>
        <p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D">Also I noticed
            that test case was not failing even without fix. This was
            happening because of usage of common metadata between
            VerifyNativeRGBValuesFromBKGDChunk() &amp;
            VerifyStandardRGBValuesFromBKGDChunk(). I have updated the
            test case to create independent metadata variables for
            VerifyNativeRGBValuesFromBKGDChunk() &amp;
            VerifyStandardRGBValuesFromBKGDChunk().<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D">Please find
            updated webrev for review:<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D"><a
              href="http://cr.openjdk.java.net/%7Ejdv/5109146/webrev.02/"
              moz-do-not-send="true">http://cr.openjdk.java.net/~jdv/5109146/webrev.02/</a>
  <o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span \
                style="color:#1F497D">Thanks,<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D">Jay<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
        <div>
          <div style="border:none;border-top:solid #E1E1E1
            1.0pt;padding:3.0pt 0in 0in 0in">
            <p class="MsoNormal"><b>From:</b> Krishna Addepalli <br>
              <b>Sent:</b> Wednesday, May 09, 2018 11:51 AM<br>
              <b>To:</b> 2d-dev<br>
              <b>Subject:</b> Re: [OpenJDK 2D-Dev] [11] RFR JDK-5109146:
              PNGMetadata Background color initialization from standard
              metadata is incomplete<o:p></o:p></p>
          </div>
        </div>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal"><span style="color:#1F497D">Hi \
                Jay,<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D">Here are my
            observations/questions:<o:p></o:p></span></p>
        <p class="MsoListParagraph"
          style="text-indent:-.25in;mso-list:l0 level1 lfo4"><!--[if \
!supportLists]--><span  style="color:#1F497D"><span style="mso-list:Ignore">1.<span
                style="font:7.0pt &quot;Times New Roman&quot;">       \
</span></span></span><!--[endif]--><span  style="color:#1F497D">I see that the fix is \
to update the  bKGD_colorType for Background color child. However, don’t
            you need to do the same thing for paletted images as \
well?<o:p></o:p></span></p>  <p class="MsoListParagraph"
          style="text-indent:-.25in;mso-list:l0 level1 lfo4"><!--[if \
!supportLists]--><span  style="color:#1F497D"><span style="mso-list:Ignore">2.<span
                style="font:7.0pt &quot;Times New Roman&quot;">       \
</span></span></span><!--[endif]--><span  style="color:#1F497D">As for the test case, \
I’m not sure how  ImageReaders and ImageWriters work. <o:p></o:p></span></p>
        <p class="MsoListParagraph"><span style="color:#1F497D">I see
            that you query them from ImageIO, so the question is, do you
            need to get a new ImageReader/ImageWriter for each image
            read/write operation?<o:p></o:p></span></p>
        <p class="MsoListParagraph"><span style="color:#1F497D">If so,
            then, there is a potential problem when you call
            VerifyNativeRGBValuesFromBKGDChunk() and
            VerifyStandardRGBValuesFromBKGDChunk() in succession, since
            each in turn calls writeAndReadMetaData() and the writer is
            disposed.<o:p></o:p></span></p>
        <p class="MsoListParagraph"><span style="color:#1F497D"><o:p> \
</o:p></span></p>  <p class="MsoListParagraph"><span style="color:#1F497D">On the
            other hand, if querying for the reader/writer for once is
            enough, then you can initialize the image reader/writer in
            the static block itself, and then run the whole \
                test.<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span \
                style="color:#1F497D">Thanks,<o:p></o:p></span></p>
        <p class="MsoNormal"><span \
style="color:#1F497D">Krishna<o:p></o:p></span></p>  <div>
          <div style="border:none;border-top:solid #E1E1E1
            1.0pt;padding:3.0pt 0in 0in 0in">
            <p class="MsoNormal"><b>From:</b> Jayathirth D V <br>
              <b>Sent:</b> Wednesday, April 18, 2018 3:34 PM<br>
              <b>To:</b> 2d-dev<br>
              <b>Subject:</b> RE: [OpenJDK 2D-Dev] [11] RFR JDK-5109146:
              PNGMetadata Background color initialization from standard
              metadata is incomplete<o:p></o:p></p>
          </div>
        </div>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Hello All,<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Since changes related to JDK-6574555 is
          pushed.<o:p></o:p></p>
        <p class="MsoNormal">Please find new webrev which captures test
          case changes over JDK-6574555.<o:p></o:p></p>
        <p class="MsoNormal"><a
            href="http://cr.openjdk.java.net/%7Ejdv/5109146/webrev.01/"
            moz-do-not-send="true">http://cr.openjdk.java.net/~jdv/5109146/webrev.01/</a>
  <o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Thanks,<o:p></o:p></p>
        <p class="MsoNormal">Jay<o:p></o:p></p>
        <p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
        <div>
          <div style="border:none;border-top:solid #E1E1E1
            1.0pt;padding:3.0pt 0in 0in 0in">
            <p class="MsoNormal"><b>From:</b> Jayathirth D V <br>
              <b>Sent:</b> Tuesday, April 17, 2018 3:34 PM<br>
              <b>To:</b> 2d-dev<br>
              <b>Subject:</b> [OpenJDK 2D-Dev] [11] RFR JDK-5109146:
              PNGMetadata Background color initialization from standard
              metadata is incomplete<o:p></o:p></p>
          </div>
        </div>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Hello All,<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Please review the following fix in JDK11 \
:<o:p></o:p></p>  <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Bug : <a
            href="https://bugs.openjdk.java.net/browse/JDK-5109146"
            moz-do-not-send="true">https://bugs.openjdk.java.net/browse/JDK-5109146</a>
  <o:p></o:p></p>
        <p class="MsoNormal">Webrev : <a
            href="http://cr.openjdk.java.net/%7Ejdv/5109146/webrev.00/"
            moz-do-not-send="true">http://cr.openjdk.java.net/~jdv/5109146/webrev.00/</a>
  <o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal"><u>Issue:</u>
          PNGMetadata.mergeStandardTree() function doesn’t set proper
          bKGD colortype.<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal"><u>Solution:</u> When bKGD R, G, B values
          are unique we need to store appropriate bKGD colortype in
          metadata.<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal"><u>Note</u> : Test case which is present as
          part of review in JDK-6574555 is only updated to handle
          regression scenario for this bug also. Regression scenario
          between this bug and JDK-6574555 differ only in what
          type(native/standard) metadata we use to merge bKGD RGB
          values.<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Thanks,<o:p></o:p></p>
        <p class="MsoNormal">Jay<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
      </div>
    </blockquote>
    <br>
  </body>
</html>



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic