<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>