<?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>83138</bug_id>
          
          <creation_ts>2012-04-04 03:44:59 -0700</creation_ts>
          <short_desc>DOM measurement APIs should operate on pixel snapped values.</short_desc>
          <delta_ts>2012-04-05 05:49:44 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>60318</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Levi Weintraub">leviw</reporter>
          <assigned_to name="Levi Weintraub">leviw</assigned_to>
          <cc>eae</cc>
    
    <cc>eric</cc>
    
    <cc>jchaffraix</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>595383</commentid>
    <comment_count>0</comment_count>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2012-04-04 03:44:59 -0700</bug_when>
    <thetext>These APIs are defined to be integers, so we should use the actual rendered integers when returning values to JS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595391</commentid>
    <comment_count>1</comment_count>
      <attachid>135550</attachid>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2012-04-04 04:03:41 -0700</bug_when>
    <thetext>Created attachment 135550
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595975</commentid>
    <comment_count>2</comment_count>
      <attachid>135550</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-04-04 14:51:02 -0700</bug_when>
    <thetext>Comment on attachment 135550
Patch

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

&gt; Source/WebCore/dom/Element.cpp:351
&gt;      if (RenderBoxModelObject* rend = renderBoxModelObject())

Let&apos;s remove those abreviations (not repeated on all the other changes) while at it: renderBoxModelObject would be my favorite but at least renderer would be OK.

(note that also most of this logic could use const RenderObject&apos;s but that&apos;s another - definitely bug-worthy - story)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596468</commentid>
    <comment_count>3</comment_count>
      <attachid>135550</attachid>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2012-04-05 04:19:52 -0700</bug_when>
    <thetext>Comment on attachment 135550
Patch

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

&gt;&gt; Source/WebCore/dom/Element.cpp:351
&gt;&gt;      if (RenderBoxModelObject* rend = renderBoxModelObject())
&gt; 
&gt; Let&apos;s remove those abreviations (not repeated on all the other changes) while at it: renderBoxModelObject would be my favorite but at least renderer would be OK.
&gt; 
&gt; (note that also most of this logic could use const RenderObject&apos;s but that&apos;s another - definitely bug-worthy - story)

Done and done! Good point and thanks for the review :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596478</commentid>
    <comment_count>4</comment_count>
      <attachid>135804</attachid>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2012-04-05 04:43:17 -0700</bug_when>
    <thetext>Created attachment 135804
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596513</commentid>
    <comment_count>5</comment_count>
      <attachid>135804</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-05 05:49:39 -0700</bug_when>
    <thetext>Comment on attachment 135804
Patch for landing

Clearing flags on attachment: 135804

Committed r113317: &lt;http://trac.webkit.org/changeset/113317&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596514</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-05 05:49:44 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135550</attachid>
            <date>2012-04-04 04:03:41 -0700</date>
            <delta_ts>2012-04-05 04:43:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-83138-20120404130338.patch</filename>
            <type>text/plain</type>
            <size>5121</size>
            <attacher name="Levi Weintraub">leviw</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMzE2MikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI4IEBACisyMDEyLTA0LTA0ICBMZXZpIFdl
