<?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>68304</bug_id>
          
          <creation_ts>2011-09-16 19:42:13 -0700</creation_ts>
          <short_desc>offsetTop/offsetLeft return the wrong values for horizontal-bt/vertical-rl writing modes</short_desc>
          <delta_ts>2011-09-27 13:54:03 -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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ojan Vafai">ojan</reporter>
          <assigned_to name="Ojan Vafai">ojan</assigned_to>
          <cc>ap</cc>
    
    <cc>hyatt</cc>
    
    <cc>shinyak</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tony</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>468994</commentid>
    <comment_count>0</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-09-16 19:42:13 -0700</bug_when>
    <thetext>http://tinyurl.com/3h8ejbj

&lt;div style=&quot;position:relative&quot;&gt;
&lt;div style=&quot;-webkit-writing-mode:vertical-rl;background-color:green;width:400px;height:100px;&quot;&gt;
    &lt;div id=foo style=&quot;background-color:yellow&quot;&gt;foo&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div style=&quot;position:relative&quot;&gt;
&lt;div style=&quot;-webkit-writing-mode:horizontal-bt;background-color:red;width:400px;height:100px;&quot;&gt;
    &lt;div id=bar style=&quot;background-color:orange&quot;&gt;bar&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

I believe foo should have offsetLeft of something like 380, instead of 0 and bar should have offsetTop of something like 80 instead of 0.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>474175</commentid>
    <comment_count>1</comment_count>
      <attachid>108888</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-09-27 13:12:12 -0700</bug_when>
    <thetext>Created attachment 108888
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>474181</commentid>
    <comment_count>2</comment_count>
      <attachid>108888</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2011-09-27 13:19:46 -0700</bug_when>
    <thetext>Comment on attachment 108888
Patch

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

r=me, but you can rename xFlippedForWritingMode and yFlippedForWritingMode to left() and top(). If you want to go further we could rename locationIncludingFlipping() to topLeftLocation() and locationOffsetIncludingFlipping() to topLeftLocationOffset(). I&apos;d add copious warnings in the header too that these represent your location relative to your container as a physical offset, and that this is rarely what you want in layout() methods.

&gt; Source/WebCore/rendering/RenderBox.h:53
&gt; +    LayoutUnit yFlippedForWritingMode() const { return locationIncludingFlipping().y(); }
&gt; +    LayoutUnit xFlippedForWritingMode() const { return locationIncludingFlipping().x(); }

Rename these to left() and top().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>474205</commentid>
    <comment_count>3</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-09-27 13:54:03 -0700</bug_when>
    <thetext>Committed r96152: &lt;http://trac.webkit.org/changeset/96152&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>108888</attachid>
            <date>2011-09-27 13:12:12 -0700</date>
            <delta_ts>2011-09-27 13:19:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-68304-20110927131211.patch</filename>
            <type>text/plain</type>
            <size>10866</size>
            <attacher name="Ojan Vafai">ojan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTU4NTkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBkZWI2MTQ3ZDk1NGVmNjhjNTE5ZTgx
