<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>142522</bug_id>
          
          <creation_ts>2015-03-09 19:22:28 -0700</creation_ts>
          <short_desc>Overflow regions with scroll snap points are not reliably rubber banding</short_desc>
          <delta_ts>2015-06-17 17:33:12 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brent Fulgham">bfulgham</reporter>
          <assigned_to name="Brent Fulgham">bfulgham</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jamesr</cc>
    
    <cc>luiz</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1075863</commentid>
    <comment_count>0</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-03-09 19:22:28 -0700</bug_when>
    <thetext>The rubber band animation is not reliably triggering when scrolling regions with scroll snap points.

This seems to be due to the scroll snap point animation. Probably, the rubber band animation is getting tossed aside in favor of the scroll snap point animation. We probably need to be checking if our scroll takes us past the snap point bounds, so that we can ignore snap point animation and make sure we trigger the rubber band operation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1075864</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-03-09 19:23:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/20100726&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1102632</commentid>
    <comment_count>2</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-06-17 13:28:22 -0700</bug_when>
    <thetext>This is happening because we clamp our scroll targets to scroll-snap-points, which means we are guaranteed to never reach the rubber-band phase of scrolling.

Instead, we need to recognize when our gesture will take us past either extreme of the scrolling container, and skip scroll-snap for that case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1102634</commentid>
    <comment_count>3</comment_count>
      <attachid>255033</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-06-17 13:39:47 -0700</bug_when>
    <thetext>Created attachment 255033
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1102635</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-06-17 13:41:30 -0700</bug_when>
    <thetext>Attachment 255033 did not pass style-queue:


ERROR: Source/WebKit2/UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm:87:  The parameter name &quot;&gt;&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/WebKit2/UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm:89:  The parameter name &quot;&gt;&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 2 in 9 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1102687</commentid>
    <comment_count>5</comment_count>
      <attachid>255033</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-06-17 16:02:05 -0700</bug_when>
    <thetext>Comment on attachment 255033
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=255033&amp;action=review

&gt; Source/WebCore/page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:593
&gt; +    return LayoutSize(totalContentsSize());

I don’t think the explicit conversion to LayoutSize is needed here.

&gt; Source/WebCore/platform/ScrollAnimator.cpp:220
&gt; +    return LayoutSize(m_scrollableArea.contentsSize());

I don’t think the explicit conversion to LayoutSize is needed here.

&gt; Source/WebCore/platform/cocoa/ScrollController.h:33
&gt; +#include &quot;LayoutSize.h&quot;

To compile something with the return value LayoutSize, we only need a forward declaration of LayoutSize, not the entire LayoutSize.h header.

&gt; Source/WebCore/platform/cocoa/ScrollController.h:107
&gt; +    virtual LayoutSize scrollExtents() const = 0;

I think the right name for this is scrollExtent, not scrollExtents.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1102713</commentid>
    <comment_count>6</comment_count>
      <attachid>255033</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-06-17 17:07:41 -0700</bug_when>
    <thetext>Comment on attachment 255033
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=255033&amp;action=review

&gt;&gt; Source/WebCore/page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:593
&gt;&gt; +    return LayoutSize(totalContentsSize());
&gt; 
&gt; I don’t think the explicit conversion to LayoutSize is needed here.

OK.

&gt;&gt; Source/WebCore/platform/ScrollAnimator.cpp:220
&gt;&gt; +    return LayoutSize(m_scrollableArea.contentsSize());
&gt; 
&gt; I don’t think the explicit conversion to LayoutSize is needed here.

OK.

&gt;&gt; Source/WebCore/platform/cocoa/ScrollController.h:33
&gt;&gt; +#include &quot;LayoutSize.h&quot;
&gt; 
&gt; To compile something with the return value LayoutSize, we only need a forward declaration of LayoutSize, not the entire LayoutSize.h header.

OK.

&gt;&gt; Source/WebCore/platform/cocoa/ScrollController.h:107
&gt;&gt; +    virtual LayoutSize scrollExtents() const = 0;
&gt; 
&gt; I think the right name for this is scrollExtent, not scrollExtents.

OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1102720</commentid>
    <comment_count>7</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-06-17 17:33:12 -0700</bug_when>
    <thetext>Committed r185681: &lt;http://trac.webkit.org/changeset/185681&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255033</attachid>
            <date>2015-06-17 13:39:47 -0700</date>
            <delta_ts>2015-06-17 16:02:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-142522-20150617133911.patch</filename>
            <type>text/plain</type>
            <size>10348</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4NTY2MykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI5IEBACisyMDE1LTA2LTE3ICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIE92ZXJmbG93IHJlZ2lvbnMg
d2l0aCBzY3JvbGwgc25hcCBwb2ludHMgYXJlIG5vdCByZWxpYWJseSBydWJiZXIgYmFuZGluZwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQyNTIyCisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yMDEwMDcyNj4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaGVuIGNvbXB1dGluZyB0aGUgdGFyZ2V0IHNjcm9s
bCBkZXN0aW5hdGlvbiwgdXBkYXRlIHRoZSBuZWFyZXN0IHNuYXAgcG9pbnQgaW5kZXgKKyAgICAg
ICAgYW5kIG90aGVyIGJvb2trZWVwaW5nLCBidXQga2VlcCB0aGUgb3JpZ2luYWwgZ2VzdHVyZSB0
YXJnZXQgaWYgaXQgd291bGQgaGF2ZSB0YWtlbgorICAgICAgICB1cyBiZXlvbmQgZWl0aGVyIGxp
bWl0IG9mIHRoZSBzY3JvbGwgY29udGFpbmVyLgorCisgICAgICAgICogcGFnZS9zY3JvbGxpbmcv
bWFjL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWMuaDoKKyAgICAgICAgKiBwYWdl
L3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYy5tbToKKyAg
ICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWM6OnNjcm9s
bEV4dGVudHMpOiBBZGQgbmV3IG1ldGhvZAorICAgICAgICB0byBzdXBwb3J0IGNsaWVudCBBUEku
CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U2Nyb2xsQW5pbWF0b3I6OnNjcm9sbEV4dGVudHMpOiBBZGQgbmV3IG1ldGhvZCB0byBzdXBw
b3J0IGNsaWVudCBBUEkuCisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9sbGVyLmg6CisgICAgICAgIChXZWJD
b3JlOjpTY3JvbGxDb250cm9sbGVyQ2xpZW50OjpzY3JvbGxFeHRlbnRzKTogQWRkZWQgbmV3IHB1
cmUgdmlydHVhbCBtZXRob2QgdG8gQVBJLgorICAgICAgICAqIHBsYXRmb3JtL2NvY29hL1Njcm9s
bENvbnRyb2xsZXIubW06CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxDb250cm9sbGVyOjpiZWdp
blNjcm9sbFNuYXBBbmltYXRpb24pOiBIb2xkIG9udG8gb3JpZ2luYWwgdXNlciBnZXN0dXJlCisg
ICAgICAgIHRhcmdldCwgYW5kIHVzZSB0aGF0IGluc3RlYWQgb2Ygb3VyIG5lYXJlc3Qgc25hcCBw
b2ludCBpZiB0aGUgZ2VzdHVyZSB0YWtlcyB1cyBwYXN0CisgICAgICAgIGVpdGhlciBleHRyZW1l
IG9mIHRoZSBzY3JvbGwgY29udGFpbmVyLgorCiAyMDE1LTA2LTE3ICBKb2FubWFyaWUgRGlnZ3Mg
IDxqZGlnZ3NAaWdhbGlhLmNvbT4KIAogICAgICAgICBBWDogW0FUS10gRXhwb3NlIGVsZW1lbnQg
dGFnIG5hbWUgYXMgYW4gb2JqZWN0IGF0dHJpYnV0ZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWMuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJl
ZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYy5oCShyZXZpc2lvbiAxODU2NTkpCisrKyBTb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1h
Yy5oCSh3b3JraW5nIGNvcHkpCkBAIC04OCw2ICs4OCw3IEBAIHByaXZhdGU6CiAgICAgZmxvYXQg
cGFnZVNjYWxlRmFjdG9yKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdm9pZCBzdGFydFNjcm9sbFNu
YXBUaW1lcihTY3JvbGxFdmVudEF4aXMpIG92ZXJyaWRlOwogICAgIHZvaWQgc3RvcFNjcm9sbFNu
YXBUaW1lcihTY3JvbGxFdmVudEF4aXMpIG92ZXJyaWRlOworICAgIExheW91dFNpemUgc2Nyb2xs
RXh0ZW50cygpIGNvbnN0IG92ZXJyaWRlOwogI2VuZGlmCiAKICAgICB2b2lkIGxvZ0V4cG9zZWRV
bmZpbGxlZEFyZWEoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9T
Y3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjLm1tCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdO
b2RlTWFjLm1tCShyZXZpc2lvbiAxODU2NTkpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9s
bGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYy5tbQkod29ya2luZyBj
b3B5KQpAQCAtNTg3LDYgKzU4NywxMSBAQCB2b2lkIFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGlu
Z05vZGVNYWM6CiAgICAgaWYgKCFtX3Njcm9sbENvbnRyb2xsZXIuaGFzQWN0aXZlU2Nyb2xsU25h
cFRpbWVyRm9yQXhpcyhvdGhlckF4aXMpKQogICAgICAgICBzY3JvbGxpbmdUcmVlKCkuc2V0TWFp
bkZyYW1lSXNTY3JvbGxTbmFwcGluZyhmYWxzZSk7CiB9CisgICAgCitMYXlvdXRTaXplIFNjcm9s
bGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWM6OnNjcm9sbEV4dGVudHMoKSBjb25zdAorewor
ICAgIHJldHVybiBMYXlvdXRTaXplKHRvdGFsQ29udGVudHNTaXplKCkpOworfQogI2VuZGlmCiAK
IHZvaWQgU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYzo6ZGVmZXJUZXN0c0ZvclJl
YXNvbihXaGVlbEV2ZW50VGVzdFRyaWdnZXI6OlNjcm9sbGFibGVBcmVhSWRlbnRpZmllciBpZGVu
dGlmaWVyLCBXaGVlbEV2ZW50VGVzdFRyaWdnZXI6OkRlZmVyVGVzdFRyaWdnZXJSZWFzb24gcmVh
c29uKSBjb25zdApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3Iu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9y
LmNwcAkocmV2aXNpb24gMTg1NjU5KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xs
QW5pbWF0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAi
U2Nyb2xsQW5pbWF0b3IuaCIKIAogI2luY2x1ZGUgIkZsb2F0UG9pbnQuaCIKKyNpbmNsdWRlICJM
YXlvdXRTaXplLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1XaGVlbEV2ZW50LmgiCiAjaW5jbHVkZSAi
U2Nyb2xsYWJsZUFyZWEuaCIKICNpbmNsdWRlIDxhbGdvcml0aG0+CkBAIC0yMTMsNiArMjE0LDEx
IEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3I6OmltbWVkaWF0ZVNjcm9sbE9uQXgKICAgICBlbHNlCiAg
ICAgICAgIHNjcm9sbFRvT2Zmc2V0V2l0aG91dEFuaW1hdGlvbihGbG9hdFBvaW50KGN1cnJlbnRQ
b3NpdGlvbi54KCksIGN1cnJlbnRQb3NpdGlvbi55KCkgKyBkZWx0YSkpOwogfQorCitMYXlvdXRT
aXplIFNjcm9sbEFuaW1hdG9yOjpzY3JvbGxFeHRlbnRzKCkgY29uc3QKK3sKKyAgICByZXR1cm4g
TGF5b3V0U2l6ZShtX3Njcm9sbGFibGVBcmVhLmNvbnRlbnRzU2l6ZSgpKTsKK30KICNlbmRpZgog
CiAjaWYgKEVOQUJMRShDU1NfU0NST0xMX1NOQVApIHx8IEVOQUJMRShSVUJCRVJfQkFORElORykp
ICYmIFBMQVRGT1JNKE1BQykKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFu
aW1hdG9yLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5p
bWF0b3IuaAkocmV2aXNpb24gMTg1NjU5KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Ny
b2xsQW5pbWF0b3IuaAkod29ya2luZyBjb3B5KQpAQCAtMTM1LDYgKzEzNSw3IEBAIHB1YmxpYzoK
ICAgICB2b2lkIGltbWVkaWF0ZVNjcm9sbE9uQXhpcyhTY3JvbGxFdmVudEF4aXMsIGZsb2F0IGRl
bHRhKSBvdmVycmlkZTsKICAgICBib29sIGFjdGl2ZVNjcm9sbFNuYXBJbmRleERpZENoYW5nZSgp
IGNvbnN0OwogICAgIHVuc2lnbmVkIGFjdGl2ZVNjcm9sbFNuYXBJbmRleEZvckF4aXMoU2Nyb2xs
RXZlbnRBeGlzKSBjb25zdDsKKyAgICBMYXlvdXRTaXplIHNjcm9sbEV4dGVudHMoKSBjb25zdCBv
dmVycmlkZTsKICNlbmRpZgogCiBwcm90ZWN0ZWQ6CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9sbGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5oCShyZXZpc2lvbiAxODU2NTkpCisr
KyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9sbGVyLmgJKHdvcmtp
bmcgY29weSkKQEAgLTMwLDYgKzMwLDcgQEAKIAogI2luY2x1ZGUgIkZsb2F0UG9pbnQuaCIKICNp
bmNsdWRlICJGbG9hdFNpemUuaCIKKyNpbmNsdWRlICJMYXlvdXRTaXplLmgiCiAjaW5jbHVkZSAi
U2Nyb2xsVHlwZXMuaCIKICNpbmNsdWRlICJXaGVlbEV2ZW50VGVzdFRyaWdnZXIuaCIKICNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KQEAgLTEwMiw2ICsxMDMsOCBAQCBwdWJsaWM6CiAgICAg
ewogICAgICAgICByZXR1cm4gMDsKICAgICB9CisKKyAgICB2aXJ0dWFsIExheW91dFNpemUgc2Ny
b2xsRXh0ZW50cygpIGNvbnN0ID0gMDsKICNlbmRpZgogfTsKIApJbmRleDogU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5tbQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9sbGVyLm1tCShyZXZpc2lvbiAx
ODU2NTkpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9sbGVy
Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC03NTIsMTggKzc1MiwyNCBAQCB2b2lkIFNjcm9sbENvbnRy
b2xsZXI6OmJlZ2luU2Nyb2xsU25hcEFuCiAKICAgICBMYXlvdXRVbml0IG9mZnNldCA9IG1fY2xp
ZW50LnNjcm9sbE9mZnNldE9uQXhpcyhheGlzKTsKICAgICBmbG9hdCBpbml0aWFsV2hlZWxEZWx0
YSA9IG5ld1N0YXRlID09IFNjcm9sbFNuYXBTdGF0ZTo6R2xpZGluZyA/IHNuYXBTdGF0ZS5hdmVy
YWdlSW5pdGlhbFdoZWVsRGVsdGEoKSA6IDA7Ci0gICAgTGF5b3V0VW5pdCBwcm9qZWN0ZWRTY3Jv
bGxEZXN0aW5hdGlvbiA9IG5ld1N0YXRlID09IFNjcm9sbFNuYXBTdGF0ZTo6R2xpZGluZyA/IHNu
YXBTdGF0ZS5tX2JlZ2luVHJhY2tpbmdXaGVlbERlbHRhT2Zmc2V0ICsgTGF5b3V0VW5pdChwcm9q
ZWN0ZWRJbmVydGlhbFNjcm9sbERpc3RhbmNlKGluaXRpYWxXaGVlbERlbHRhKSkgOiBvZmZzZXQ7
CisgICAgTGF5b3V0VW5pdCBzY2FsZWRQcm9qZWN0ZWRTY3JvbGxEZXN0aW5hdGlvbiA9IG5ld1N0
YXRlID09IFNjcm9sbFNuYXBTdGF0ZTo6R2xpZGluZyA/IHNuYXBTdGF0ZS5tX2JlZ2luVHJhY2tp
bmdXaGVlbERlbHRhT2Zmc2V0ICsgTGF5b3V0VW5pdChwcm9qZWN0ZWRJbmVydGlhbFNjcm9sbERp
c3RhbmNlKGluaXRpYWxXaGVlbERlbHRhKSkgOiBvZmZzZXQ7CiAgICAgaWYgKHNuYXBTdGF0ZS5t
X3NuYXBPZmZzZXRzLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgZmxvYXQgc2Nh
bGVGYWN0b3IgPSBtX2NsaWVudC5wYWdlU2NhbGVGYWN0b3IoKTsKKyAgICBMYXlvdXRVbml0IG9y
aWdpbmFsUHJvamVjdGVkU2Nyb2xsRGVzdGluYXRpb24gPSBzY2FsZWRQcm9qZWN0ZWRTY3JvbGxE
ZXN0aW5hdGlvbiAvIHNjYWxlRmFjdG9yOwogICAgIAotICAgIHByb2plY3RlZFNjcm9sbERlc3Rp
bmF0aW9uID0gc3RkOjptaW4oc3RkOjptYXgoTGF5b3V0VW5pdChwcm9qZWN0ZWRTY3JvbGxEZXN0
aW5hdGlvbiAvIHNjYWxlRmFjdG9yKSwgc25hcFN0YXRlLm1fc25hcE9mZnNldHMuZmlyc3QoKSks
IHNuYXBTdGF0ZS5tX3NuYXBPZmZzZXRzLmxhc3QoKSk7CisgICAgTGF5b3V0VW5pdCBjbGFtcGVk
U2Nyb2xsRGVzdGluYXRpb24gPSBzdGQ6Om1pbihzdGQ6Om1heChvcmlnaW5hbFByb2plY3RlZFNj
cm9sbERlc3RpbmF0aW9uLCBzbmFwU3RhdGUubV9zbmFwT2Zmc2V0cy5maXJzdCgpKSwgc25hcFN0
YXRlLm1fc25hcE9mZnNldHMubGFzdCgpKTsKICAgICBzbmFwU3RhdGUubV9pbml0aWFsT2Zmc2V0
ID0gb2Zmc2V0OwogICAgIG1fYWN0aXZlU2Nyb2xsU25hcEluZGV4RGlkQ2hhbmdlID0gZmFsc2U7
Ci0gICAgc25hcFN0YXRlLm1fdGFyZ2V0T2Zmc2V0ID0gc2NhbGVGYWN0b3IgKiBjbG9zZXN0U25h
cE9mZnNldDxMYXlvdXRVbml0LCBmbG9hdD4oc25hcFN0YXRlLm1fc25hcE9mZnNldHMsIHByb2pl
Y3RlZFNjcm9sbERlc3RpbmF0aW9uLCBpbml0aWFsV2hlZWxEZWx0YSwgc25hcFN0YXRlLm1fYWN0
aXZlU25hcEluZGV4KTsKKyAgICBzbmFwU3RhdGUubV90YXJnZXRPZmZzZXQgPSBzY2FsZUZhY3Rv
ciAqIGNsb3Nlc3RTbmFwT2Zmc2V0PExheW91dFVuaXQsIGZsb2F0PihzbmFwU3RhdGUubV9zbmFw
T2Zmc2V0cywgY2xhbXBlZFNjcm9sbERlc3RpbmF0aW9uLCBpbml0aWFsV2hlZWxEZWx0YSwgc25h
cFN0YXRlLm1fYWN0aXZlU25hcEluZGV4KTsKICAgICBpZiAoc25hcFN0YXRlLm1faW5pdGlhbE9m
ZnNldCA9PSBzbmFwU3RhdGUubV90YXJnZXRPZmZzZXQpCiAgICAgICAgIHJldHVybjsKKworICAg
IExheW91dFVuaXQgc2Nyb2xsRXh0ZW50ID0gKGF4aXMgPT0gU2Nyb2xsRXZlbnRBeGlzOjpIb3Jp
em9udGFsKSA/IG1fY2xpZW50LnNjcm9sbEV4dGVudHMoKS53aWR0aCgpIDogbV9jbGllbnQuc2Ny
b2xsRXh0ZW50cygpLmhlaWdodCgpOworICAgIExheW91dFVuaXQgcHJvamVjdGVkU2Nyb2xsRGVz
dGluYXRpb24gPSBjbGFtcGVkU2Nyb2xsRGVzdGluYXRpb247CisgICAgaWYgKG9yaWdpbmFsUHJv
amVjdGVkU2Nyb2xsRGVzdGluYXRpb24gPCAwIHx8IG9yaWdpbmFsUHJvamVjdGVkU2Nyb2xsRGVz
dGluYXRpb24gPiBzY3JvbGxFeHRlbnQpCisgICAgICAgIHByb2plY3RlZFNjcm9sbERlc3RpbmF0
aW9uID0gb3JpZ2luYWxQcm9qZWN0ZWRTY3JvbGxEZXN0aW5hdGlvbjsKICAgICAKICAgICBtX2Fj
dGl2ZVNjcm9sbFNuYXBJbmRleERpZENoYW5nZSA9IHRydWU7CiAgICAgc25hcFN0YXRlLm1fY3Vy
cmVudFN0YXRlID0gbmV3U3RhdGU7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCShyZXZpc2lvbiAxODU2NjMpCisr
KyBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOCBA
QAorMjAxNS0wNi0xNyAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KKworICAg
ICAgICBPdmVyZmxvdyByZWdpb25zIHdpdGggc2Nyb2xsIHNuYXAgcG9pbnRzIGFyZSBub3QgcmVs
aWFibHkgcnViYmVyIGJhbmRpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE0MjUyMgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjAxMDA3MjY+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFrZSBzdXJl
IHdlIGRvbid0IGJsb2NrIHJ1YmJlcmJhbmRpbmcgYmVoYXZpb3Igd2hlbiBhIHNjcm9sbCBnZXN0
dXJlIHNob3VsZCB0YWtlIHVzIHBhc3QKKyAgICAgICAgdGhlIGVuZCBvZiB0aGUgc2Nyb2xsIGNv
bnRhaW5lci4KKworICAgICAgICAqIFVJUHJvY2Vzcy9TY3JvbGxpbmcvaW9zL1Njcm9sbGluZ1Ry
ZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVJT1MubW06CisgICAgICAgICgtW1dLT3ZlcmZsb3dTY3Jv
bGxWaWV3RGVsZWdhdGUgc2Nyb2xsVmlld1dpbGxFbmREcmFnZ2luZzp3aXRoVmVsb2NpdHk6dGFy
Z2V0Q29udGVudE9mZnNldDpdKTogRG9uJ3QgYWRqdXN0CisgICAgICAgIHRhcmdldCBwb2ludCBp
ZiB3ZSB3ZXJlIGdvaW5nIHRvIHNjcm9sbCBwYXN0IHRoZSBlZGdlcyBvZiB0aGUgc2Nyb2xsIGNv
bnRhaW5lci4KKwogMjAxNS0wNi0xNyAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxl
LmNvbT4KIAogICAgICAgICBTYWZhcmkgdGFicyBzdGlsbCBoYXZlIHNocnVua2VuIGNvbnRlbnQg
YWZ0ZXIgY29taW5nIG91dCBvZiBmdWxsc2NyZWVuCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvU2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlSU9T
Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9TY3JvbGxpbmcvaW9z
L1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVJT1MubW0JKHJldmlzaW9uIDE4NTY1
OSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9TY3JvbGxpbmcvaW9zL1Njcm9sbGluZ1Ry
ZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVJT1MubW0JKHdvcmtpbmcgY29weSkKQEAgLTgwLDExICs4
MCwxNCBAQCAtICh2b2lkKXNjcm9sbFZpZXdXaWxsQmVnaW5EcmFnZ2luZzooVUlTCiAjaWYgRU5B
QkxFKENTU19TQ1JPTExfU05BUCkKIC0gKHZvaWQpc2Nyb2xsVmlld1dpbGxFbmREcmFnZ2luZzoo
VUlTY3JvbGxWaWV3ICopc2Nyb2xsVmlldyB3aXRoVmVsb2NpdHk6KENHUG9pbnQpdmVsb2NpdHkg
dGFyZ2V0Q29udGVudE9mZnNldDooaW5vdXQgQ0dQb2ludCAqKXRhcmdldENvbnRlbnRPZmZzZXQK
IHsKKyAgICBDR0Zsb2F0IGhvcml6b250YWxUYXJnZXQgPSB0YXJnZXRDb250ZW50T2Zmc2V0LT54
OworICAgIENHRmxvYXQgdmVydGljYWxUYXJnZXQgPSB0YXJnZXRDb250ZW50T2Zmc2V0LT55Owor
CiAgICAgdW5zaWduZWQgaWdub3JlOwotICAgIGlmICghX3Njcm9sbGluZ1RyZWVOb2RlLT5ob3Jp
em9udGFsU25hcE9mZnNldHMoKS5pc0VtcHR5KCkpCi0gICAgICAgIHRhcmdldENvbnRlbnRPZmZz
ZXQtPnggPSBjbG9zZXN0U25hcE9mZnNldDxmbG9hdCwgQ0dGbG9hdD4oX3Njcm9sbGluZ1RyZWVO
b2RlLT5ob3Jpem9udGFsU25hcE9mZnNldHMoKSwgdGFyZ2V0Q29udGVudE9mZnNldC0+eCwgdmVs
b2NpdHkueCwgaWdub3JlKTsKLSAgICBpZiAoIV9zY3JvbGxpbmdUcmVlTm9kZS0+dmVydGljYWxT
bmFwT2Zmc2V0cygpLmlzRW1wdHkoKSkKLSAgICAgICAgdGFyZ2V0Q29udGVudE9mZnNldC0+eSA9
IGNsb3Nlc3RTbmFwT2Zmc2V0PGZsb2F0LCBDR0Zsb2F0Pihfc2Nyb2xsaW5nVHJlZU5vZGUtPnZl
cnRpY2FsU25hcE9mZnNldHMoKSwgdGFyZ2V0Q29udGVudE9mZnNldC0+eSwgdmVsb2NpdHkueSwg
aWdub3JlKTsKKyAgICBpZiAoIV9zY3JvbGxpbmdUcmVlTm9kZS0+aG9yaXpvbnRhbFNuYXBPZmZz
ZXRzKCkuaXNFbXB0eSgpICYmIGhvcml6b250YWxUYXJnZXQgPj0gMCAmJiBob3Jpem9udGFsVGFy
Z2V0IDw9IHNjcm9sbFZpZXcuY29udGVudFNpemUud2lkdGgpCisgICAgICAgIHRhcmdldENvbnRl
bnRPZmZzZXQtPnggPSBjbG9zZXN0U25hcE9mZnNldDxmbG9hdCwgQ0dGbG9hdD4oX3Njcm9sbGlu
Z1RyZWVOb2RlLT5ob3Jpem9udGFsU25hcE9mZnNldHMoKSwgaG9yaXpvbnRhbFRhcmdldCwgdmVs
b2NpdHkueCwgaWdub3JlKTsKKyAgICBpZiAoIV9zY3JvbGxpbmdUcmVlTm9kZS0+dmVydGljYWxT
bmFwT2Zmc2V0cygpLmlzRW1wdHkoKSAmJiB2ZXJ0aWNhbFRhcmdldCA+PSAwICYmIHZlcnRpY2Fs
VGFyZ2V0IDw9IHNjcm9sbFZpZXcuY29udGVudFNpemUuaGVpZ2h0KQorICAgICAgICB0YXJnZXRD
b250ZW50T2Zmc2V0LT55ID0gY2xvc2VzdFNuYXBPZmZzZXQ8ZmxvYXQsIENHRmxvYXQ+KF9zY3Jv
bGxpbmdUcmVlTm9kZS0+dmVydGljYWxTbmFwT2Zmc2V0cygpLCB2ZXJ0aWNhbFRhcmdldCwgdmVs
b2NpdHkueSwgaWdub3JlKTsKIH0KICNlbmRpZgogCg==
</data>
<flag name="review"
          id="280062"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>