aW50cmF1YiAgPGxldml3QGNocm9taXVtLm9yZz4KKworICAgICAgICBET00gbWVhc3VyZW1lbnQg
QVBJcyBzaG91bGQgb3BlcmF0ZSBvbiBwaXhlbCBzbmFwcGVkIHZhbHVlcy4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgzMTM4CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRE9NIG1lYXN1cmVtZW50IEFQSXMg
cmV0dXJuIHVuc2NhbGVkIGludGVnZXJzLiBJbiBhbiBlZmZvcnQgdG8gcmV0dXJuIHRoZSBiZXN0
IHBvc3NpYmxlIHZhbHVlcyAoYW5kCisgICAgICAgIG1vc3QgY29uc2lzdGVudCB3aXRoIGN1cnJl
bnQgYmVoYXZpb3IpIHdoZW4gd2UgdXNlIHN1Yi1waXhlbCB2YWx1ZXMgZm9yIExheW91dCwgd2Ug
d2FudCB0byBhZGp1c3QKKyAgICAgICAgdGhlIGFjdHVhbCBvbi1zY3JlZW4gcG9zaXRpb24gYW5k
IHNpemUgdmFsdWVzIGZvciBzY2FsaW5nLCBub3QgdGhlIHN1Yi1waXhlbCB2YWx1ZXMuCisKKyAg
ICAgICAgTm8gbmV3IHRlc3RzLiBObyBjaGFuZ2UgaW4gYmVoYXZpb3IuCisKKyAgICAgICAgKiBk
b20vRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjphZGp1c3RGb3JMb2NhbFpvb20pOiBO
ZWVkcyB0byByZXR1cm4gYW4gaW50ZWdlciwgc2luY2UgdGhpcyBpcyB3aGF0IHRoZSBET00gQVBJ
IGNhbGxzIGZvci4KKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6Om9mZnNldFdpZHRoKTogVXNp
bmcgcGl4ZWwgc25hcHBlZCB2YWx1ZXMgZm9yIGFsbCB0aGUgZm9sbG93aW5nIGZ1bmN0aW9ucy4K
KyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6Om9mZnNldEhlaWdodCk6CisgICAgICAgIChXZWJD
b3JlOjpFbGVtZW50OjpjbGllbnRMZWZ0KToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmNs
aWVudFRvcCk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpjbGllbnRXaWR0aCk6CisgICAg
ICAgIChXZWJDb3JlOjpFbGVtZW50OjpjbGllbnRIZWlnaHQpOgorICAgICAgICAqIGh0bWwvSFRN
TEltYWdlRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50Ojp3
aWR0aCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50OjpoZWlnaHQpOgorCiAy
MDEyLTA0LTAzICBMZXZpIFdlaW50cmF1YiAgPGxldml3QGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBTd2l0Y2ggYmFzZWxpbmUgdmFsdWVzIHRvIExheW91dFVuaXRzIGluIFJlbmRlclRhYmxlU2Vj
dGlvbi4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAJKHJldmlzaW9uIDExMzE2MSkKKysrIFNv
dXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzE4LDcgKzMx
OCw3IEBAIHN0YXRpYyBmbG9hdCBsb2NhbFpvb21Gb3JSZW5kZXJlcihSZW5kZXIKICAgICByZXR1
cm4gem9vbUZhY3RvcjsKIH0KIAotc3RhdGljIExheW91dFVuaXQgYWRqdXN0Rm9yTG9jYWxab29t
KExheW91dFVuaXQgdmFsdWUsIFJlbmRlck9iamVjdCogcmVuZGVyZXIpCitzdGF0aWMgaW50IGFk
anVzdEZvckxvY2FsWm9vbShMYXlvdXRVbml0IHZhbHVlLCBSZW5kZXJPYmplY3QqIHJlbmRlcmVy
KQogewogICAgIGZsb2F0IHpvb21GYWN0b3IgPSBsb2NhbFpvb21Gb3JSZW5kZXJlcihyZW5kZXJl
cik7CiAgICAgaWYgKHpvb21GYWN0b3IgPT0gMSkKQEAgLTMyNiw3ICszMjYsNyBAQCBzdGF0aWMg
TGF5b3V0VW5pdCBhZGp1c3RGb3JMb2NhbFpvb20oTGF5CiAgICAgLy8gTmVlZGVkIGJlY2F1c2Ug
Y29tcHV0ZUxlbmd0aEludCB0cnVuY2F0ZXMgKHJhdGhlciB0aGFuIHJvdW5kcykgd2hlbiBzY2Fs
aW5nIHVwLgogICAgIGlmICh6b29tRmFjdG9yID4gMSkKICAgICAgICAgdmFsdWUrKzsKLSAgICBy
ZXR1cm4gc3RhdGljX2Nhc3Q8TGF5b3V0VW5pdD4odmFsdWUgLyB6b29tRmFjdG9yKTsKKyAgICBy
ZXR1cm4gc3RhdGljX2Nhc3Q8aW50Pih2YWx1ZSAvIHpvb21GYWN0b3IpOwogfQogCiBpbnQgRWxl
bWVudDo6b2Zmc2V0TGVmdCgpCkBAIC0zNDksNyArMzQ5LDcgQEAgaW50IEVsZW1lbnQ6Om9mZnNl
dFdpZHRoKCkKIHsKICAgICBkb2N1bWVudCgpLT51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5
bGVzaGVldHMoKTsKICAgICBpZiAoUmVuZGVyQm94TW9kZWxPYmplY3QqIHJlbmQgPSByZW5kZXJC
b3hNb2RlbE9iamVjdCgpKQotICAgICAgICByZXR1cm4gYWRqdXN0Rm9yQWJzb2x1dGVab29tKHJl
bmQtPm9mZnNldFdpZHRoKCksIHJlbmQpOworICAgICAgICByZXR1cm4gYWRqdXN0Rm9yQWJzb2x1
dGVab29tKHJlbmQtPnBpeGVsU25hcHBlZE9mZnNldFdpZHRoKCksIHJlbmQpOwogICAgIHJldHVy
biAwOwogfQogCkBAIC0zNTcsNyArMzU3LDcgQEAgaW50IEVsZW1lbnQ6Om9mZnNldEhlaWdodCgp
CiB7CiAgICAgZG9jdW1lbnQoKS0+dXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRz
KCk7CiAgICAgaWYgKFJlbmRlckJveE1vZGVsT2JqZWN0KiByZW5kID0gcmVuZGVyQm94TW9kZWxP
YmplY3QoKSkKLSAgICAgICAgcmV0dXJuIGFkanVzdEZvckFic29sdXRlWm9vbShyZW5kLT5vZmZz
ZXRIZWlnaHQoKSwgcmVuZCk7CisgICAgICAgIHJldHVybiBhZGp1c3RGb3JBYnNvbHV0ZVpvb20o
cmVuZC0+cGl4ZWxTbmFwcGVkT2Zmc2V0SGVpZ2h0KCksIHJlbmQpOwogICAgIHJldHVybiAwOwog
fQogCkBAIC0zNzUsNyArMzc1LDcgQEAgaW50IEVsZW1lbnQ6OmNsaWVudExlZnQoKQogICAgIGRv
Y3VtZW50KCktPnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOwogCiAgICAg
aWYgKFJlbmRlckJveCogcmVuZCA9IHJlbmRlckJveCgpKQotICAgICAgICByZXR1cm4gYWRqdXN0
Rm9yQWJzb2x1dGVab29tKHJlbmQtPmNsaWVudExlZnQoKSwgcmVuZCk7CisgICAgICAgIHJldHVy
biBhZGp1c3RGb3JBYnNvbHV0ZVpvb20ocm91bmRUb0ludChyZW5kLT5jbGllbnRMZWZ0KCkpLCBy
ZW5kKTsKICAgICByZXR1cm4gMDsKIH0KIApAQCAtMzg0LDcgKzM4NCw3IEBAIGludCBFbGVtZW50
OjpjbGllbnRUb3AoKQogICAgIGRvY3VtZW50KCktPnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdT
dHlsZXNoZWV0cygpOwogCiAgICAgaWYgKFJlbmRlckJveCogcmVuZCA9IHJlbmRlckJveCgpKQot
ICAgICAgICByZXR1cm4gYWRqdXN0Rm9yQWJzb2x1dGVab29tKHJlbmQtPmNsaWVudFRvcCgpLCBy
ZW5kKTsKKyAgICAgICAgcmV0dXJuIGFkanVzdEZvckFic29sdXRlWm9vbShyb3VuZFRvSW50KHJl
bmQtPmNsaWVudFRvcCgpKSwgcmVuZCk7CiAgICAgcmV0dXJuIDA7CiB9CiAKQEAgLTQwNCw3ICs0
MDQsNyBAQCBpbnQgRWxlbWVudDo6Y2xpZW50V2lkdGgoKQogICAgIH0KICAgICAKICAgICBpZiAo
UmVuZGVyQm94KiByZW5kID0gcmVuZGVyQm94KCkpCi0gICAgICAgIHJldHVybiBhZGp1c3RGb3JB
YnNvbHV0ZVpvb20ocmVuZC0+Y2xpZW50V2lkdGgoKSwgcmVuZCk7CisgICAgICAgIHJldHVybiBh
ZGp1c3RGb3JBYnNvbHV0ZVpvb20ocmVuZC0+cGl4ZWxTbmFwcGVkQ2xpZW50V2lkdGgoKSwgcmVu
ZCk7CiAgICAgcmV0dXJuIDA7CiB9CiAKQEAgLTQyNSw3ICs0MjUsNyBAQCBpbnQgRWxlbWVudDo6
Y2xpZW50SGVpZ2h0KCkKICAgICB9CiAgICAgCiAgICAgaWYgKFJlbmRlckJveCogcmVuZCA9IHJl
bmRlckJveCgpKQotICAgICAgICByZXR1cm4gYWRqdXN0Rm9yQWJzb2x1dGVab29tKHJlbmQtPmNs
aWVudEhlaWdodCgpLCByZW5kKTsKKyAgICAgICAgcmV0dXJuIGFkanVzdEZvckFic29sdXRlWm9v
bShyZW5kLT5waXhlbFNuYXBwZWRDbGllbnRIZWlnaHQoKSwgcmVuZCk7CiAgICAgcmV0dXJuIDA7
CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcAkocmV2
aXNpb24gMTEzMTYxKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMjIyLDcgKzIyMiw3IEBAIGludCBIVE1MSW1hZ2VFbGVtZW50
Ojp3aWR0aChib29sIGlnbm9yZVAKICAgICAgICAgZG9jdW1lbnQoKS0+dXBkYXRlTGF5b3V0KCk7
CiAKICAgICBSZW5kZXJCb3gqIGJveCA9IHJlbmRlckJveCgpOwotICAgIHJldHVybiBib3ggPyBh
ZGp1c3RGb3JBYnNvbHV0ZVpvb20oYm94LT5jb250ZW50V2lkdGgoKSwgYm94KSA6IDA7CisgICAg
cmV0dXJuIGJveCA/IGFkanVzdEZvckFic29sdXRlWm9vbShib3gtPmNvbnRlbnRCb3hSZWN0KCku
cGl4ZWxTbmFwcGVkV2lkdGgoKSwgYm94KSA6IDA7CiB9CiAKIGludCBIVE1MSW1hZ2VFbGVtZW50
OjpoZWlnaHQoYm9vbCBpZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMpCkBAIC0yNDUsNyArMjQ1LDcg
QEAgaW50IEhUTUxJbWFnZUVsZW1lbnQ6OmhlaWdodChib29sIGlnbm9yZQogICAgICAgICBkb2N1
bWVudCgpLT51cGRhdGVMYXlvdXQoKTsKIAogICAgIFJlbmRlckJveCogYm94ID0gcmVuZGVyQm94
KCk7Ci0gICAgcmV0dXJuIGJveCA/IGFkanVzdEZvckFic29sdXRlWm9vbShib3gtPmNvbnRlbnRI
ZWlnaHQoKSwgYm94KSA6IDA7CisgICAgcmV0dXJuIGJveCA/IGFkanVzdEZvckFic29sdXRlWm9v
bShib3gtPmNvbnRlbnRCb3hSZWN0KCkucGl4ZWxTbmFwcGVkSGVpZ2h0KCksIGJveCkgOiAwOwog
fQogCiBpbnQgSFRNTEltYWdlRWxlbWVudDo6bmF0dXJhbFdpZHRoKCkgY29uc3QK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135804</attachid>
            <date>2012-04-05 04:43:17 -0700</date>
            <delta_ts>2012-04-05 05:49:39 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-83138-20120405134314.patch</filename>
            <type>text/plain</type>
            <size>6165</size>
            <attacher name="Levi Weintraub">leviw</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMzMxMCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI4IEBACisyMDEyLTA0LTA1ICBMZXZpIFdl
