<?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>81921</bug_id>
          
          <creation_ts>2012-03-22 09:01:04 -0700</creation_ts>
          <short_desc>Update usage of LayoutUnits in RenderListMarker</short_desc>
          <delta_ts>2012-03-27 03:09:13 -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>585349</commentid>
    <comment_count>0</comment_count>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2012-03-22 09:01:04 -0700</bug_when>
    <thetext>Also adding pixelSnappedLocation/Size to Int/FractionalLayoutRect.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>586303</commentid>
    <comment_count>1</comment_count>
      <attachid>133476</attachid>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2012-03-23 07:05:36 -0700</bug_when>
    <thetext>Created attachment 133476
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588200</commentid>
    <comment_count>2</comment_count>
      <attachid>133476</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-03-26 15:36:58 -0700</bug_when>
    <thetext>Comment on attachment 133476
Patch

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

OK.

&gt; Source/WebCore/rendering/RenderListMarker.cpp:1124
&gt; +    marker.moveBy(roundedIntPoint(boxOrigin));

I thought we had new fancy .round() methods?

&gt; Source/WebCore/rendering/RenderListMarker.cpp:1263
&gt; +        marker.moveBy(IntPoint(roundToInt(box.x()), roundToInt(box.y() - logicalHeight())));

making a LayoutPoint and rounding that seems easier...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588675</commentid>
    <comment_count>3</comment_count>
      <attachid>133476</attachid>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2012-03-27 02:23:08 -0700</bug_when>
    <thetext>Comment on attachment 133476
Patch

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

&gt;&gt; Source/WebCore/rendering/RenderListMarker.cpp:1124
&gt;&gt; +    marker.moveBy(roundedIntPoint(boxOrigin));
&gt; 
&gt; I thought we had new fancy .round() methods?

We do have these on rects, but not on points. We actually don&apos;t have a .pixelSnap() method on rects either, just convenience functions to return pixel snapped values for the location, size, and edges. If you feel like that would be cleaner I&apos;m happy to take a pass through this implementing that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588682</commentid>
    <comment_count>4</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-03-27 02:26:21 -0700</bug_when>
    <thetext>I think that .round(), .floor(), ciel(), etc. are better than free funcxtions.  But I also think we just need to get your branch landed and we can iterate from there. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588685</commentid>
    <comment_count>5</comment_count>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2012-03-27 02:33:09 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; I think that .round(), .floor(), ciel(), etc. are better than free funcxtions.  But I also think we just need to get your branch landed and we can iterate from there. :)

We do have all those on LayoutUnits... the pain is that we still use integers on trunk. I think you were right that this all would have been a lot easier if we&apos;d first moved to a IntegerLayoutUnit abstraction. Anyways, I&apos;m definitely here to volunteer for clean-up once the switch is flipped!

Thanks for your diligent reviewing!!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588712</commentid>
    <comment_count>6</comment_count>
      <attachid>133476</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-27 03:09:08 -0700</bug_when>
    <thetext>Comment on attachment 133476
Patch

Clearing flags on attachment: 133476

Committed r112238: &lt;http://trac.webkit.org/changeset/112238&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588713</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-27 03:09:13 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>133476</attachid>
            <date>2012-03-23 07:05:36 -0700</date>
            <delta_ts>2012-03-27 03:09:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-81921-20120323150533.patch</filename>
            <type>text/plain</type>
            <size>8913</size>
            <attacher name="Levi Weintraub">leviw</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMTg1NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBACisyMDEyLTAzLTIzICBMZXZpIFdl
