<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <p>On 2/23/18 10:57 AM, Shashidhara Veerabhadraiah wrote:<br>
    </p>
    <blockquote cite="mid:9447653d-6931-48a7-95e6-c72edd2defaa@default"
      type="cite">
      <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:PMingLiU;
        panose-1:2 1 6 1 0 1 1 1 1 1;}
@font-face
        {font-family:Tunga;
        panose-1:0 0 4 0 0 0 0 0 0 0;}
@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;}
@font-face
        {font-family:Georgia;
        panose-1:2 4 5 2 5 4 5 2 3 3;}
@font-face
        {font-family:"\@PMingLiU";
        panose-1:0 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:"Times New Roman \,serif";}
@font-face
        {font-family:"Courier New \;color\:\#353833";
        panose-1:0 0 0 0 0 0 0 0 0 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        color:black;}
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
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        color:black;}
code
        {mso-style-priority:99;
        font-family:"Courier New";}
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.membernamelink
        {mso-style-name:membernamelink;}
span.EmailStyle22
        {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;}
--></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 Semyon,
            Whenever the container is resized we used to update the
            scroll pane sizes/geometry regardless of the scroll bar
            display policies. This resizing make sense for the non
            SCROLLBARS_NEVER cases as the scroll pane is displayed or
            needed an update. This additional update posed issues for
            the SCROLLBARS_NEVER case where we are not supposed to
            display the scroll pane per the java doc, then why update?<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">Scroll pane
            geometry gets updated in 2 ways, one throí
            setScrollPosition() and childResized(). So I derived the
            conclusion based on the javadoc information that since we
            donít display the scroll pane there is no need to update the
            scroll pane geometry based on the childResized() as it was
            altering the position already set by the
            setScrollPosition(). This behavior is same as the other non
            SCROLLBARS_NEVER mode and setting the scroll bar display to
            SCROLLBARS_NEVER didnít made any difference.</span></p>
      </div>
    </blockquote>
    The only difference of SCROLLBARS_NEVER from others I got from
    javadoc is that the scroll bar controls are hidden. So the scrolling
    itself happens in the same way as in the case of visible scroll bars
    but it can be only controlled by mouse wheel or programmatically. In
    my understanding this means that the notification about the scrolled
    component size changes should happen in the same way as for all
    other cases. I see no reason for the differentiation that your fix
    introduces. What will happen if to remove this notification for
    visible scroll bars modes?<br>
    <br>
    --Semyon<br>
    <blockquote cite="mid:9447653d-6931-48a7-95e6-c72edd2defaa@default"
      type="cite">
      <div class="WordSection1">
        <p class="MsoNormal"><span style="color:#1F497D"><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 and
            regards,<br>
            Shashi<o:p></o:p></span></p>
        <p class="MsoNormal"><a moz-do-not-send="true"
            name="_MailEndCompose"><span style="color:#1F497D"><o:p>†</o:p></span></a></p>
        <div>
          <div style="border:none;border-top:solid #E1E1E1
            1.0pt;padding:3.0pt 0in 0in 0in">
            <p class="MsoNormal"><b><span style="color:windowtext">From:</span></b><span
                style="color:windowtext"> Semyon Sadetsky <br>
                <b>Sent:</b> Friday, February 23, 2018 10:17 PM<br>
                <b>To:</b> Shashidhara Veerabhadraiah
                <a class="moz-txt-link-rfc2396E" href="mailto:shashidhara.veerabhadraiah@oracle.com"><shashidhara.veerabhadraiah@oracle.com></a>;
                <a class="moz-txt-link-abbreviated" href="mailto:awt-dev@openjdk.java.net">awt-dev@openjdk.java.net</a><br>
                <b>Subject:</b> Re: <AWT Dev> [11] JDK-8195738:
                scroll poistion in ScrollPane is reset after calling
                validate()<o:p></o:p></span></p>
          </div>
        </div>
        <p class="MsoNormal"><o:p>†</o:p></p>
        <p>On 2/22/18 8:23 PM, Shashidhara Veerabhadraiah wrote:<span
            style="font-size:12.0pt"><o:p></o:p></span></p>
        <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
          <p class="MsoNormal"><span style="color:#1F497D">Hi Semyon,
              Thanks for your review comments.</span><o:p></o:p></p>
          <p class="MsoNormal"><span style="color:#1F497D">†</span><o:p></o:p></p>
          <p class="MsoNormal"><span style="color:#1F497D">Here are
              those different scroll bar pane modes and their
              description:</span><o:p></o:p></p>
          <table class="MsoNormalTable" style="width:15.0in;border:solid
            #EEEEEE 1.0pt;border-top:none" border="1" cellpadding="0"
            cellspacing="3" width="0">
            <tbody>
              <tr>
                <td style="border:none;background:#DEE3E9;padding:6.0pt
                  2.25pt 2.25pt 5.25pt" nowrap="nowrap" valign="top">
                  <p class="MsoNormal"><b><span
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#353833">Modifier
                        and Type</span></b><o:p></o:p></p>
                </td>
                <td style="border:none;background:#DEE3E9;padding:6.0pt
                  2.25pt 2.25pt 5.25pt" valign="top">
                  <p class="MsoNormal"><b><span
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#353833">Field</span></b><o:p></o:p></p>
                </td>
                <td style="border:none;background:#DEE3E9;padding:6.0pt
                  2.25pt 2.25pt 5.25pt" valign="top">
                  <p class="MsoNormal"><b><span
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#353833">Description</span></b><o:p></o:p></p>
                </td>
              </tr>
              <tr>
                <td style="border:none;background:white;padding:6.0pt
                  0in 2.25pt 7.5pt" nowrap="nowrap" valign="top">
                  <p class="MsoNormal"><code><span
                        style="font-size:10.5pt;color:#353833">static
                        int</span></code><o:p></o:p></p>
                </td>
                <td style="border:none;background:white;padding:6.0pt
                  2.25pt 2.25pt 5.25pt" valign="top">
                  <p class="MsoNormal"><span class="membernamelink"><b><span