YWM4OTM1NzI4NDk0NTE1NTUzLi5kNjE5MjBkMzE3YTJkYjZiYmRmYjA3ZWIwMTkwZDgzYjY2MDIw
YzE5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDktMjcgIE9qYW4gVmFmYWkgIDxvamFu
QGNocm9taXVtLm9yZz4KKworICAgICAgICBvZmZzZXRUb3Avb2Zmc2V0TGVmdCByZXR1cm4gdGhl
IHdyb25nIHZhbHVlcyBmb3IgaG9yaXpvbnRhbC1idC92ZXJ0aWNhbC1ybCB3cml0aW5nIG1vZGVz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODMwNAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogY3NzMy9m
bGV4Ym94L3dyaXRpbmctbW9kZXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGNzczMvZmxleGJv
eC93cml0aW5nLW1vZGVzLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vb2Zmc2V0LXBvc2l0aW9u
LXdyaXRpbmctbW9kZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9v
ZmZzZXQtcG9zaXRpb24td3JpdGluZy1tb2Rlcy5odG1sOiBBZGRlZC4KKwogMjAxMS0wOS0yMyAg
T2phbiBWYWZhaSAgPG9qYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIHJlbW92ZSBwaHlzaWNh
bCBmbGV4LWZsb3cgdmFsdWVzIHRvIG1hdGNoIHRoZSB1cGRhdGVkIHNwZWMKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2NzczMvZmxleGJveC93cml0aW5nLW1vZGVzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2NzczMvZmxleGJveC93cml0aW5nLW1vZGVzLWV4cGVjdGVkLnR4dAppbmRleCA5
NGE1YjhmMzRlZWIwYzA0ZmJhOWIxYWI3ZWMyMjljNTRhMTEwYTFhLi43OTQxZjdkM2NlMjg5NjY3
MzZhZDA0ZWY0ZmNkMDcwMDY2MmJiZTFlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jc3MzL2Zs
ZXhib3gvd3JpdGluZy1tb2Rlcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9m
bGV4Ym94L3dyaXRpbmctbW9kZXMtZXhwZWN0ZWQudHh0CkBAIC0xMiw2ICsxMiw2IEBAIFBBU1MK
IFBBU1MKIFBBU1MKIFBBU1MKLUV4cGVjdGVkIDU4MCBmb3Igb2Zmc2V0TGVmdCwgYnV0IGdvdCAw
LiBFeHBlY3RlZCA1ODAgZm9yIG9mZnNldExlZnQsIGJ1dCBnb3QgMC4gRXhwZWN0ZWQgNTgwIGZv
ciBvZmZzZXRMZWZ0LCBidXQgZ290IDAuCi1FeHBlY3RlZCA1ODAgZm9yIG9mZnNldExlZnQsIGJ1
dCBnb3QgMC4gRXhwZWN0ZWQgMTgwIGZvciBvZmZzZXRUb3AsIGJ1dCBnb3QgMC4gRXhwZWN0ZWQg
NTgwIGZvciBvZmZzZXRMZWZ0LCBidXQgZ290IDE1MC4gRXhwZWN0ZWQgMTgwIGZvciBvZmZzZXRU
b3AsIGJ1dCBnb3QgMC4gRXhwZWN0ZWQgNTgwIGZvciBvZmZzZXRMZWZ0LCBidXQgZ290IDQ1MC4g
RXhwZWN0ZWQgMTgwIGZvciBvZmZzZXRUb3AsIGJ1dCBnb3QgMC4KK1BBU1MKK1BBU1MKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L3dyaXRpbmctbW9kZXMuaHRtbCBiL0xh
eW91dFRlc3RzL2NzczMvZmxleGJveC93cml0aW5nLW1vZGVzLmh0bWwKaW5kZXggZjU1ZjI2NGJl
MmUzZWUzM2VmM2JkODE4ZTNmMGM4Zjc0MWUwMTIwZC4uN2U5NjgyMTg5MjNhOGZiOGFkYWY2Y2M4
OWZjMzZiYmRlNTY3NjMxNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L3dy
aXRpbmctbW9kZXMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvd3JpdGluZy1t
b2Rlcy5odG1sCkBAIC0xNTgsNyArMTU4LDYgQEAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikKICAgPGRpdiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMjUwIiBzdHlsZT0iaGVpZ2h0OiAt
d2Via2l0LWZsZXgoMSAxIDQwMHB4KTsiPjwvZGl2PgogPC9kaXY+CiAKLTwhLS0gRklYTUU6IFRo
ZXJlJ3MgYSBidWcgd2hlcmUgb2Zmc2V0TGVmdCByZXBvcnRzIHRoZSB3cm9uZyB2YWx1ZSBpbiB2
ZXJ0aWNhbC1ybCB3cml0aW5nLW1vZGUuLS0+CiA8ZGl2IHN0eWxlPSJwb3NpdGlvbjpyZWxhdGl2
ZSI+CiA8ZGl2IGNsYXNzPSJmbGV4Ym94IHZlcnRpY2FsLXJsIj4KICAgPGRpdiBkYXRhLWV4cGVj
dGVkLWhlaWdodD0iMTUwIiBkYXRhLW9mZnNldC15PSIwIiBkYXRhLW9mZnNldC14PSI1ODAiIHN0
eWxlPSJoZWlnaHQ6IC13ZWJraXQtZmxleCgxIDAgMCk7Ij48L2Rpdj4KQEAgLTE2NywxMiArMTY2
LDExIEBAIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCiA8L2Rpdj4KIDwvZGl2Pgog
Ci08IS0tIEZJWE1FOiBUaGVyZSdzIGEgYnVnIHdoZXJlIG9mZnNldFRvcCByZXBvcnRzIHRoZSB3
cm9uZyB2YWx1ZSBpbiBob3Jpem9udGFsLWJ0IHdyaXRpbmctbW9kZS4tLT4KIDxkaXYgc3R5bGU9
InBvc2l0aW9uOnJlbGF0aXZlIj4KIDxkaXYgY2xhc3M9ImZsZXhib3ggYnQiIHN0eWxlPSJoZWln
aHQ6MjAwcHgiPgotICA8ZGl2IGRhdGEtb2Zmc2V0LXk9IjE4MCIgZGF0YS1vZmZzZXQteD0iNTgw
IiBzdHlsZT0id2lkdGg6IC13ZWJraXQtZmxleCgxIDAgMCk7Ij48L2Rpdj4KLSAgPGRpdiBkYXRh
LW9mZnNldC15PSIxODAiIGRhdGEtb2Zmc2V0LXg9IjU4MCIgc3R5bGU9IndpZHRoOiAtd2Via2l0
LWZsZXgoMiAwIDApOyI+PC9kaXY+Ci0gIDxkaXYgZGF0YS1vZmZzZXQteT0iMTgwIiBkYXRhLW9m
ZnNldC14PSI1ODAiIHN0eWxlPSJ3aWR0aDogLXdlYmtpdC1mbGV4KDEgMCAwKTsiPjwvZGl2Pgor
ICA8ZGl2IGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjE1MCIgZGF0YS1vZmZzZXQteT0iMTgwIiBkYXRh
LW9mZnNldC14PSIwIiBzdHlsZT0id2lkdGg6IC13ZWJraXQtZmxleCgxIDAgMCk7Ij48L2Rpdj4K
KyAgPGRpdiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIzMDAiIGRhdGEtb2Zmc2V0LXk9IjE4MCIgZGF0
YS1vZmZzZXQteD0iMTUwIiBzdHlsZT0id2lkdGg6IC13ZWJraXQtZmxleCgyIDAgMCk7Ij48L2Rp
dj4KKyAgPGRpdiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIxNTAiIGRhdGEtb2Zmc2V0LXk9IjE4MCIg
ZGF0YS1vZmZzZXQteD0iNDUwIiBzdHlsZT0id2lkdGg6IC13ZWJraXQtZmxleCgxIDAgMCk7Ij48
L2Rpdj4KIDwvZGl2PgogPC9kaXY+CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9t
L29mZnNldC1wb3NpdGlvbi13cml0aW5nLW1vZGVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL29mZnNldC1wb3NpdGlvbi13cml0aW5nLW1vZGVzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5kM2NlNGFjMzIxMDY5OWI4ZTg5MWJmZjk3ODY1Mzg3ZjBkNTgzZjliCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vb2Zmc2V0LXBvc2l0aW9uLXdyaXRpbmct
bW9kZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNiBAQAorUEFTUyBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgidmVydGljYWwiKS5vZmZzZXRMZWZ0IGlzIDY1CitQQVNTIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJob3Jpem9udGFsIikub2Zmc2V0VG9wIGlzIDY1CitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9kb20vb2Zmc2V0LXBvc2l0aW9uLXdyaXRpbmctbW9kZXMuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL29mZnNldC1wb3NpdGlvbi13cml0aW5nLW1vZGVzLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uOWY5NTEwMDU2NmQ4MzdmZThkYjk4NDQxYzMzNTIxYWZmZWMwZGZkZgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL29mZnNldC1wb3NpdGlvbi13cml0aW5nLW1vZGVz
Lmh0bWwKQEAgLTAsMCArMSwyMyBAQAorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxkaXYgc3R5bGU9InBvc2l0aW9uOnJlbGF0
aXZlIj4KKzxkaXYgc3R5bGU9Ii13ZWJraXQtd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybDsgYmFj
a2dyb3VuZC1jb2xvcjogZ3JlZW47IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsiPgorICAg
IDxkaXYgc3R5bGU9IndpZHRoOiA1cHgiPjwvZGl2PgorICAgIDxkaXYgaWQ9dmVydGljYWwgc3R5
bGU9ImJhY2tncm91bmQtY29sb3I6IHllbGxvdzsgd2lkdGg6IDEwcHg7IHBvc2l0aW9uOiByZWxh
dGl2ZTsgbGVmdDogLTIwcHg7Ij48L2Rpdj4KKzwvZGl2PgorPC9kaXY+CisKKzxkaXYgc3R5bGU9
InBvc2l0aW9uOnJlbGF0aXZlIj4KKzxkaXYgc3R5bGU9Ii13ZWJraXQtd3JpdGluZy1tb2RlOiBo
b3Jpem9udGFsLWJ0OyBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7IHdpZHRoOiAxMDBweDsgaGVpZ2h0
OiAxMDBweDsiPgorICAgIDxkaXYgc3R5bGU9ImhlaWdodDogNXB4Ij48L2Rpdj4KKyAgICA8ZGl2
IGlkPWhvcml6b250YWwgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IG9yYW5nZTsgaGVpZ2h0OiAx
MHB4OyBwb3NpdGlvbjogcmVsYXRpdmU7IHRvcDogLTIwcHg7Ij48L2Rpdj4KKzwvZGl2PgorPC9k
aXY+CisKKzxwcmUgaWQ9Y29uc29sZT48L3ByZT4KKworPHNjcmlwdD4KK3Nob3VsZEJlKCdkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgidmVydGljYWwiKS5vZmZzZXRMZWZ0JywgJzY1Jyk7CitzaG91
bGRCZSgnZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhvcml6b250YWwiKS5vZmZzZXRUb3AnLCAn
NjUnKTsKK3N1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCmluZGV4IGMwMzg3YzJkOTBiMTAxZTViY2JiMTg0ZWFlYmI4MDA5NTgyY2RkMmQuLjE3ZDYw
ZmY2OGFmY2ZkYWZjZmRhOTRiNGEwZTkxOWUxZDUyNzRlNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyNCBAQAorMjAxMS0wOS0yNyAgT2phbiBWYWZhaSAgPG9qYW5AY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIG9mZnNldFRvcC9vZmZzZXRMZWZ0IHJldHVybiB0aGUgd3JvbmcgdmFsdWVzIGZvciBo
b3Jpem9udGFsLWJ0L3ZlcnRpY2FsLXJsIHdyaXRpbmcgbW9kZXMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4MzA0CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hlbiBncmFiYmluZyB0aGUgeC95IHZhbHVl
cyBvZiB0aGUgUmVuZGVyQm94LCB3ZSBuZWVkIHRvIHRha2Ugd3JpdGluZyBtb2RlCisgICAgICAg
IGZsaXBwaW5nIGludG8gYWNjb3VudC4KKworICAgICAgICBUZXN0OiBmYXN0L2RvbS9vZmZzZXQt
cG9zaXRpb24td3JpdGluZy1tb2Rlcy5odG1sCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
Qm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6bG9jYXRpb25JbmNsdWRpbmdG
bGlwcGluZyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5oOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyQm94Ojp5RmxpcHBlZEZvcldyaXRpbmdNb2RlKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckJveDo6eEZsaXBwZWRGb3JXcml0aW5nTW9kZSk6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJv
eE1vZGVsT2JqZWN0OjpvZmZzZXRMZWZ0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveE1v
ZGVsT2JqZWN0OjpvZmZzZXRUb3ApOgorCiAyMDExLTA5LTIzICBPamFuIFZhZmFpICA8b2phbkBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgcmVtb3ZlIHBoeXNpY2FsIGZsZXgtZmxvdyB2YWx1ZXMg
dG8gbWF0Y2ggdGhlIHVwZGF0ZWQgc3BlYwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94
LmNwcAppbmRleCBiMWYwZjlhMjE3OTYwYWYwYTIwYjBlNWJlZWM3NDVkN2ZmZTk5MmU2Li4xNzU1
ZjlkODgyMWQ1ZDFjNWMxNGVhMGMxMjExZDIyMzhiM2I5NTAxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQm94LmNwcApAQCAtMzYyMSw2ICszNjIxLDE0IEBAIHZvaWQgUmVuZGVyQm94
OjpmbGlwRm9yV3JpdGluZ01vZGUoRmxvYXRSZWN0JiByZWN0KSBjb25zdAogICAgICAgICByZWN0
LnNldFgod2lkdGgoKSAtIHJlY3QubWF4WCgpKTsKIH0KIAorTGF5b3V0UG9pbnQgUmVuZGVyQm94
Ojpsb2NhdGlvbkluY2x1ZGluZ0ZsaXBwaW5nKCkgY29uc3QKK3sKKyAgICBSZW5kZXJCbG9jayog
Y29udGFpbmVyQmxvY2sgPSBjb250YWluaW5nQmxvY2soKTsKKyAgICBpZiAoIWNvbnRhaW5lckJs
b2NrIHx8IGNvbnRhaW5lckJsb2NrID09IHRoaXMpCisgICAgICAgIHJldHVybiBsb2NhdGlvbigp
OworICAgIHJldHVybiBjb250YWluZXJCbG9jay0+ZmxpcEZvcldyaXRpbmdNb2RlKHRoaXMsIGxv
Y2F0aW9uKCksIFJlbmRlckJveDo6UGFyZW50VG9DaGlsZEZsaXBwaW5nQWRqdXN0bWVudCk7Cit9
CisKIExheW91dFNpemUgUmVuZGVyQm94Ojpsb2NhdGlvbk9mZnNldEluY2x1ZGluZ0ZsaXBwaW5n
KCkgY29uc3QKIHsKICAgICBSZW5kZXJCbG9jayogY29udGFpbmVyQmxvY2sgPSBjb250YWluaW5n
QmxvY2soKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3gu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaAppbmRleCBmMDFkMDIxZGJi
Zjg4ZjczM2JiOTVkZGM4YzdiYmMxZTJmZmQxNDc3Li5mODY5YWU3NDllZDk0MWU0YTExMDQ3NDlk
ZWM0MDA3MGRjZjExZTM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQm94LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCkBAIC00
OSw2ICs0OSw5IEBAIHB1YmxpYzoKICAgICBMYXlvdXRVbml0IHdpZHRoKCkgY29uc3QgeyByZXR1
cm4gbV9mcmFtZVJlY3Qud2lkdGgoKTsgfQogICAgIExheW91dFVuaXQgaGVpZ2h0KCkgY29uc3Qg
eyByZXR1cm4gbV9mcmFtZVJlY3QuaGVpZ2h0KCk7IH0KIAorICAgIExheW91dFVuaXQgeUZsaXBw
ZWRGb3JXcml0aW5nTW9kZSgpIGNvbnN0IHsgcmV0dXJuIGxvY2F0aW9uSW5jbHVkaW5nRmxpcHBp
bmcoKS55KCk7IH0KKyAgICBMYXlvdXRVbml0IHhGbGlwcGVkRm9yV3JpdGluZ01vZGUoKSBjb25z
dCB7IHJldHVybiBsb2NhdGlvbkluY2x1ZGluZ0ZsaXBwaW5nKCkueCgpOyB9CisKICAgICB2b2lk
IHNldFgoTGF5b3V0VW5pdCB4KSB7IG1fZnJhbWVSZWN0LnNldFgoeCk7IH0KICAgICB2b2lkIHNl
dFkoTGF5b3V0VW5pdCB5KSB7IG1fZnJhbWVSZWN0LnNldFkoeSk7IH0KICAgICB2b2lkIHNldFdp
ZHRoKExheW91dFVuaXQgd2lkdGgpIHsgbV9mcmFtZVJlY3Quc2V0V2lkdGgod2lkdGgpOyB9CkBA
IC00MDEsNiArNDA0LDcgQEAgcHVibGljOgogICAgIHZvaWQgZmxpcEZvcldyaXRpbmdNb2RlKElu
dFJlY3QmKSBjb25zdDsKICAgICBGbG9hdFBvaW50IGZsaXBGb3JXcml0aW5nTW9kZShjb25zdCBG
bG9hdFBvaW50JikgY29uc3Q7CiAgICAgdm9pZCBmbGlwRm9yV3JpdGluZ01vZGUoRmxvYXRSZWN0
JikgY29uc3Q7CisgICAgTGF5b3V0UG9pbnQgbG9jYXRpb25JbmNsdWRpbmdGbGlwcGluZygpIGNv
bnN0OwogICAgIExheW91dFNpemUgbG9jYXRpb25PZmZzZXRJbmNsdWRpbmdGbGlwcGluZygpIGNv
bnN0OwogCiAgICAgTGF5b3V0UmVjdCBsb2dpY2FsVmlzdWFsT3ZlcmZsb3dSZWN0Rm9yUHJvcGFn
YXRpb24oUmVuZGVyU3R5bGUqKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCmluZGV4IGMwYTNhOGI1MDYzYzQwN2E3YWIzNGMy
NzMwZGQxMjM5ZmM5ZjhjNDkuLjBjYzdlOThhNGZjNjY1MDFmZjE5YWE2NjU4NGJkNjQyMzExYzU5
OGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9i
amVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2Jq
ZWN0LmNwcApAQCAtNDM4LDcgKzQzOCw3IEBAIExheW91dFVuaXQgUmVuZGVyQm94TW9kZWxPYmpl
Y3Q6Om9mZnNldExlZnQoKSBjb25zdAogICAgICAgICByZXR1cm4gMDsKICAgICAKICAgICBSZW5k
ZXJCb3hNb2RlbE9iamVjdCogb2Zmc2V0UGFyID0gb2Zmc2V0UGFyZW50KCk7Ci0gICAgTGF5b3V0
VW5pdCB4UG9zID0gKGlzQm94KCkgPyB0b1JlbmRlckJveCh0aGlzKS0+eCgpIDogMCk7CisgICAg
TGF5b3V0VW5pdCB4UG9zID0gKGlzQm94KCkgPyB0b1JlbmRlckJveCh0aGlzKS0+eEZsaXBwZWRG
b3JXcml0aW5nTW9kZSgpIDogMCk7CiAgICAgCiAgICAgLy8gSWYgdGhlIG9mZnNldFBhcmVudCBv
ZiB0aGUgZWxlbWVudCBpcyBudWxsLCBvciBpcyB0aGUgSFRNTCBib2R5IGVsZW1lbnQsCiAgICAg
Ly8gcmV0dXJuIHRoZSBkaXN0YW5jZSBiZXR3ZWVuIHRoZSBjYW52YXMgb3JpZ2luIGFuZCB0aGUg
bGVmdCBib3JkZXIgZWRnZSAKQEAgLTQ1MywxMSArNDUzLDExIEBAIExheW91dFVuaXQgUmVuZGVy
Qm94TW9kZWxPYmplY3Q6Om9mZnNldExlZnQoKSBjb25zdAogICAgICAgICAgICAgd2hpbGUgKGN1
cnIgJiYgY3VyciAhPSBvZmZzZXRQYXIpIHsKICAgICAgICAgICAgICAgICAvLyBGSVhNRTogV2hh
dCBhcmUgd2Ugc3VwcG9zZWQgdG8gZG8gaW5zaWRlIFNWRyBjb250ZW50PwogICAgICAgICAgICAg
ICAgIGlmIChjdXJyLT5pc0JveCgpICYmICFjdXJyLT5pc1RhYmxlUm93KCkpCi0gICAgICAgICAg
ICAgICAgICAgIHhQb3MgKz0gdG9SZW5kZXJCb3goY3VyciktPngoKTsKKyAgICAgICAgICAgICAg
ICAgICAgeFBvcyArPSB0b1JlbmRlckJveChjdXJyKS0+eEZsaXBwZWRGb3JXcml0aW5nTW9kZSgp
OwogICAgICAgICAgICAgICAgIGN1cnIgPSBjdXJyLT5wYXJlbnQoKTsKICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgIGlmIChvZmZzZXRQYXItPmlzQm94KCkgJiYgb2Zmc2V0UGFyLT5pc0JvZHko
KSAmJiAhb2Zmc2V0UGFyLT5pc1JlbFBvc2l0aW9uZWQoKSAmJiAhb2Zmc2V0UGFyLT5pc1Bvc2l0
aW9uZWQoKSkKLSAgICAgICAgICAgICAgICB4UG9zICs9IHRvUmVuZGVyQm94KG9mZnNldFBhcikt
PngoKTsKKyAgICAgICAgICAgICAgICB4UG9zICs9IHRvUmVuZGVyQm94KG9mZnNldFBhciktPnhG
bGlwcGVkRm9yV3JpdGluZ01vZGUoKTsKICAgICAgICAgfQogICAgIH0KIApAQCAtNDcyLDcgKzQ3
Miw3IEBAIExheW91dFVuaXQgUmVuZGVyQm94TW9kZWxPYmplY3Q6Om9mZnNldFRvcCgpIGNvbnN0
CiAgICAgICAgIHJldHVybiAwOwogICAgIAogICAgIFJlbmRlckJveE1vZGVsT2JqZWN0KiBvZmZz
ZXRQYXIgPSBvZmZzZXRQYXJlbnQoKTsKLSAgICBMYXlvdXRVbml0IHlQb3MgPSAoaXNCb3goKSA/
IHRvUmVuZGVyQm94KHRoaXMpLT55KCkgOiAwKTsKKyAgICBMYXlvdXRVbml0IHlQb3MgPSAoaXNC
b3goKSA/IHRvUmVuZGVyQm94KHRoaXMpLT55RmxpcHBlZEZvcldyaXRpbmdNb2RlKCkgOiAwKTsK
ICAgICAKICAgICAvLyBJZiB0aGUgb2Zmc2V0UGFyZW50IG9mIHRoZSBlbGVtZW50IGlzIG51bGws
IG9yIGlzIHRoZSBIVE1MIGJvZHkgZWxlbWVudCwKICAgICAvLyByZXR1cm4gdGhlIGRpc3RhbmNl
IGJldHdlZW4gdGhlIGNhbnZhcyBvcmlnaW4gYW5kIHRoZSB0b3AgYm9yZGVyIGVkZ2UgCkBAIC00
ODcsMTEgKzQ4NywxMSBAQCBMYXlvdXRVbml0IFJlbmRlckJveE1vZGVsT2JqZWN0OjpvZmZzZXRU
b3AoKSBjb25zdAogICAgICAgICAgICAgd2hpbGUgKGN1cnIgJiYgY3VyciAhPSBvZmZzZXRQYXIp
IHsKICAgICAgICAgICAgICAgICAvLyBGSVhNRTogV2hhdCBhcmUgd2Ugc3VwcG9zZWQgdG8gZG8g
aW5zaWRlIFNWRyBjb250ZW50PwogICAgICAgICAgICAgICAgIGlmIChjdXJyLT5pc0JveCgpICYm
ICFjdXJyLT5pc1RhYmxlUm93KCkpCi0gICAgICAgICAgICAgICAgICAgIHlQb3MgKz0gdG9SZW5k
ZXJCb3goY3VyciktPnkoKTsKKyAgICAgICAgICAgICAgICAgICAgeVBvcyArPSB0b1JlbmRlckJv
eChjdXJyKS0+eUZsaXBwZWRGb3JXcml0aW5nTW9kZSgpOwogICAgICAgICAgICAgICAgIGN1cnIg
PSBjdXJyLT5wYXJlbnQoKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGlmIChvZmZzZXRQ
YXItPmlzQm94KCkgJiYgb2Zmc2V0UGFyLT5pc0JvZHkoKSAmJiAhb2Zmc2V0UGFyLT5pc1JlbFBv
c2l0aW9uZWQoKSAmJiAhb2Zmc2V0UGFyLT5pc1Bvc2l0aW9uZWQoKSkKLSAgICAgICAgICAgICAg
ICB5UG9zICs9IHRvUmVuZGVyQm94KG9mZnNldFBhciktPnkoKTsKKyAgICAgICAgICAgICAgICB5
UG9zICs9IHRvUmVuZGVyQm94KG9mZnNldFBhciktPnlGbGlwcGVkRm9yV3JpdGluZ01vZGUoKTsK
ICAgICAgICAgfQogICAgIH0KICAgICByZXR1cm4geVBvczsK
</data>
<flag name="review"
          id="105963"
          type_id="1"
          status="-"
          setter="hyatt"
    />
          </attachment>
      

    </bug>

</bugzilla>