<?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>142552</bug_id>
          
          <creation_ts>2015-03-10 17:24:56 -0700</creation_ts>
          <short_desc>scroll-snap-destination and scroll-snap-coordinate do not seem to work together properly</short_desc>
          <delta_ts>2015-03-25 21:13:54 -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>All</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>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1076138</commentid>
    <comment_count>0</comment_count>
      <attachid>248372</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-03-10 17:24:56 -0700</bug_when>
    <thetext>Created attachment 248372
Example (manual) failing test case

The &quot;scroll-snap-destination&quot; property is used to specify a location in the scrolling container&apos;s viewport that should be used for snapping. The &quot;scroll-snap-coordinate&quot; property is used to specify the coordinate in each of the child elements to align with the &quot;scroll-snap-destination&quot; location.

This does not seem to work properly at present.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1076139</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-03-10 17:25:55 -0700</bug_when>
    <thetext>&lt;rdar://problem/20114743&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079200</commentid>
    <comment_count>2</comment_count>
      <attachid>249215</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-03-22 19:13:33 -0700</bug_when>
    <thetext>Created attachment 249215
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079203</commentid>
    <comment_count>3</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-03-22 19:20:05 -0700</bug_when>
    <thetext>There were the following problems:

1. During testing I encountered at least one case where the CSSParser handed me a scroll-snap-destination with more than two components. I am no longer able to reproduce this, but I have added an assertion to try to catch this in the future.

2. We were not always putting a &apos;0&apos; offset snap point, which prevented us from snap scrolling to the beginning of the scroll container. This had the effect of creating a weird &quot;drift&quot; effect where WebKit tried to pull you away from the left edge of content towards the first snap point.

3. When using scroll-snap-destination/scroll-snap-coordinate markup, we were not generate per-element snap offsets to use as the basis for the &quot;-destination&quot; and &quot;-coordinate&quot; values to adjust.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079298</commentid>
    <comment_count>4</comment_count>
      <attachid>249215</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2015-03-23 09:54:36 -0700</bug_when>
    <thetext>Comment on attachment 249215
Patch

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

&gt; Source/WebCore/page/scrolling/AxisScrollSnapOffsets.cpp:103
&gt; +            // Only add zero at the beginning

Nit: Missing full stop.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079299</commentid>
    <comment_count>5</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-03-23 09:57:43 -0700</bug_when>
    <thetext>Committed r181855: &lt;http://trac.webkit.org/changeset/181855&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1080188</commentid>
    <comment_count>6</comment_count>
      <attachid>249215</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-03-25 21:13:54 -0700</bug_when>
    <thetext>Comment on attachment 249215
Patch

Why no tests?</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>248372</attachid>
            <date>2015-03-10 17:24:56 -0700</date>
            <delta_ts>2015-03-10 17:24:56 -0700</delta_ts>
            <desc>Example (manual) failing test case</desc>
            <filename>coordinate-destination-example.html</filename>
            <type>text/html</type>
            <size>3822</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">PGh0bWw+CiAgICA8aGVhZD4KICAgICAgICA8dGl0bGU+VXNpbmcgU2Nyb2xsIFNuYXAgQ29vcmRp