style="font-size:10.5pt;font-family:"Courier New
                          ;color:#353833",serif"><a
                            moz-do-not-send="true"
href="https://docs.oracle.com/javase/9/docs/api/java/awt/ScrollPane.html#SCROLLBARS_ALWAYS"><span
                              style="color:#4A6782;text-decoration:none">SCROLLBARS_ALWAYS</span></a></span></b></span><o:p></o:p></p>
                </td>
                <td style="border:none;background:white;padding:6.0pt
                  0in 2.25pt 7.5pt" valign="top">
                  <p class="MsoNormal"><span
style="font-size:10.5pt;font-family:"Georgia",serif;color:#474747">Specifies
                      that horizontal/vertical scrollbars should always
                      be shown regardless of the respective sizes of the
                      scrollpane and child.</span><o:p></o:p></p>
                </td>
              </tr>
              <tr>
                <td style="border:none;background:#EEEEEF;padding:6.0pt
                  0in 2.25pt 7.5pt" nowrap="nowrap" valign="top">
                  <p class="MsoNormal"><code><span
                        style="font-size:10.5pt;color:#353833">static
                        int</span></code><o:p></o:p></p>
                </td>
                <td style="border:none;background:#EEEEEF;padding:6.0pt
                  2.25pt 2.25pt 5.25pt" valign="top">
                  <p class="MsoNormal"><span class="membernamelink"><b><span
style="font-size:10.5pt;font-family:"Courier New
                          ;color:#353833",serif"><a
                            moz-do-not-send="true"
href="https://docs.oracle.com/javase/9/docs/api/java/awt/ScrollPane.html#SCROLLBARS_AS_NEEDED"><span
                              style="color:#4A6782;text-decoration:none">SCROLLBARS_AS_NEEDED</span></a></span></b></span><o:p></o:p></p>
                </td>
                <td style="border:none;background:#EEEEEF;padding:6.0pt
                  0in 2.25pt 7.5pt" valign="top">
                  <p class="MsoNormal"><span
style="font-size:10.5pt;font-family:"Georgia",serif;color:#474747">Specifies
                      that horizontal/vertical scrollbar should be shown
                      only when the size of the child exceeds the size
                      of the scrollpane in the horizontal/vertical
                      dimension.</span><o:p></o:p></p>
                </td>
              </tr>
              <tr>
                <td style="border:none;background:white;padding:6.0pt
                  0in 2.25pt 7.5pt" nowrap="nowrap" valign="top">
                  <p class="MsoNormal"><code><span
                        style="font-size:10.5pt;color:#353833">static
                        int</span></code><o:p></o:p></p>
                </td>
                <td style="border:none;background:white;padding:6.0pt
                  2.25pt 2.25pt 5.25pt" valign="top">
                  <p class="MsoNormal"><span class="membernamelink"><b><span
style="font-size:10.5pt;font-family:"Courier New
                          ;color:#353833",serif"><a
                            moz-do-not-send="true"
href="https://docs.oracle.com/javase/9/docs/api/java/awt/ScrollPane.html#SCROLLBARS_NEVER"><span
                              style="color:#4A6782;text-decoration:none">SCROLLBARS_NEVER</span></a></span></b></span><o:p></o:p></p>
                </td>
                <td style="border:none;background:white;padding:6.0pt
                  0in 2.25pt 7.5pt" valign="top">
                  <p class="MsoNormal"><span