aW50cmF1YiAgPGxldml3QGNocm9taXVtLm9yZz4KKworICAgICAgICBET00gbWVhc3VyZW1lbnQg
QVBJcyBzaG91bGQgb3BlcmF0ZSBvbiBwaXhlbCBzbmFwcGVkIHZhbHVlcy4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgzMTM4CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgSnVsaWVuIENoYWZmcmFpeC4KKworICAgICAgICBET00gbWVhc3VyZW1lbnQgQVBJ
cyByZXR1cm4gdW5zY2FsZWQgaW50ZWdlcnMuIEluIGFuIGVmZm9ydCB0byByZXR1cm4gdGhlIGJl
c3QgcG9zc2libGUgdmFsdWVzIChhbmQKKyAgICAgICAgbW9zdCBjb25zaXN0ZW50IHdpdGggY3Vy
cmVudCBiZWhhdmlvcikgd2hlbiB3ZSB1c2Ugc3ViLXBpeGVsIHZhbHVlcyBmb3IgTGF5b3V0LCB3
ZSB3YW50IHRvIGFkanVzdAorICAgICAgICB0aGUgYWN0dWFsIG9uLXNjcmVlbiBwb3NpdGlvbiBh
bmQgc2l6ZSB2YWx1ZXMgZm9yIHNjYWxpbmcsIG5vdCB0aGUgc3ViLXBpeGVsIHZhbHVlcy4KKwor
ICAgICAgICBObyBuZXcgdGVzdHMuIE5vIGNoYW5nZSBpbiBiZWhhdmlvci4KKworICAgICAgICAq
IGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmFkanVzdEZvckxvY2FsWm9vbSk6
IE5lZWRzIHRvIHJldHVybiBhbiBpbnRlZ2VyLCBzaW5jZSB0aGlzIGlzIHdoYXQgdGhlIERPTSBB
UEkgY2FsbHMgZm9yLgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6b2Zmc2V0V2lkdGgpOiBV
c2luZyBwaXhlbCBzbmFwcGVkIHZhbHVlcyBmb3IgYWxsIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb25z
LgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6b2Zmc2V0SGVpZ2h0KToKKyAgICAgICAgKFdl
YkNvcmU6OkVsZW1lbnQ6OmNsaWVudExlZnQpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6
Y2xpZW50VG9wKToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmNsaWVudFdpZHRoKToKKyAg
ICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmNsaWVudEhlaWdodCk6CisgICAgICAgICogaHRtbC9I
VE1MSW1hZ2VFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6
OndpZHRoKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OmhlaWdodCk6CisK
IDIwMTItMDQtMDUgIEhhbnMgV2VubmJvcmcgIDxoYW5zQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICB3ZWJraXRfdW5pdF90ZXN0cyBidWlsZCBmaXguCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20v
RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3Bw
CShyZXZpc2lvbiAxMTMzMTApCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTMxOCw3ICszMTgsNyBAQCBzdGF0aWMgZmxvYXQgbG9jYWxab29tRm9y
UmVuZGVyZXIoUmVuZGVyCiAgICAgcmV0dXJuIHpvb21GYWN0b3I7CiB9CiAKLXN0YXRpYyBMYXlv
dXRVbml0IGFkanVzdEZvckxvY2FsWm9vbShMYXlvdXRVbml0IHZhbHVlLCBSZW5kZXJPYmplY3Qq
IHJlbmRlcmVyKQorc3RhdGljIGludCBhZGp1c3RGb3JMb2NhbFpvb20oTGF5b3V0VW5pdCB2YWx1
ZSwgUmVuZGVyT2JqZWN0KiByZW5kZXJlcikKIHsKICAgICBmbG9hdCB6b29tRmFjdG9yID0gbG9j
YWxab29tRm9yUmVuZGVyZXIocmVuZGVyZXIpOwogICAgIGlmICh6b29tRmFjdG9yID09IDEpCkBA
IC0zMjYsMzggKzMyNiwzOCBAQCBzdGF0aWMgTGF5b3V0VW5pdCBhZGp1c3RGb3JMb2NhbFpvb20o
TGF5CiAgICAgLy8gTmVlZGVkIGJlY2F1c2UgY29tcHV0ZUxlbmd0aEludCB0cnVuY2F0ZXMgKHJh
dGhlciB0aGFuIHJvdW5kcykgd2hlbiBzY2FsaW5nIHVwLgogICAgIGlmICh6b29tRmFjdG9yID4g
MSkKICAgICAgICAgdmFsdWUrKzsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8TGF5b3V0VW5pdD4o
dmFsdWUgLyB6b29tRmFjdG9yKTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8aW50Pih2YWx1ZSAv
IHpvb21GYWN0b3IpOwogfQogCiBpbnQgRWxlbWVudDo6b2Zmc2V0TGVmdCgpCiB7CiAgICAgZG9j
dW1lbnQoKS0+dXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7Ci0gICAgaWYg
KFJlbmRlckJveE1vZGVsT2JqZWN0KiByZW5kID0gcmVuZGVyQm94TW9kZWxPYmplY3QoKSkKLSAg
ICAgICAgcmV0dXJuIGFkanVzdEZvckxvY2FsWm9vbShyZW5kLT5vZmZzZXRMZWZ0KCksIHJlbmQp
OworICAgIGlmIChSZW5kZXJCb3hNb2RlbE9iamVjdCogcmVuZGVyZXIgPSByZW5kZXJCb3hNb2Rl
bE9iamVjdCgpKQorICAgICAgICByZXR1cm4gYWRqdXN0Rm9yTG9jYWxab29tKHJlbmRlcmVyLT5w
aXhlbFNuYXBwZWRPZmZzZXRMZWZ0KCksIHJlbmRlcmVyKTsKICAgICByZXR1cm4gMDsKIH0KIAog
aW50IEVsZW1lbnQ6Om9mZnNldFRvcCgpCiB7CiAgICAgZG9jdW1lbnQoKS0+dXBkYXRlTGF5b3V0
SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7Ci0gICAgaWYgKFJlbmRlckJveE1vZGVsT2JqZWN0
KiByZW5kID0gcmVuZGVyQm94TW9kZWxPYmplY3QoKSkKLSAgICAgICAgcmV0dXJuIGFkanVzdEZv
ckxvY2FsWm9vbShyZW5kLT5vZmZzZXRUb3AoKSwgcmVuZCk7CisgICAgaWYgKFJlbmRlckJveE1v
ZGVsT2JqZWN0KiByZW5kZXJlciA9IHJlbmRlckJveE1vZGVsT2JqZWN0KCkpCisgICAgICAgIHJl
dHVybiBhZGp1c3RGb3JMb2NhbFpvb20ocmVuZGVyZXItPnBpeGVsU25hcHBlZE9mZnNldFRvcCgp
LCByZW5kZXJlcik7CiAgICAgcmV0dXJuIDA7CiB9CiAKIGludCBFbGVtZW50OjpvZmZzZXRXaWR0
aCgpCiB7CiAgICAgZG9jdW1lbnQoKS0+dXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hl
ZXRzKCk7Ci0gICAgaWYgKFJlbmRlckJveE1vZGVsT2JqZWN0KiByZW5kID0gcmVuZGVyQm94TW9k
ZWxPYmplY3QoKSkKLSAgICAgICAgcmV0dXJuIGFkanVzdEZvckFic29sdXRlWm9vbShyZW5kLT5v
ZmZzZXRXaWR0aCgpLCByZW5kKTsKKyAgICBpZiAoUmVuZGVyQm94TW9kZWxPYmplY3QqIHJlbmRl
cmVyID0gcmVuZGVyQm94TW9kZWxPYmplY3QoKSkKKyAgICAgICAgcmV0dXJuIGFkanVzdEZvckFi
c29sdXRlWm9vbShyZW5kZXJlci0+cGl4ZWxTbmFwcGVkT2Zmc2V0V2lkdGgoKSwgcmVuZGVyZXIp
OwogICAgIHJldHVybiAwOwogfQogCiBpbnQgRWxlbWVudDo6b2Zmc2V0SGVpZ2h0KCkKIHsKICAg
ICBkb2N1bWVudCgpLT51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoKTsKLSAg
ICBpZiAoUmVuZGVyQm94TW9kZWxPYmplY3QqIHJlbmQgPSByZW5kZXJCb3hNb2RlbE9iamVjdCgp
KQotICAgICAgICByZXR1cm4gYWRqdXN0Rm9yQWJzb2x1dGVab29tKHJlbmQtPm9mZnNldEhlaWdo
dCgpLCByZW5kKTsKKyAgICBpZiAoUmVuZGVyQm94TW9kZWxPYmplY3QqIHJlbmRlcmVyID0gcmVu
ZGVyQm94TW9kZWxPYmplY3QoKSkKKyAgICAgICAgcmV0dXJuIGFkanVzdEZvckFic29sdXRlWm9v
bShyZW5kZXJlci0+cGl4ZWxTbmFwcGVkT2Zmc2V0SGVpZ2h0KCksIHJlbmRlcmVyKTsKICAgICBy
ZXR1cm4gMDsKIH0KIApAQCAtMzc0LDggKzM3NCw4IEBAIGludCBFbGVtZW50OjpjbGllbnRMZWZ0
KCkKIHsKICAgICBkb2N1bWVudCgpLT51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVl
dHMoKTsKIAotICAgIGlmIChSZW5kZXJCb3gqIHJlbmQgPSByZW5kZXJCb3goKSkKLSAgICAgICAg
cmV0dXJuIGFkanVzdEZvckFic29sdXRlWm9vbShyZW5kLT5jbGllbnRMZWZ0KCksIHJlbmQpOwor
ICAgIGlmIChSZW5kZXJCb3gqIHJlbmRlcmVyID0gcmVuZGVyQm94KCkpCisgICAgICAgIHJldHVy
biBhZGp1c3RGb3JBYnNvbHV0ZVpvb20ocm91bmRUb0ludChyZW5kZXJlci0+Y2xpZW50TGVmdCgp
KSwgcmVuZGVyZXIpOwogICAgIHJldHVybiAwOwogfQogCkBAIC0zODMsOCArMzgzLDggQEAgaW50
IEVsZW1lbnQ6OmNsaWVudFRvcCgpCiB7CiAgICAgZG9jdW1lbnQoKS0+dXBkYXRlTGF5b3V0SWdu
b3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7CiAKLSAgICBpZiAoUmVuZGVyQm94KiByZW5kID0gcmVu
ZGVyQm94KCkpCi0gICAgICAgIHJldHVybiBhZGp1c3RGb3JBYnNvbHV0ZVpvb20ocmVuZC0+Y2xp
ZW50VG9wKCksIHJlbmQpOworICAgIGlmIChSZW5kZXJCb3gqIHJlbmRlcmVyID0gcmVuZGVyQm94
KCkpCisgICAgICAgIHJldHVybiBhZGp1c3RGb3JBYnNvbHV0ZVpvb20ocm91bmRUb0ludChyZW5k
ZXJlci0+Y2xpZW50VG9wKCkpLCByZW5kZXJlcik7CiAgICAgcmV0dXJuIDA7CiB9CiAKQEAgLTQw
Myw4ICs0MDMsOCBAQCBpbnQgRWxlbWVudDo6Y2xpZW50V2lkdGgoKQogICAgICAgICB9CiAgICAg
fQogICAgIAotICAgIGlmIChSZW5kZXJCb3gqIHJlbmQgPSByZW5kZXJCb3goKSkKLSAgICAgICAg
cmV0dXJuIGFkanVzdEZvckFic29sdXRlWm9vbShyZW5kLT5jbGllbnRXaWR0aCgpLCByZW5kKTsK
KyAgICBpZiAoUmVuZGVyQm94KiByZW5kZXJlciA9IHJlbmRlckJveCgpKQorICAgICAgICByZXR1
cm4gYWRqdXN0Rm9yQWJzb2x1dGVab29tKHJlbmRlcmVyLT5waXhlbFNuYXBwZWRDbGllbnRXaWR0
aCgpLCByZW5kZXJlcik7CiAgICAgcmV0dXJuIDA7CiB9CiAKQEAgLTQyNCw4ICs0MjQsOCBAQCBp
bnQgRWxlbWVudDo6Y2xpZW50SGVpZ2h0KCkKICAgICAgICAgfQogICAgIH0KICAgICAKLSAgICBp
ZiAoUmVuZGVyQm94KiByZW5kID0gcmVuZGVyQm94KCkpCi0gICAgICAgIHJldHVybiBhZGp1c3RG
b3JBYnNvbHV0ZVpvb20ocmVuZC0+Y2xpZW50SGVpZ2h0KCksIHJlbmQpOworICAgIGlmIChSZW5k
ZXJCb3gqIHJlbmRlcmVyID0gcmVuZGVyQm94KCkpCisgICAgICAgIHJldHVybiBhZGp1c3RGb3JB
YnNvbHV0ZVpvb20ocmVuZGVyZXItPnBpeGVsU25hcHBlZENsaWVudEhlaWdodCgpLCByZW5kZXJl
cik7CiAgICAgcmV0dXJuIDA7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElt
YWdlRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1h
Z2VFbGVtZW50LmNwcAkocmV2aXNpb24gMTEzMzEwKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MSW1hZ2VFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjIyLDcgKzIyMiw3IEBAIGlu
dCBIVE1MSW1hZ2VFbGVtZW50Ojp3aWR0aChib29sIGlnbm9yZVAKICAgICAgICAgZG9jdW1lbnQo
KS0+dXBkYXRlTGF5b3V0KCk7CiAKICAgICBSZW5kZXJCb3gqIGJveCA9IHJlbmRlckJveCgpOwot
ICAgIHJldHVybiBib3ggPyBhZGp1c3RGb3JBYnNvbHV0ZVpvb20oYm94LT5jb250ZW50V2lkdGgo
KSwgYm94KSA6IDA7CisgICAgcmV0dXJuIGJveCA/IGFkanVzdEZvckFic29sdXRlWm9vbShib3gt
PmNvbnRlbnRCb3hSZWN0KCkucGl4ZWxTbmFwcGVkV2lkdGgoKSwgYm94KSA6IDA7CiB9CiAKIGlu
dCBIVE1MSW1hZ2VFbGVtZW50OjpoZWlnaHQoYm9vbCBpZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMp
CkBAIC0yNDUsNyArMjQ1LDcgQEAgaW50IEhUTUxJbWFnZUVsZW1lbnQ6OmhlaWdodChib29sIGln
bm9yZQogICAgICAgICBkb2N1bWVudCgpLT51cGRhdGVMYXlvdXQoKTsKIAogICAgIFJlbmRlckJv
eCogYm94ID0gcmVuZGVyQm94KCk7Ci0gICAgcmV0dXJuIGJveCA/IGFkanVzdEZvckFic29sdXRl
Wm9vbShib3gtPmNvbnRlbnRIZWlnaHQoKSwgYm94KSA6IDA7CisgICAgcmV0dXJuIGJveCA/IGFk
anVzdEZvckFic29sdXRlWm9vbShib3gtPmNvbnRlbnRCb3hSZWN0KCkucGl4ZWxTbmFwcGVkSGVp
Z2h0KCksIGJveCkgOiAwOwogfQogCiBpbnQgSFRNTEltYWdlRWxlbWVudDo6bmF0dXJhbFdpZHRo
KCkgY29uc3QK
</data>

          </attachment>
      

    </bug>

</bugzilla>