bmF0ZSBhbmQgRGVzdGluYXRpb24gU2V0dGluZ3M8L3RpdGxlPgogICAgICAgIDxzdHlsZT4KICAg
ICAgICAgICAgYm9keSB7CiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAg
ICAgICAgICAgcGFkZGluZzogMHB4OwogICAgICAgICAgICB9CiAgICAgICAgICAgIC5jb2xvckJv
eCB7CiAgICAgICAgICAgICAgICB3aWR0aDoxMzVweDsKICAgICAgICAgICAgICAgIGhlaWdodDox
ODFweDsKICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0OwogICAgICAgICAgICAgICAgLXdlYmtp
dC1zY3JvbGwtc25hcC1jb29yZGluYXRlOiA1MCUgNTAlOwogICAgICAgICAgICB9CiAgICAgICAg
ICAgIC5ob3Jpem9udGFsIHsKICAgICAgICAgICAgICAgIHdpZHRoOiA0NzNweDsKICAgICAgICAg
ICAgICAgIGhlaWdodDogMTgxcHg7CiAgICAgICAgICAgICAgICBvdmVyZmxvdy14OiBhdXRvOwog
ICAgICAgICAgICAgICAgb3ZlcmZsb3cteTogaGlkZGVuOwogICAgICAgICAgICAgICAgd2hpdGUt
c3BhY2U6IG5vd3JhcDsKICAgICAgICAgICAgICAgIC13ZWJraXQtc2Nyb2xsLXNuYXAtZGVzdGlu
YXRpb246IDUwJSA1JTA7CiAgICAgICAgICAgICAgICAtd2Via2l0LXNjcm9sbC1zbmFwLXR5cGU6
IG1hbmRhdG9yeTsKICAgICAgICAgICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0
b3VjaDsKICAgICAgICAgICAgfQogICAgICAgIDwvc3R5bGU+CiAgICA8L2hlYWQ+CiAgICA8Ym9k
eT4KICAgICAgICA8aDE+RXhhbXBsZSBvZiBTbmFwIERlc3RpbmF0aW9uPC9oMT4KICAgICAgICA8
cD5TbmFwIHBvaW50cyBhcmUgdXNlZCB0byBzY3JvbGwgb25lIGFsYnVtIGNvdmVyIHBlciB1c2Vy
IGdlc3R1cmUuPC9wPgogICAgICAgIDxoMj5TbmFwIGVuYWJsZWQ8L2gyPgogICAgICAgIDxkaXYg
Y2xhc3M9Imhvcml6b250YWwiPgogICAgICAgICAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogLXdlYmtp
dC1jYWxjKDMwICogNDczcHgpIj4KICAgICAgICAgICAgICAgIDxkaXYgaWQ9Iml0ZW0wMCIgY2xh
c3M9ImNvbG9yQm94IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogcmVkIj48L2Rpdj4KICAgICAg
ICAgICAgICAgIDxkaXYgaWQ9Iml0ZW0wMSIgY2xhc3M9ImNvbG9yQm94IiBzdHlsZT0iYmFja2dy
b3VuZC1jb2xvcjogZ3JlZW4iPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBpZD0iaXRlbTAy
IiBjbGFzcz0iY29sb3JCb3giIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiBibHVlIj48L2Rpdj4K
ICAgICAgICAgICAgICAgIDxkaXYgaWQ9Iml0ZW0wMyIgY2xhc3M9ImNvbG9yQm94IiBzdHlsZT0i
YmFja2dyb3VuZC1jb2xvcjogYXF1YSI+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJp
dGVtMDQiIGNsYXNzPSJjb2xvckJveCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHllbGxvdyI+
PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJpdGVtMDUiIGNsYXNzPSJjb2xvckJveCIg
c3R5bGU9ImJhY2tncm91bmQtY29sb3I6IGZ1c2NoaWEiPjwvZGl2PgogICAgICAgICAgICAgICAg
PGRpdiBpZD0iaXRlbTA2IiBjbGFzcz0iY29sb3JCb3giIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y
OiBhbGljZWJsdWUiPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBpZD0iaXRlbTA3IiBjbGFz
cz0iY29sb3JCb3giIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrc2FsbW9uIj48L2Rpdj4K
ICAgICAgICAgICAgICAgIDxkaXYgaWQ9Iml0ZW0wOCIgY2xhc3M9ImNvbG9yQm94IiBzdHlsZT0i
YmFja2dyb3VuZC1jb2xvcjogZ29sZCI+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJp
dGVtMDkiIGNsYXNzPSJjb2xvckJveCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IGxpZ2h0c2t5
Ymx1ZSI+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJpdGVtMTAiIGNsYXNzPSJjb2xv
ckJveCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IG9saXZlIj48L2Rpdj4KICAgICAgICAgICAg
ICAgIDxkaXYgaWQ9Iml0ZW0xMSIgY2xhc3M9ImNvbG9yQm94IiBzdHlsZT0iYmFja2dyb3VuZC1j
b2xvcjogbW9jY2FzaW4iPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBpZD0iaXRlbTEyIiBj
bGFzcz0iY29sb3JCb3giIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiBwdXJwbGUiPjwvZGl2Pgog
ICAgICAgICAgICAgICAgPGRpdiBpZD0iaXRlbTEzIiBjbGFzcz0iY29sb3JCb3giIHN0eWxlPSJi
YWNrZ3JvdW5kLWNvbG9yOiB3aGVhdCI+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJp
dGVtMTQiIGNsYXNzPSJjb2xvckJveCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHZpb2xldCI+
PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJpdGVtMTUiIGNsYXNzPSJjb2xvckJveCIg
c3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHdoaXRlIj48L2Rpdj4KICAgICAgICAgICAgICAgIDxk
aXYgaWQ9Iml0ZW0xNiIgY2xhc3M9ImNvbG9yQm94IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjog
c2xhdGVncmV5Ij48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgaWQ9Iml0ZW0xNyIgY2xhc3M9
ImNvbG9yQm94IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogc2VhZ3JlZW4iPjwvZGl2PgogICAg
ICAgICAgICAgICAgPGRpdiBpZD0iaXRlbTE4IiBjbGFzcz0iY29sb3JCb3giIHN0eWxlPSJiYWNr
Z3JvdW5kLWNvbG9yOiB0b21hdG8iPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBpZD0iaXRl
bTE5IiBjbGFzcz0iY29sb3JCb3giIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0aGlzdGxlIj48
L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgaWQ9Iml0ZW0yMCIgY2xhc3M9ImNvbG9yQm94IiBz
dHlsZT0iYmFja2dyb3VuZC1jb2xvcjogcm95YWxibHVlIj48L2Rpdj4KICAgICAgICAgICAgICAg
IDxkaXYgaWQ9Iml0ZW0yMSIgY2xhc3M9ImNvbG9yQm94IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xv
cjogdHVycXVvaXNlIj48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgaWQ9Iml0ZW0yMiIgY2xh
c3M9ImNvbG9yQm94IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogbGlnaHRjb3JhbCI+PC9kaXY+
CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJpdGVtMjMiIGNsYXNzPSJjb2xvckJveCIgc3R5bGU9
ImJhY2tncm91bmQtY29sb3I6IG9yYW5nZSI+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGlk
PSJpdGVtMjQiIGNsYXNzPSJjb2xvckJveCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IGN5YW4i
PjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBpZD0iaXRlbTI1IiBjbGFzcz0iY29sb3JCb3gi
IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiBjaGFydHJldXNlIj48L2Rpdj4KICAgICAgICAgICAg
ICAgIDxkaXYgaWQ9Iml0ZW0yNiIgY2xhc3M9ImNvbG9yQm94IiBzdHlsZT0iYmFja2dyb3VuZC1j
b2xvcjogZGltZ3JleSI+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJpdGVtMjciIGNs
YXNzPSJjb2xvckJveCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IGZpcmVicmljayI+PC9kaXY+
CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJpdGVtMjgiIGNsYXNzPSJjb2xvckJveCIgc3R5bGU9
ImJhY2tncm91bmQtY29sb3I6IGJsYWNrIj48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgaWQ9
Iml0ZW0yOSIgY2xhc3M9ImNvbG9yQm94IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogbmF2eSI+
PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9ib2R5Pgo8L2h0
bWw+
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>249215</attachid>
            <date>2015-03-22 19:13:33 -0700</date>
            <delta_ts>2015-03-23 09:54:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-142552-20150322191257.patch</filename>
            <type>text/plain</type>
            <size>7137</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4MTgzOSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBACisyMDE1LTAzLTIyICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIHNjcm9sbC1zbmFwLWRlc3Rp