aW50cmF1YiAgPGxldml3QGNocm9taXVtLm9yZz4KKworICAgICAgICBVcGRhdGUgdXNhZ2Ugb2Yg
TGF5b3V0VW5pdHMgaW4gUmVuZGVyTGlzdE1hcmtlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODE5MjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnRpbmcgcHJvcGVyIHBpeGVsIHNuYXBwaW5n
IGluIGxpc3QgbWFya2VyIHBhaW50aW5nLCBhbmQgY29ycmVjdGluZyB1c2FnZSBvZiBpbnRlZ2Vy
cworICAgICAgICBmb3IgbG9jYWwgY29vcmRpbmF0ZXMvbWFyZ2lucyB0aGF0IHNob3VsZCBiZSBz
dWItcGl4ZWwuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBObyBjaGFuZ2UgaW4gYmVoYXZpb3Iu
CisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJMaXN0TWFya2VyOjpsb2NhbFNlbGVjdGlvblJlY3QpOiBDaGFuZ2VkIHRv
IExheW91dFVuaXRzIHNpbmNlIHRoaXMgcmVwcmVzZW50cworICAgICAgICBhIHJlY3QgaW4gbG9j
YWwgY29vcmRpbmF0ZXMuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaXN0TWFya2VyOjpwYWlu
dCk6IERvaW5nIHByb3BlciBwaXhlbCBzbmFwcGluZywgYW5kIHVzaW5nIGludGVnZXJzIGZvcgor
ICAgICAgICByZXN1bHRzIGZyb20gdGV4dCBtZWFzdXJlbWVudC4KKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckxpc3RNYXJrZXI6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKTogVXNpbmcg
aW50ZWdlcnMgZm9yIHJlc3VsdHMKKyAgICAgICAgZnJvbSB0ZXh0IG1lYXN1cmVtZW50LgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdE1hcmtlcjo6dXBkYXRlTWFyZ2lucyk6IEZpeGluZyB0
byBiZSBMYXlvdXRVbml0cy4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5o
OgorICAgICAgICAoUmVuZGVyTGlzdE1hcmtlcik6CisKIDIwMTItMDMtMjMgIFRvbW15IFdpZGVu
Zmx5Y2h0ICA8dG9tbXl3QGdvb2dsZS5jb20+CiAKICAgICAgICAgVGhlIEpTQyBjb2RlIGdlbmVy
YXRvciBjYW4ndCBoYW5kbGUgYm9vbGVhbiBhcmd1bWVudHMgZm9yIENhbGxiYWNrcwpJbmRleDog
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RNYXJrZXIuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0TWFya2VyLmNwcAkocmV2aXNp
b24gMTExNjY4KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RNYXJrZXIu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDkwLDE2ICsxMDkwLDE2IEBAIGJvb2wgUmVuZGVyTGlz
dE1hcmtlcjo6aXNJbWFnZSgpIGNvbnN0CiAgICAgcmV0dXJuIG1faW1hZ2UgJiYgIW1faW1hZ2Ut
PmVycm9yT2NjdXJyZWQoKTsKIH0KIAotSW50UmVjdCBSZW5kZXJMaXN0TWFya2VyOjpsb2NhbFNl
bGVjdGlvblJlY3QoKQorTGF5b3V0UmVjdCBSZW5kZXJMaXN0TWFya2VyOjpsb2NhbFNlbGVjdGlv
blJlY3QoKQogewogICAgIElubGluZUJveCogYm94ID0gaW5saW5lQm94V3JhcHBlcigpOwogICAg
IGlmICghYm94KQotICAgICAgICByZXR1cm4gSW50UmVjdChJbnRQb2ludCgpLCBzaXplKCkpOwor
ICAgICAgICByZXR1cm4gTGF5b3V0UmVjdChMYXlvdXRQb2ludCgpLCBzaXplKCkpOwogICAgIFJv
b3RJbmxpbmVCb3gqIHJvb3QgPSBtX2lubGluZUJveFdyYXBwZXItPnJvb3QoKTsKLSAgICBpbnQg
bmV3TG9naWNhbFRvcCA9IHJvb3QtPmJsb2NrKCktPnN0eWxlKCktPmlzRmxpcHBlZEJsb2Nrc1dy
aXRpbmdNb2RlKCkgPyBtX2lubGluZUJveFdyYXBwZXItPmxvZ2ljYWxCb3R0b20oKSAtIHJvb3Qt
PnNlbGVjdGlvbkJvdHRvbSgpIDogcm9vdC0+c2VsZWN0aW9uVG9wKCkgLSBtX2lubGluZUJveFdy
YXBwZXItPmxvZ2ljYWxUb3AoKTsKKyAgICBMYXlvdXRVbml0IG5ld0xvZ2ljYWxUb3AgPSByb290
LT5ibG9jaygpLT5zdHlsZSgpLT5pc0ZsaXBwZWRCbG9ja3NXcml0aW5nTW9kZSgpID8gbV9pbmxp
bmVCb3hXcmFwcGVyLT5sb2dpY2FsQm90dG9tKCkgLSByb290LT5zZWxlY3Rpb25Cb3R0b20oKSA6
IHJvb3QtPnNlbGVjdGlvblRvcCgpIC0gbV9pbmxpbmVCb3hXcmFwcGVyLT5sb2dpY2FsVG9wKCk7
CiAgICAgaWYgKHJvb3QtPmJsb2NrKCktPnN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2Rl
KCkpCi0gICAgICAgIHJldHVybiBJbnRSZWN0KDAsIG5ld0xvZ2ljYWxUb3AsIHdpZHRoKCksIHJv
b3QtPnNlbGVjdGlvbkhlaWdodCgpKTsKLSAgICByZXR1cm4gSW50UmVjdChuZXdMb2dpY2FsVG9w
LCAwLCByb290LT5zZWxlY3Rpb25IZWlnaHQoKSwgaGVpZ2h0KCkpOworICAgICAgICByZXR1cm4g
TGF5b3V0UmVjdCgwLCBuZXdMb2dpY2FsVG9wLCB3aWR0aCgpLCByb290LT5zZWxlY3Rpb25IZWln
aHQoKSk7CisgICAgcmV0dXJuIExheW91dFJlY3QobmV3TG9naWNhbFRvcCwgMCwgcm9vdC0+c2Vs
ZWN0aW9uSGVpZ2h0KCksIGhlaWdodCgpKTsKIH0KIAogdm9pZCBSZW5kZXJMaXN0TWFya2VyOjpw
YWludChQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2Zmc2V0
KQpAQCAtMTExMCwxOCArMTExMCwxOCBAQCB2b2lkIFJlbmRlckxpc3RNYXJrZXI6OnBhaW50KFBh
aW50SW5mbyYgCiAgICAgaWYgKHN0eWxlKCktPnZpc2liaWxpdHkoKSAhPSBWSVNJQkxFKQogICAg
ICAgICByZXR1cm47CiAKLSAgICBJbnRQb2ludCBib3hPcmlnaW4ocGFpbnRPZmZzZXQgKyBsb2Nh
dGlvbigpKTsKKyAgICBMYXlvdXRQb2ludCBib3hPcmlnaW4ocGFpbnRPZmZzZXQgKyBsb2NhdGlv
bigpKTsKICAgICBMYXlvdXRSZWN0IG92ZXJmbG93UmVjdCh2aXN1YWxPdmVyZmxvd1JlY3QoKSk7
CiAgICAgb3ZlcmZsb3dSZWN0Lm1vdmVCeShib3hPcmlnaW4pOwogICAgIG92ZXJmbG93UmVjdC5p
bmZsYXRlKG1heGltYWxPdXRsaW5lU2l6ZShwYWludEluZm8ucGhhc2UpKTsKIAotICAgIGlmICgh
cGFpbnRJbmZvLnJlY3QuaW50ZXJzZWN0cyhvdmVyZmxvd1JlY3QpKQorICAgIGlmICghcGFpbnRJ
bmZvLnJlY3QuaW50ZXJzZWN0cyhwaXhlbFNuYXBwZWRJbnRSZWN0KG92ZXJmbG93UmVjdCkpKQog
ICAgICAgICByZXR1cm47CiAKLSAgICBMYXlvdXRSZWN0IGJveChib3hPcmlnaW4sIExheW91dFNp
emUod2lkdGgoKSwgaGVpZ2h0KCkpKTsKKyAgICBMYXlvdXRSZWN0IGJveChib3hPcmlnaW4sIHNp
emUoKSk7CiAgICAgCi0gICAgTGF5b3V0UmVjdCBtYXJrZXIgPSBnZXRSZWxhdGl2ZU1hcmtlclJl
Y3QoKTsKLSAgICBtYXJrZXIubW92ZUJ5KGJveE9yaWdpbik7CisgICAgSW50UmVjdCBtYXJrZXIg
PSBnZXRSZWxhdGl2ZU1hcmtlclJlY3QoKTsKKyAgICBtYXJrZXIubW92ZUJ5KHJvdW5kZWRJbnRQ
b2ludChib3hPcmlnaW4pKTsKIAogICAgIEdyYXBoaWNzQ29udGV4dCogY29udGV4dCA9IHBhaW50
SW5mby5jb250ZXh0OwogCkBAIC0xMTM0LDcgKzExMzQsNyBAQCB2b2lkIFJlbmRlckxpc3RNYXJr
ZXI6OnBhaW50KFBhaW50SW5mbyYgCiAgICAgICAgIGlmIChzZWxlY3Rpb25TdGF0ZSgpICE9IFNl
bGVjdGlvbk5vbmUpIHsKICAgICAgICAgICAgIExheW91dFJlY3Qgc2VsUmVjdCA9IGxvY2FsU2Vs
ZWN0aW9uUmVjdCgpOwogICAgICAgICAgICAgc2VsUmVjdC5tb3ZlQnkoYm94T3JpZ2luKTsKLSAg
ICAgICAgICAgIGNvbnRleHQtPmZpbGxSZWN0KHNlbFJlY3QsIHNlbGVjdGlvbkJhY2tncm91bmRD
b2xvcigpLCBzdHlsZSgpLT5jb2xvclNwYWNlKCkpOworICAgICAgICAgICAgY29udGV4dC0+Zmls
bFJlY3QocGl4ZWxTbmFwcGVkSW50UmVjdChzZWxSZWN0KSwgc2VsZWN0aW9uQmFja2dyb3VuZENv
bG9yKCksIHN0eWxlKCktPmNvbG9yU3BhY2UoKSk7CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJu
OwogICAgIH0KQEAgLTExNDgsNyArMTE0OCw3IEBAIHZvaWQgUmVuZGVyTGlzdE1hcmtlcjo6cGFp
bnQoUGFpbnRJbmZvJiAKICAgICBpZiAoc2VsZWN0aW9uU3RhdGUoKSAhPSBTZWxlY3Rpb25Ob25l
KSB7CiAgICAgICAgIExheW91dFJlY3Qgc2VsUmVjdCA9IGxvY2FsU2VsZWN0aW9uUmVjdCgpOwog
ICAgICAgICBzZWxSZWN0Lm1vdmVCeShib3hPcmlnaW4pOwotICAgICAgICBjb250ZXh0LT5maWxs
UmVjdChzZWxSZWN0LCBzZWxlY3Rpb25CYWNrZ3JvdW5kQ29sb3IoKSwgc3R5bGUoKS0+Y29sb3JT
cGFjZSgpKTsKKyAgICAgICAgY29udGV4dC0+ZmlsbFJlY3QocGl4ZWxTbmFwcGVkSW50UmVjdChz
ZWxSZWN0KSwgc2VsZWN0aW9uQmFja2dyb3VuZENvbG9yKCksIHN0eWxlKCktPmNvbG9yU3BhY2Uo
KSk7CiAgICAgfQogCiAgICAgY29uc3QgQ29sb3IgY29sb3Ioc3R5bGUoKS0+dmlzaXRlZERlcGVu
ZGVudENvbG9yKENTU1Byb3BlcnR5Q29sb3IpKTsKQEAgLTEyNTgsMTYgKzEyNTgsMTYgQEAgdm9p
ZCBSZW5kZXJMaXN0TWFya2VyOjpwYWludChQYWludEluZm8mIAogCiAgICAgR3JhcGhpY3NDb250
ZXh0U3RhdGVTYXZlciBzdGF0ZVNhdmVyKCpjb250ZXh0LCBmYWxzZSk7CiAgICAgaWYgKCFzdHls
ZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpKSB7Ci0gICAgICAgIG1hcmtlci5tb3ZlQnko
LWJveE9yaWdpbik7CisgICAgICAgIG1hcmtlci5tb3ZlQnkocm91bmRlZEludFBvaW50KC1ib3hP
cmlnaW4pKTsKICAgICAgICAgbWFya2VyID0gbWFya2VyLnRyYW5zcG9zZWRSZWN0KCk7Ci0gICAg
ICAgIG1hcmtlci5tb3ZlKGJveC54KCksIGJveC55KCkgLSBsb2dpY2FsSGVpZ2h0KCkpOworICAg
ICAgICBtYXJrZXIubW92ZUJ5KEludFBvaW50KHJvdW5kVG9JbnQoYm94LngoKSksIHJvdW5kVG9J
bnQoYm94LnkoKSAtIGxvZ2ljYWxIZWlnaHQoKSkpKTsKICAgICAgICAgc3RhdGVTYXZlci5zYXZl
KCk7CiAgICAgICAgIGNvbnRleHQtPnRyYW5zbGF0ZShtYXJrZXIueCgpLCBtYXJrZXIubWF4WSgp
KTsKICAgICAgICAgY29udGV4dC0+cm90YXRlKHN0YXRpY19jYXN0PGZsb2F0PihkZWcycmFkKDkw
LikpKTsKICAgICAgICAgY29udGV4dC0+dHJhbnNsYXRlKC1tYXJrZXIueCgpLCAtbWFya2VyLm1h
eFkoKSk7CiAgICAgfQogCi0gICAgTGF5b3V0UG9pbnQgdGV4dE9yaWdpbiA9IExheW91dFBvaW50
KG1hcmtlci54KCksIG1hcmtlci55KCkgKyBzdHlsZSgpLT5mb250TWV0cmljcygpLmFzY2VudCgp
KTsKKyAgICBJbnRQb2ludCB0ZXh0T3JpZ2luID0gSW50UG9pbnQobWFya2VyLngoKSwgbWFya2Vy
LnkoKSArIHN0eWxlKCktPmZvbnRNZXRyaWNzKCkuYXNjZW50KCkpOwogCiAgICAgaWYgKHR5cGUg
PT0gQXN0ZXJpc2tzIHx8IHR5cGUgPT0gRm9vdG5vdGVzKQogICAgICAgICBjb250ZXh0LT5kcmF3
VGV4dChmb250LCB0ZXh0UnVuLCB0ZXh0T3JpZ2luKTsKQEAgLTEyODYsMTQgKzEyODYsMTQgQEAg
dm9pZCBSZW5kZXJMaXN0TWFya2VyOjpwYWludChQYWludEluZm8mIAogCiAgICAgICAgIGNvbnN0
IFVDaGFyIHN1ZmZpeCA9IGxpc3RNYXJrZXJTdWZmaXgodHlwZSwgbV9saXN0SXRlbS0+dmFsdWUo
KSk7CiAgICAgICAgIGlmIChzdHlsZSgpLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpIHsKLSAg
ICAgICAgICAgIExheW91dFVuaXQgd2lkdGggPSBmb250LndpZHRoKHRleHRSdW4pOworICAgICAg
ICAgICAgaW50IHdpZHRoID0gZm9udC53aWR0aCh0ZXh0UnVuKTsKICAgICAgICAgICAgIGNvbnRl
eHQtPmRyYXdUZXh0KGZvbnQsIHRleHRSdW4sIHRleHRPcmlnaW4pOwogICAgICAgICAgICAgVUNo
YXIgc3VmZml4U3BhY2VbMl0gPSB7IHN1ZmZpeCwgJyAnIH07CiAgICAgICAgICAgICBjb250ZXh0
LT5kcmF3VGV4dChmb250LCBSZW5kZXJCbG9jazo6Y29uc3RydWN0VGV4dFJ1bih0aGlzLCBmb250
LCBzdWZmaXhTcGFjZSwgMiwgc3R5bGUoKSksIHRleHRPcmlnaW4gKyBJbnRTaXplKHdpZHRoLCAw
KSk7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBVQ2hhciBzcGFjZVN1ZmZpeFsyXSA9
IHsgJyAnLCBzdWZmaXggfTsKICAgICAgICAgICAgIFRleHRSdW4gc3BhY2VTdWZmaXhSdW4gPSBS
ZW5kZXJCbG9jazo6Y29uc3RydWN0VGV4dFJ1bih0aGlzLCBmb250LCBzcGFjZVN1ZmZpeCwgMiwg
c3R5bGUoKSk7Ci0gICAgICAgICAgICBMYXlvdXRVbml0IHdpZHRoID0gZm9udC53aWR0aChzcGFj
ZVN1ZmZpeFJ1bik7CisgICAgICAgICAgICBpbnQgd2lkdGggPSBmb250LndpZHRoKHNwYWNlU3Vm
Zml4UnVuKTsKICAgICAgICAgICAgIGNvbnRleHQtPmRyYXdUZXh0KGZvbnQsIHNwYWNlU3VmZml4
UnVuLCB0ZXh0T3JpZ2luKTsKICAgICAgICAgICAgIGNvbnRleHQtPmRyYXdUZXh0KGZvbnQsIHRl
eHRSdW4sIHRleHRPcmlnaW4gKyBJbnRTaXplKHdpZHRoLCAwKSk7CiAgICAgICAgIH0KQEAgLTEz
NDksOCArMTM0OSw4IEBAIHZvaWQgUmVuZGVyTGlzdE1hcmtlcjo6Y29tcHV0ZVByZWZlcnJlZEwK
ICAgICBpZiAoaXNJbWFnZSgpKSB7CiAgICAgICAgIC8vIEZJWE1FOiBUaGlzIGlzIGEgc29tZXdo
YXQgYXJiaXRyYXJ5IHdpZHRoLiAgR2VuZXJhdGVkIGltYWdlcyBmb3IgbWFya2VycyByZWFsbHkg
d29uJ3QgYmVjb21lIHBhcnRpY3VsYXJseSB1c2VmdWwKICAgICAgICAgLy8gdW50aWwgd2Ugc3Vw
cG9ydCB0aGUgQ1NTMyBtYXJrZXIgcHNldWRvY2xhc3MgdG8gYWxsb3cgY29udHJvbCBvdmVyIHRo
ZSB3aWR0aCBhbmQgaGVpZ2h0IG9mIHRoZSBtYXJrZXIgYm94LgotICAgICAgICBMYXlvdXRVbml0
IGJ1bGxldFdpZHRoID0gZm9udE1ldHJpY3MuYXNjZW50KCkgLyAyOwotICAgICAgICBtX2ltYWdl
LT5zZXRDb250YWluZXJTaXplRm9yUmVuZGVyZXIodGhpcywgTGF5b3V0U2l6ZShidWxsZXRXaWR0
aCwgYnVsbGV0V2lkdGgpLCBzdHlsZSgpLT5lZmZlY3RpdmVab29tKCkpOworICAgICAgICBpbnQg
YnVsbGV0V2lkdGggPSBmb250TWV0cmljcy5hc2NlbnQoKSAvIDI7CisgICAgICAgIG1faW1hZ2Ut
PnNldENvbnRhaW5lclNpemVGb3JSZW5kZXJlcih0aGlzLCBJbnRTaXplKGJ1bGxldFdpZHRoLCBi
dWxsZXRXaWR0aCksIHN0eWxlKCktPmVmZmVjdGl2ZVpvb20oKSk7CiAgICAgICAgIExheW91dFNp
emUgaW1hZ2VTaXplID0gbV9pbWFnZS0+aW1hZ2VTaXplKHRoaXMsIHN0eWxlKCktPmVmZmVjdGl2
ZVpvb20oKSk7CiAgICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gbV9tYXhQcmVm
ZXJyZWRMb2dpY2FsV2lkdGggPSBzdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8g
aW1hZ2VTaXplLndpZHRoKCkgOiBpbWFnZVNpemUuaGVpZ2h0KCk7CiAgICAgICAgIHNldFByZWZl
cnJlZExvZ2ljYWxXaWR0aHNEaXJ0eShmYWxzZSk7CkBAIC0xNDczLDggKzE0NzMsOCBAQCB2b2lk
IFJlbmRlckxpc3RNYXJrZXI6OnVwZGF0ZU1hcmdpbnMoKQogewogICAgIGNvbnN0IEZvbnRNZXRy
aWNzJiBmb250TWV0cmljcyA9IHN0eWxlKCktPmZvbnRNZXRyaWNzKCk7CiAKLSAgICBpbnQgbWFy
Z2luU3RhcnQgPSAwOwotICAgIGludCBtYXJnaW5FbmQgPSAwOworICAgIExheW91dFVuaXQgbWFy
Z2luU3RhcnQgPSAwOworICAgIExheW91dFVuaXQgbWFyZ2luRW5kID0gMDsKIAogICAgIGlmIChp
c0luc2lkZSgpKSB7CiAgICAgICAgIGlmIChpc0ltYWdlKCkpCkBAIC0xNTA0LDcgKzE1MDQsNyBA
QCB2b2lkIFJlbmRlckxpc3RNYXJrZXI6OnVwZGF0ZU1hcmdpbnMoKQogICAgICAgICAgICAgICAg
ICAgICBjYXNlIE5vbmVMaXN0U3R5bGU6CiAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgIG1h
cmdpblN0YXJ0ID0gbV90ZXh0LmlzRW1wdHkoKSA/IDAgOiAtbWluUHJlZmVycmVkTG9naWNhbFdp
ZHRoKCkgLSBvZmZzZXQgLyAyOworICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luU3RhcnQg
PSBtX3RleHQuaXNFbXB0eSgpID8gemVyb0xheW91dFVuaXQgOiAtbWluUHJlZmVycmVkTG9naWNh
bFdpZHRoKCkgLSBvZmZzZXQgLyAyOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgIG1hcmdpbkVuZCA9IC1tYXJnaW5TdGFydCAtIG1pblByZWZlcnJlZExvZ2lj
YWxXaWR0aCgpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RNYXJr
ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdE1h
cmtlci5oCShyZXZpc2lvbiAxMTE2NjgpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGlzdE1hcmtlci5oCSh3b3JraW5nIGNvcHkpCkBAIC03NCw3ICs3NCw3IEBAIHByaXZhdGU6
CiAgICAgdmlydHVhbCB2b2lkIHN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSwgY29uc3Qg
UmVuZGVyU3R5bGUqIG9sZFN0eWxlKTsKIAogICAgIEludFJlY3QgZ2V0UmVsYXRpdmVNYXJrZXJS
ZWN0KCk7Ci0gICAgSW50UmVjdCBsb2NhbFNlbGVjdGlvblJlY3QoKTsKKyAgICBMYXlvdXRSZWN0
IGxvY2FsU2VsZWN0aW9uUmVjdCgpOwogCiAgICAgU3RyaW5nIG1fdGV4dDsKICAgICBSZWZQdHI8
U3R5bGVJbWFnZT4gbV9pbWFnZTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>