style="font-size:10.5pt;font-family:"Georgia",serif;color:#474747">Specifies
                      that horizontal/vertical scrollbars should never
                      be shown regardless of the respective sizes of the
                      scrollpane and child.</span><o:p></o:p></p>
                </td>
              </tr>
            </tbody>
          </table>
          <p class="MsoNormal"><span style="color:#1F497D">†</span><o:p></o:p></p>
        </blockquote>
        <p class="MsoNormal"><span
            style="font-size:12.0pt;font-family:"Times New
            Roman",serif">This javadoc, you've copy-pasted here,
            doesn't explain why in your fix the notification about
            changed child size is disabled for SCROLLBARS_NEVER case. <o:p></o:p></span></p>
        <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
          <p class="MsoNormal"><span style="color:#1F497D">Thanks and
              regards,<br>
              Shashi</span><o:p></o:p></p>
          <p class="MsoNormal"><span style="color:#1F497D">†</span><o:p></o:p></p>
          <div>
            <div style="border:none;border-top:solid #E1E1E1
              1.0pt;padding:3.0pt 0in 0in 0in">
              <p class="MsoNormal"><b><span style="color:windowtext">From:</span></b><span
                  style="color:windowtext"> Semyon Sadetsky <br>
                  <b>Sent:</b> Thursday, February 22, 2018 11:58 PM<br>
                  <b>To:</b> Shashidhara Veerabhadraiah <a
                    moz-do-not-send="true"
                    href="mailto:shashidhara.veerabhadraiah@oracle.com"><shashidhara.veerabhadraiah@oracle.com></a>;
                  <a moz-do-not-send="true"
                    href="mailto:awt-dev@openjdk.java.net">awt-dev@openjdk.java.net</a><br>
                  <b>Subject:</b> Re: <AWT Dev> [11] JDK-8195738:
                  scroll poistion in ScrollPane is reset after calling
                  validate()</span><o:p></o:p></p>
            </div>
          </div>
          <p class="MsoNormal">†<o:p></o:p></p>
          <p>Hi Shashi,<o:p></o:p></p>
          <p>Can you clarify what is the principal difference between
            SCROLLBARS_NEVER and other scroll policies that requires to
            avoid updating the scroll geometry according to the inner
            component size?<o:p></o:p></p>
          <p class="MsoNormal" style="margin-bottom:12.0pt">--Semyon<o:p></o:p></p>
          <div>
            <p class="MsoNormal">On 02/19/2018 11:08 PM, Shashidhara
              Veerabhadraiah wrote:<o:p></o:p></p>
          </div>
          <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
            <p class="MsoNormal">Hi All, Please review a code fix for
              the below bug.<o:p></o:p></p>
            <p class="MsoNormal">†<o:p></o:p></p>
            <p class="MsoNormal" style="text-indent:.5in">Bug: <a
                moz-do-not-send="true"
                href="https://bugs.openjdk.java.net/browse/JDK-8195738">https://bugs.openjdk.java.net/browse/JDK-8195738</a><o:p></o:p></p>
            <p class="MsoNormal" style="text-indent:.5in">†<o:p></o:p></p>
            <p class="MsoNormal" style="text-indent:.5in">Webrev: <a
                moz-do-not-send="true"
                href="http://cr.openjdk.java.net/%7Esveerabhadra/8195738/webrev.00/">http://cr.openjdk.java.net/~sveerabhadra/8195738/webrev.00/</a><o:p></o:p></p>
            <p class="MsoNormal">†<o:p></o:p></p>
            <p class="MsoNormal">Problematic platform: Windows only.<o:p></o:p></p>
            <p class="MsoNormal">†<o:p></o:p></p>
            <p class="MsoNormal">Summary: This bug occurs only on
              windows platform and whereas the behavior is different on
              Mac/Linux platforms. Now after this fix there is common
              behavior across the platforms.<o:p></o:p></p>
            <p class="MsoNormal"
              style="margin-left:.5in;text-indent:9.6pt">The main
              problem was with resetting the state of the scroll bars
              even though the scroll bar panes are spawned with
              SCROLLBARS_NEVER as the scroll bar display policy. This
              resetting should not occur as the scroll bar display
              policy makes the <o:p></o:p></p>
            <p class="MsoNormal"
              style="margin-left:.5in;text-indent:9.6pt">scroll bar
              panes invisible. Hence except the setScrollPosition()
              calls, we donít need to resize/update the scroll bars
              state upon calling the scroll bars validation if
              SCROLLBARS_NEVER policy is used as the scroll bars are not
              displayed.<o:p></o:p></p>
            <p class="MsoNormal">†<o:p></o:p></p>
            <p class="MsoNormal">Thanks and regards,<br>
              Shashi<o:p></o:p></p>
          </blockquote>
          <p class="MsoNormal"><span
              style="font-size:12.0pt;font-family:"Times New Roman
              ,serif",serif">†</span><o:p></o:p></p>
        </blockquote>
        <p class="MsoNormal"><span
            style="font-size:12.0pt;font-family:"Times New
            Roman",serif"><o:p>†</o:p></span></p>
      </div>
    </blockquote>
    <br>
  </body>
</html>