bmF0aW9uIGFuZCBzY3JvbGwtc25hcC1jb29yZGluYXRlIGRvIG5vdCBzZWVtIHRvIHdvcmsgdG9n
ZXRoZXIgcHJvcGVybHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE0MjU1MgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjAxMTQ3NDM+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmV2aXNlIHRoZSBzbmFw
IHBvaW50IGxvZ2ljIGFzIGZvbGxvd3M6CisgICAgICAgICgxKSBQdXQgdGhlIHNuYXAgcG9pbnQg
ZGVzdGluYXRpb24gaGFuZGxpbmcgaW4gYSBoZWxwZXIgZnVuY3Rpb24gdG8gbWFrZSB0aGUgcmVz
dCBvZiB0aGUgY29kZQorICAgICAgICAgICAgZWFzaWVyIHRvIHJlYWQuCisgICAgICAgICgyKSBN
YWtlIHN1cmUgd2UgYWx3YXlzIGhhdmUgYSBsZWZ0LWhhbmQgc25hcCBwb2ludCAoaS5lLiwgcG9z
aXRpb24gMCksIGJ1dCBkb24ndCBhZGQgbXVsdGlwbGUKKyAgICAgICAgICAgIGxlZnQtaGFuZCBz
bmFwIHBvaW50cy4KKyAgICAgICAgKDMpIENyZWF0ZSBhIGhlbHBlciBmdW5jdGlvbiB0byBkZXRl
cm1pbmUgaWYgd2Ugc2hvdWxkIGJlIHdvcmtpbmcgd2l0aCB0aGUgc2Nyb2xsIHNuYXAgJ2VsZW1l
bnRzJworICAgICAgICAgICAgYmVoYXZpb3IuIFdlIHdhbnQgdG8gdXNlIHRoaXMgZm9yIHNjcm9s
bC1zbmFwLWRlc3RpbmF0aW9uL3Njcm9sbC1zbmFwLWNvb3JkaW5hdGUgbWFya3VwLgorICAgICAg
ICAoNCkgQ3JlYXRlIHBlci1lbGVtZW50IHNuYXAgcG9pbnQgb2Zmc2V0cyB3aGVuIHVzaW5nIHNj
cm9sbC1zbmFwLWRlc3RpbmF0aW9uL3Njcm9sbC1zbmFwLWNvb3JkaW5hdGUuCisKKyAgICAgICAg
KiBjc3MvQ1NTUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VT
Y3JvbGxTbmFwRGVzdGluYXRpb24pOiBBZGQgYXNzZXJ0aW9uIHRvIHRyeSB0byBjYXRjaCBiYWQg
cGFyc2VyIHN0YXRlLgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL0F4aXNTY3JvbGxTbmFwT2Zm
c2V0cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpkZXN0aW5hdGlvbk9mZnNldEZvclZpZXdTaXpl
KTogQWRkZWQgaGVscGVyIGZ1bmN0aW9uIHRvIGNvbnNvbGlkYXRlIGxvZ2ljIGZvciBoYW5kbGlu
ZworICAgICAgICBkZXN0aW5hdGlvbiBjb29yZGluYXRlcy4KKyAgICAgICAgKFdlYkNvcmU6OnVw
ZGF0ZUZyb21TdHlsZSk6IE1ha2Ugc3VyZSBhIGxlZnQtaGFuZCBzbmFwIHBvaW50IGlzIGFsd2F5
cyBwcm92aWRlZC4KKyAgICAgICAgKFdlYkNvcmU6OnN0eWxlVXNlc0VsZW1lbnRzKTogQWRkZWQg
aGVscGVyIGZ1bmN0aW9uLgorICAgICAgICAoV2ViQ29yZTo6dXBkYXRlU25hcE9mZnNldHNGb3JT
Y3JvbGxhYmxlQXJlYSk6IFJldmlzZSBsb2dpYyB0byBnZW5lcmF0ZSAncGVyLWVsZW1lbnQnIHNu
YXAgcG9pbnQKKyAgICAgICAgb2Zmc2V0cy4KKwogMjAxNS0wMy0yMiAgRXJpYyBDYXJsc29uICA8
ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBbTWFjXSBFbmFibGUgV0lSRUxFU1Nf
UExBWUJBQ0tfVEFSR0VUIGZvciBXSzEKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJz
ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCShy
ZXZpc2lvbiAxODE4MjIpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMzM1MCw2ICszMzUwLDcgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlU2Ny
b2xsU25hcFBvc2l0aW9ucwogYm9vbCBDU1NQYXJzZXI6OnBhcnNlU2Nyb2xsU25hcERlc3RpbmF0
aW9uKENTU1Byb3BlcnR5SUQgcHJvcElkLCBib29sIGltcG9ydGFudCkKIHsKICAgICBSZWZQdHI8
Q1NTVmFsdWVMaXN0PiBwb3NpdGlvbiA9IENTU1ZhbHVlTGlzdDo6Y3JlYXRlU3BhY2VTZXBhcmF0
ZWQoKTsKKyAgICBBU1NFUlQobV92YWx1ZUxpc3QtPnNpemUoKSA9PSAyKTsKICAgICBpZiAobV92
YWx1ZUxpc3QtPnNpemUoKSAhPSAyKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0F4aXNTY3JvbGxTbmFwT2Zmc2V0cy5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvQXhpc1Njcm9sbFNuYXBP
ZmZzZXRzLmNwcAkocmV2aXNpb24gMTgxODIyKQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvQXhpc1Njcm9sbFNuYXBPZmZzZXRzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjksNiAr
MjksNyBAQAogI2luY2x1ZGUgIkVsZW1lbnRDaGlsZEl0ZXJhdG9yLmgiCiAjaW5jbHVkZSAiSFRN
TENvbGxlY3Rpb24uaCIKICNpbmNsdWRlICJIVE1MRWxlbWVudC5oIgorI2luY2x1ZGUgIkxlbmd0
aC5oIgogI2luY2x1ZGUgIlJlbmRlckJveC5oIgogI2luY2x1ZGUgIlNjcm9sbGFibGVBcmVhLmgi
CiAjaW5jbHVkZSAiU3R5bGVTY3JvbGxTbmFwUG9pbnRzLmgiCkBAIC02OCwxOCArNjksMjUgQEAg
c3RhdGljIHZvaWQgYXBwZW5kQ2hpbGRTbmFwT2Zmc2V0cyhIVE1MRQogICAgIH0KIH0KIAorc3Rh
dGljIExheW91dFVuaXQgZGVzdGluYXRpb25PZmZzZXRGb3JWaWV3U2l6ZShTY3JvbGxFdmVudEF4
aXMgYXhpcywgY29uc3QgTGVuZ3RoU2l6ZSYgZGVzdGluYXRpb24sIExheW91dFVuaXQgdmlld1Np
emUpCit7CisgICAgY29uc3QgTGVuZ3RoJiBkaW1lbnNpb24gPSAoYXhpcyA9PSBTY3JvbGxFdmVu
dEF4aXM6Okhvcml6b250YWwpID8gZGVzdGluYXRpb24ud2lkdGgoKSA6IGRlc3RpbmF0aW9uLmhl
aWdodCgpOworICAgIHJldHVybiB2YWx1ZUZvckxlbmd0aChkaW1lbnNpb24sIHZpZXdTaXplKTsK
K30KKyAgICAKIHN0YXRpYyB2b2lkIHVwZGF0ZUZyb21TdHlsZShWZWN0b3I8TGF5b3V0VW5pdD4m
IHNuYXBPZmZzZXRzLCBjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUsIFNjcm9sbEV2ZW50QXhpcyBh
eGlzLCBMYXlvdXRVbml0IHZpZXdTaXplLCBMYXlvdXRVbml0IHNjcm9sbFNpemUsIFZlY3RvcjxM
YXlvdXRVbml0PiYgc25hcE9mZnNldFN1YnNlcXVlbmNlKQogewogICAgIHN0ZDo6c29ydChzbmFw
T2Zmc2V0U3Vic2VxdWVuY2UuYmVnaW4oKSwgc25hcE9mZnNldFN1YnNlcXVlbmNlLmVuZCgpKTsK
ICAgICBpZiAoc25hcE9mZnNldFN1YnNlcXVlbmNlLmlzRW1wdHkoKSkKICAgICAgICAgc25hcE9m
ZnNldFN1YnNlcXVlbmNlLmFwcGVuZCgwKTsKIAotICAgIGJvb2wgaXNIb3Jpem9udGFsQXhpcyA9
IGF4aXMgPT0gU2Nyb2xsRXZlbnRBeGlzOjpIb3Jpem9udGFsOwotICAgIGF1dG8qIHBvaW50cyA9
IGlzSG9yaXpvbnRhbEF4aXMgPyBzdHlsZS5zY3JvbGxTbmFwUG9pbnRzWCgpIDogc3R5bGUuc2Ny
b2xsU25hcFBvaW50c1koKTsKLSAgICBhdXRvJiBkZXN0aW5hdGlvbiA9IHN0eWxlLnNjcm9sbFNu
YXBEZXN0aW5hdGlvbigpOworICAgIC8vIEFsd2F5cyBwdXQgYSBzbmFwIHBvaW50IG9uIHRoZSB6
ZXJvIG9mZnNldC4KKyAgICBzbmFwT2Zmc2V0cy5hcHBlbmQoMCk7CisKKyAgICBhdXRvKiBwb2lu
dHMgPSAoYXhpcyA9PSBTY3JvbGxFdmVudEF4aXM6Okhvcml6b250YWwpID8gc3R5bGUuc2Nyb2xs
U25hcFBvaW50c1goKSA6IHN0eWxlLnNjcm9sbFNuYXBQb2ludHNZKCk7CiAgICAgYm9vbCBoYXNS
ZXBlYXQgPSBwb2ludHMgPyBwb2ludHMtPmhhc1JlcGVhdCA6IGZhbHNlOwogICAgIExheW91dFVu
aXQgcmVwZWF0T2Zmc2V0ID0gcG9pbnRzID8gdmFsdWVGb3JMZW5ndGgocG9pbnRzLT5yZXBlYXRP
ZmZzZXQsIHZpZXdTaXplKSA6IExheW91dFVuaXQoKTsKLSAgICBMYXlvdXRVbml0IGRlc3RpbmF0
aW9uT2Zmc2V0ID0gdmFsdWVGb3JMZW5ndGgoaXNIb3Jpem9udGFsQXhpcyA/IGRlc3RpbmF0aW9u
LndpZHRoKCkgOiBkZXN0aW5hdGlvbi5oZWlnaHQoKSwgdmlld1NpemUpOworICAgIExheW91dFVu
aXQgZGVzdGluYXRpb25PZmZzZXQgPSBkZXN0aW5hdGlvbk9mZnNldEZvclZpZXdTaXplKGF4aXMs
IHN0eWxlLnNjcm9sbFNuYXBEZXN0aW5hdGlvbigpLCB2aWV3U2l6ZSk7CiAgICAgTGF5b3V0VW5p
dCBjdXJTbmFwUG9zaXRpb25TaGlmdCA9IDA7CiAgICAgTGF5b3V0VW5pdCBtYXhTY3JvbGxPZmZz
ZXQgPSBzY3JvbGxTaXplIC0gdmlld1NpemU7CiAgICAgTGF5b3V0VW5pdCBsYXN0U25hcFBvc2l0
aW9uID0gY3VyU25hcFBvc2l0aW9uU2hpZnQ7CkBAIC05MiwyMSArMTAwLDMyIEBAIHN0YXRpYyB2
b2lkIHVwZGF0ZUZyb21TdHlsZShWZWN0b3I8TGF5b3UKICAgICAgICAgICAgIGlmIChwb3RlbnRp
YWxTbmFwUG9zaXRpb24gPj0gbWF4U2Nyb2xsT2Zmc2V0KQogICAgICAgICAgICAgICAgIGJyZWFr
OwogCi0gICAgICAgICAgICBzbmFwT2Zmc2V0cy5hcHBlbmQocG90ZW50aWFsU25hcFBvc2l0aW9u
KTsKKyAgICAgICAgICAgIC8vIE9ubHkgYWRkIHplcm8gYXQgdGhlIGJlZ2lubmluZworICAgICAg
ICAgICAgaWYgKHBvdGVudGlhbFNuYXBQb3NpdGlvbikKKyAgICAgICAgICAgICAgICBzbmFwT2Zm
c2V0cy5hcHBlbmQocG90ZW50aWFsU25hcFBvc2l0aW9uKTsKKwogICAgICAgICAgICAgbGFzdFNu
YXBQb3NpdGlvbiA9IHBvdGVudGlhbFNuYXBQb3NpdGlvbiArIGRlc3RpbmF0aW9uT2Zmc2V0Owog
ICAgICAgICB9CiAgICAgICAgIGN1clNuYXBQb3NpdGlvblNoaWZ0ID0gbGFzdFNuYXBQb3NpdGlv
biArIHJlcGVhdE9mZnNldDsKICAgICB9IHdoaWxlIChoYXNSZXBlYXQgJiYgY3VyU25hcFBvc2l0
aW9uU2hpZnQgPCBtYXhTY3JvbGxPZmZzZXQpOwogCi0gICAgaWYgKHNuYXBPZmZzZXRzLmlzRW1w
dHkoKSkKLSAgICAgICAgc25hcE9mZnNldHMuYXBwZW5kKDApOwotCiAgICAgLy8gQWx3YXlzIHB1
dCBhIHNuYXAgcG9pbnQgb24gdGhlIG1heGltdW0gc2Nyb2xsIG9mZnNldC4KICAgICAvLyBOb3Qg
YSBwYXJ0IG9mIHRoZSBzcGVjLCBidXQgbmVjZXNzYXJ5IHRvIHByZXZlbnQgdW5yZWFjaGFibGUg
Y29udGVudCB3aGVuIHNuYXBwaW5nLgogICAgIGlmIChzbmFwT2Zmc2V0cy5sYXN0KCkgIT0gbWF4
U2Nyb2xsT2Zmc2V0KQogICAgICAgICBzbmFwT2Zmc2V0cy5hcHBlbmQobWF4U2Nyb2xsT2Zmc2V0
KTsKIH0KIAorc3RhdGljIGJvb2wgc3R5bGVVc2VzRWxlbWVudHMoU2Nyb2xsRXZlbnRBeGlzIGF4
aXMsIGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSkKK3sKKyAgICBjb25zdCBTY3JvbGxTbmFwUG9p
bnRzKiBzY3JvbGxTbmFwUG9pbnRzID0gKGF4aXMgPT0gU2Nyb2xsRXZlbnRBeGlzOjpIb3Jpem9u
dGFsKSA/IHN0eWxlLnNjcm9sbFNuYXBQb2ludHNYKCkgOiBzdHlsZS5zY3JvbGxTbmFwUG9pbnRz
WSgpOworICAgIGlmIChzY3JvbGxTbmFwUG9pbnRzKQorICAgICAgICByZXR1cm4gc2Nyb2xsU25h
cFBvaW50cy0+dXNlc0VsZW1lbnRzOworCisgICAgY29uc3QgTGVuZ3RoJiBkZXN0aW5hdGlvbiA9
IChheGlzID09IFNjcm9sbEV2ZW50QXhpczo6SG9yaXpvbnRhbCkgPyBzdHlsZS5zY3JvbGxTbmFw
RGVzdGluYXRpb24oKS53aWR0aCgpIDogc3R5bGUuc2Nyb2xsU25hcERlc3RpbmF0aW9uKCkuaGVp
Z2h0KCk7CisKKyAgICByZXR1cm4gIWRlc3RpbmF0aW9uLmlzVW5kZWZpbmVkKCk7Cit9CisgICAg
CiB2b2lkIHVwZGF0ZVNuYXBPZmZzZXRzRm9yU2Nyb2xsYWJsZUFyZWEoU2Nyb2xsYWJsZUFyZWEm
IHNjcm9sbGFibGVBcmVhLCBIVE1MRWxlbWVudCYgc2Nyb2xsaW5nRWxlbWVudCwgY29uc3QgUmVu
ZGVyQm94JiBzY3JvbGxpbmdFbGVtZW50Qm94LCBjb25zdCBSZW5kZXJTdHlsZSYgc2Nyb2xsaW5n
RWxlbWVudFN0eWxlKQogewogICAgIGlmIChzY3JvbGxpbmdFbGVtZW50U3R5bGUuc2Nyb2xsU25h
cFR5cGUoKSA9PSBTY3JvbGxTbmFwVHlwZTo6Tm9uZSkgewpAQCAtMTMzLDggKzE1Miw4IEBAIHZv
aWQgdXBkYXRlU25hcE9mZnNldHNGb3JTY3JvbGxhYmxlQXJlYSgKICAgICBWZWN0b3I8TGF5b3V0
VW5pdD4gaG9yaXpvbnRhbFNuYXBPZmZzZXRTdWJzZXF1ZW5jZTsKICAgICBWZWN0b3I8TGF5b3V0
VW5pdD4gdmVydGljYWxTbmFwT2Zmc2V0U3Vic2VxdWVuY2U7CiAKLSAgICBib29sIHNjcm9sbFNu
YXBQb2ludHNYVXNlc0VsZW1lbnRzID0gc2Nyb2xsaW5nRWxlbWVudFN0eWxlLnNjcm9sbFNuYXBQ
b2ludHNYKCkgPyBzY3JvbGxpbmdFbGVtZW50U3R5bGUuc2Nyb2xsU25hcFBvaW50c1goKS0+dXNl
c0VsZW1lbnRzIDogZmFsc2U7Ci0gICAgYm9vbCBzY3JvbGxTbmFwUG9pbnRzWVVzZXNFbGVtZW50
cyA9IHNjcm9sbGluZ0VsZW1lbnRTdHlsZS5zY3JvbGxTbmFwUG9pbnRzWSgpID8gc2Nyb2xsaW5n
RWxlbWVudFN0eWxlLnNjcm9sbFNuYXBQb2ludHNZKCktPnVzZXNFbGVtZW50cyA6IGZhbHNlOwor
ICAgIGJvb2wgc2Nyb2xsU25hcFBvaW50c1hVc2VzRWxlbWVudHMgPSBzdHlsZVVzZXNFbGVtZW50
cyhTY3JvbGxFdmVudEF4aXM6Okhvcml6b250YWwsIHNjcm9sbGluZ0VsZW1lbnRTdHlsZSk7Cisg
ICAgYm9vbCBzY3JvbGxTbmFwUG9pbnRzWVVzZXNFbGVtZW50cyA9IHN0eWxlVXNlc0VsZW1lbnRz
KFNjcm9sbEV2ZW50QXhpczo6VmVydGljYWwgLCBzY3JvbGxpbmdFbGVtZW50U3R5bGUpOwogCiAg
ICAgaWYgKHNjcm9sbFNuYXBQb2ludHNYVXNlc0VsZW1lbnRzIHx8IHNjcm9sbFNuYXBQb2ludHNZ
VXNlc0VsZW1lbnRzKSB7CiAgICAgICAgIGJvb2wgc2hvdWxkQWRkSG9yaXpvbnRhbENoaWxkT2Zm
c2V0cyA9IHNjcm9sbFNuYXBQb2ludHNYVXNlc0VsZW1lbnRzICYmIGNhbkNvbXB1dGVIb3Jpem9u
dGFsT2Zmc2V0czsK
</data>
<flag name="review"
          id="274036"
          type_id="1"
          status="+"
          setter="dino"
    />
          </attachment>
      

    </bug>

</bugzilla>