<?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>152323</bug_id>
          
          <creation_ts>2015-12-15 20:24:18 -0800</creation_ts>
          <short_desc>FontCascade cleanup: Remove ::drawSimpleText and ::drawComplexText.</short_desc>
          <delta_ts>2015-12-15 22:28:43 -0800</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>WebKit 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="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1149494</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2015-12-15 20:24:18 -0800</bug_when>
    <thetext>platform code has platform independent logic.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1149496</commentid>
    <comment_count>1</comment_count>
      <attachid>267428</attachid>
    <who name="alan">zalan</who>
    <bug_when>2015-12-15 20:30:22 -0800</bug_when>
    <thetext>Created attachment 267428
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1149509</commentid>
    <comment_count>2</comment_count>
      <attachid>267428</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-12-15 21:02:32 -0800</bug_when>
    <thetext>Comment on attachment 267428
Patch

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

r=me !!!!!

&gt; Source/WebCore/platform/graphics/FontCascade.cpp:309
&gt; +float FontCascade::glyphBufferForTextRun(CodePath codePathToUse, const TextRun&amp; run, int from, int to, GlyphBuffer&amp; glyphBuffer) const

This doesn&apos;t need to be a class member function. It can just be static (not in any header).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1149510</commentid>
    <comment_count>3</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2015-12-15 21:07:48 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Comment on attachment 267428 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=267428&amp;action=review
&gt; 
&gt; r=me !!!!!
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/FontCascade.cpp:309
&gt; &gt; +float FontCascade::glyphBufferForTextRun(CodePath codePathToUse, const TextRun&amp; run, int from, int to, GlyphBuffer&amp; glyphBuffer) const
&gt; 
&gt; This doesn&apos;t need to be a class member function. It can just be static (not
&gt; in any header).
I should have mentioned that this patch is also in preparation for adding glyph caching. (which will require this to either be a member function or pass in the fontcascade object. -and i&apos;d rather do the former.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1149523</commentid>
    <comment_count>4</comment_count>
      <attachid>267428</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-12-15 22:28:40 -0800</bug_when>
    <thetext>Comment on attachment 267428
Patch

Clearing flags on attachment: 267428

Committed r194132: &lt;http://trac.webkit.org/changeset/194132&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1149524</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-12-15 22:28:43 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>267428</attachid>
            <date>2015-12-15 20:30:22 -0800</date>
            <delta_ts>2015-12-15 22:28:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-152323-20151215202944.patch</filename>
            <type>text/plain</type>
            <size>10430</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk0MDE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTljYWViZWEwNTZkNzIw
NGM3YjRhMzg5Y2Y1OWM5MDI3ZTFlY2UxZC4uOGViZDdmMjNhNDk3OGFkMGM4YTBjZjZkODA4YTA1
ZmM3MmM3MjYyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE1LTEyLTE1ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgRm9udENhc2NhZGUgY2xlYW51
cDogUmVtb3ZlIDo6ZHJhd1NpbXBsZVRleHQgYW5kIDo6ZHJhd0NvbXBsZXhUZXh0LgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUyMzIzCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUGxhdGZvcm0gY29kZSBm
b3IgOjpkcmF3Q29tcGxleFRleHQoKSBpcyByZWR1bmRhbnQgYW5kIGhhcyAKKyAgICAgICAgbm8g
cGxhdGZvcm0gZGVwZW5kZW50IGxvZ2ljLiBNb3ZlIGl0IGFsbCB0byA6OmRyYXdUZXh0KCkKKwor
ICAgICAgICBObyBjaGFuZ2UgaW4gZnVuY3Rpb25hbGl0eS4KKworICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYXNjYWRl
OjpnbHlwaEJ1ZmZlckZvclRleHRSdW4pOgorICAgICAgICAoV2ViQ29yZTo6Rm9udENhc2NhZGU6
OmRyYXdUZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYXNjYWRlOjpkcmF3U2ltcGxlVGV4
dCk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9Gb250Q2Fpcm9IYXJmYnV6ek5HLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYXNjYWRlOjpkcmF3Q29tcGxleFRleHQpOiBEZWxl
dGVkLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYXNjYWRlQ29jb2Eu
bW06CisgICAgICAgIChXZWJDb3JlOjpGb250Q2FzY2FkZTo6ZHJhd0NvbXBsZXhUZXh0KTogRGVs
ZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udFdpbi5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpGb250Q2FzY2FkZTo6ZHJhd0NvbXBsZXhUZXh0KTogRGVsZXRlZC4KKwog
MjAxNS0xMi0xMyAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIENs
ZWFuIHVwIGFic29sdXRlIHBvc2l0aW9uZWQgbWFwIHByb3Blcmx5LgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuY3BwCmluZGV4IGUzOGI0OTE1OTQ5
M2MwMjUzN2NlNjUwYzVjZjIyMzNmZTlmZDRmZDMuLjFiZmFlZTQ1MmYyMjVlZjM1M2JjNmJkZmMx
NjBhOWNkN2ZkOTM5YzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ZvbnRDYXNjYWRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9Gb250Q2FzY2FkZS5jcHAKQEAgLTMwNiw2ICszMDYsMTMgQEAgdm9pZCBGb250Q2FzY2FkZTo6
dXBkYXRlKFJlZlB0cjxGb250U2VsZWN0b3I+JiYgZm9udFNlbGVjdG9yKSBjb25zdAogICAgIG1f
cmVxdWlyZXNTaGFwaW5nID0gY29tcHV0ZVJlcXVpcmVzU2hhcGluZygpOwogfQogCitmbG9hdCBG
b250Q2FzY2FkZTo6Z2x5cGhCdWZmZXJGb3JUZXh0UnVuKENvZGVQYXRoIGNvZGVQYXRoVG9Vc2Us
IGNvbnN0IFRleHRSdW4mIHJ1biwgaW50IGZyb20sIGludCB0bywgR2x5cGhCdWZmZXImIGdseXBo
QnVmZmVyKSBjb25zdAoreworICAgIGlmIChjb2RlUGF0aFRvVXNlICE9IENvbXBsZXgpCisgICAg
ICAgIHJldHVybiBnZXRHbHlwaHNBbmRBZHZhbmNlc0ZvclNpbXBsZVRleHQocnVuLCBmcm9tLCB0
bywgZ2x5cGhCdWZmZXIpOworICAgIHJldHVybiBnZXRHbHlwaHNBbmRBZHZhbmNlc0ZvckNvbXBs
ZXhUZXh0KHJ1biwgZnJvbSwgdG8sIGdseXBoQnVmZmVyKTsKK30KKwogZmxvYXQgRm9udENhc2Nh
ZGU6OmRyYXdUZXh0KEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29uc3QgVGV4dFJ1biYgcnVu
LCBjb25zdCBGbG9hdFBvaW50JiBwb2ludCwgaW50IGZyb20sIGludCB0bywgQ3VzdG9tRm9udE5v
dFJlYWR5QWN0aW9uIGN1c3RvbUZvbnROb3RSZWFkeUFjdGlvbikgY29uc3QKIHsKICAgICAvLyBE
b24ndCBkcmF3IGFueXRoaW5nIHdoaWxlIHdlIGFyZSB1c2luZyBjdXN0b20gZm9udHMgdGhhdCBh
cmUgaW4gdGhlIHByb2Nlc3Mgb2YgbG9hZGluZywKQEAgLTMyMSwxMCArMzI4LDE1IEBAIGZsb2F0
IEZvbnRDYXNjYWRlOjpkcmF3VGV4dChHcmFwaGljc0NvbnRleHQmIGNvbnRleHQsIGNvbnN0IFRl
eHRSdW4mIHJ1biwgY29uc3QKICAgICBpZiAoY29kZVBhdGhUb1VzZSAhPSBDb21wbGV4ICYmIChl
bmFibGVLZXJuaW5nKCkgfHwgcmVxdWlyZXNTaGFwaW5nKCkpICYmIChmcm9tIHx8IHN0YXRpY19j
YXN0PHVuc2lnbmVkPih0bykgIT0gcnVuLmxlbmd0aCgpKSAmJiAhaXNEcmF3bldpdGhTVkdGb250
KHJ1bikpCiAgICAgICAgIGNvZGVQYXRoVG9Vc2UgPSBDb21wbGV4OwogCi0gICAgaWYgKGNvZGVQ
YXRoVG9Vc2UgIT0gQ29tcGxleCkKLSAgICAgICAgcmV0dXJuIGRyYXdTaW1wbGVUZXh0KGNvbnRl
eHQsIHJ1biwgcG9pbnQsIGZyb20sIHRvKTsKLQotICAgIHJldHVybiBkcmF3Q29tcGxleFRleHQo
Y29udGV4dCwgcnVuLCBwb2ludCwgZnJvbSwgdG8pOworICAgIEdseXBoQnVmZmVyIGdseXBoQnVm
ZmVyOworICAgIGZsb2F0IHN0YXJ0WCA9IHBvaW50LngoKSArIGdseXBoQnVmZmVyRm9yVGV4dFJ1
bihjb2RlUGF0aFRvVXNlLCBydW4sIGZyb20sIHRvLCBnbHlwaEJ1ZmZlcik7CisgICAgLy8gV2Ug
Y291bGRuJ3QgZ2VuZXJhdGUgYW55IGdseXBocyBmb3IgdGhlIHJ1bi4gR2l2ZSB1cC4KKyAgICBp
ZiAoZ2x5cGhCdWZmZXIuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gMDsKKyAgICAvLyBEcmF3
IHRoZSBnbHlwaCBidWZmZXIgbm93IGF0IHRoZSBzdGFydGluZyBwb2ludCByZXR1cm5lZCBpbiBz
dGFydFguCisgICAgRmxvYXRQb2ludCBzdGFydFBvaW50KHN0YXJ0WCwgcG9pbnQueSgpKTsKKyAg
ICBkcmF3R2x5cGhCdWZmZXIoY29udGV4dCwgcnVuLCBnbHlwaEJ1ZmZlciwgc3RhcnRQb2ludCk7
CisgICAgcmV0dXJuIHN0YXJ0UG9pbnQueCgpIC0gc3RhcnRYOwogfQogCiB2b2lkIEZvbnRDYXNj
YWRlOjpkcmF3RW1waGFzaXNNYXJrcyhHcmFwaGljc0NvbnRleHQmIGNvbnRleHQsIGNvbnN0IFRl
eHRSdW4mIHJ1biwgY29uc3QgQXRvbWljU3RyaW5nJiBtYXJrLCBjb25zdCBGbG9hdFBvaW50JiBw
b2ludCwgaW50IGZyb20sIGludCB0bykgY29uc3QKQEAgLTEyOTIsMjIgKzEzMDQsNiBAQCBmbG9h
dCBGb250Q2FzY2FkZTo6Z2V0R2x5cGhzQW5kQWR2YW5jZXNGb3JTaW1wbGVUZXh0KGNvbnN0IFRl
eHRSdW4mIHJ1biwgaW50IGZybwogICAgIHJldHVybiBpbml0aWFsQWR2YW5jZTsKIH0KIAotZmxv
YXQgRm9udENhc2NhZGU6OmRyYXdTaW1wbGVUZXh0KEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwg
Y29uc3QgVGV4dFJ1biYgcnVuLCBjb25zdCBGbG9hdFBvaW50JiBwb2ludCwgaW50IGZyb20sIGlu
dCB0bykgY29uc3QKLXsKLSAgICAvLyBUaGlzIGdseXBoIGJ1ZmZlciBob2xkcyBvdXIgZ2x5cGhz
K2FkdmFuY2VzK2ZvbnQgZGF0YSBmb3IgZWFjaCBnbHlwaC4KLSAgICBHbHlwaEJ1ZmZlciBnbHlw
aEJ1ZmZlcjsKLQotICAgIGZsb2F0IHN0YXJ0WCA9IHBvaW50LngoKSArIGdldEdseXBoc0FuZEFk
dmFuY2VzRm9yU2ltcGxlVGV4dChydW4sIGZyb20sIHRvLCBnbHlwaEJ1ZmZlcik7Ci0KLSAgICBp
ZiAoZ2x5cGhCdWZmZXIuaXNFbXB0eSgpKQotICAgICAgICByZXR1cm4gMDsKLQotICAgIEZsb2F0
UG9pbnQgc3RhcnRQb2ludChzdGFydFgsIHBvaW50LnkoKSk7Ci0gICAgZHJhd0dseXBoQnVmZmVy
KGNvbnRleHQsIHJ1biwgZ2x5cGhCdWZmZXIsIHN0YXJ0UG9pbnQpOwotCi0gICAgcmV0dXJuIHN0
YXJ0UG9pbnQueCgpIC0gc3RhcnRYOwotfQotCiB2b2lkIEZvbnRDYXNjYWRlOjpkcmF3RW1waGFz
aXNNYXJrc0ZvclNpbXBsZVRleHQoR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0LCBjb25zdCBUZXh0
UnVuJiBydW4sIGNvbnN0IEF0b21pY1N0cmluZyYgbWFyaywgY29uc3QgRmxvYXRQb2ludCYgcG9p
bnQsIGludCBmcm9tLCBpbnQgdG8pIGNvbnN0CiB7CiAgICAgR2x5cGhCdWZmZXIgZ2x5cGhCdWZm
ZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2Fz
Y2FkZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuaApp
bmRleCBmNzM3NTY2ZTYxNjU0ZWJlNDI2ZDhhNTAzODc2ZGI5ZDI3OTYzMzUxLi4yMTA5MGIzYmQz
ZTMwMmY5MTI2NDJiZWNjMjVlZGRjNjhlNjllYWQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmgKQEAgLTIyMiw5ICsyMjIsOSBAQCBwdWJsaWM6
CiBwcml2YXRlOgogICAgIGVudW0gRm9yVGV4dEVtcGhhc2lzT3JOb3QgeyBOb3RGb3JUZXh0RW1w
aGFzaXMsIEZvclRleHRFbXBoYXNpcyB9OwogCisgICAgZmxvYXQgZ2x5cGhCdWZmZXJGb3JUZXh0
UnVuKENvZGVQYXRoLCBjb25zdCBUZXh0UnVuJiwgaW50IGZyb20sIGludCB0bywgR2x5cGhCdWZm
ZXImKSBjb25zdDsKICAgICAvLyBSZXR1cm5zIHRoZSBpbml0aWFsIGluLXN0cmVhbSBhZHZhbmNl
LgogICAgIGZsb2F0IGdldEdseXBoc0FuZEFkdmFuY2VzRm9yU2ltcGxlVGV4dChjb25zdCBUZXh0
UnVuJiwgaW50IGZyb20sIGludCB0bywgR2x5cGhCdWZmZXImLCBGb3JUZXh0RW1waGFzaXNPck5v
dCA9IE5vdEZvclRleHRFbXBoYXNpcykgY29uc3Q7Ci0gICAgZmxvYXQgZHJhd1NpbXBsZVRleHQo
R3JhcGhpY3NDb250ZXh0JiwgY29uc3QgVGV4dFJ1biYsIGNvbnN0IEZsb2F0UG9pbnQmLCBpbnQg
ZnJvbSwgaW50IHRvKSBjb25zdDsKICAgICB2b2lkIGRyYXdFbXBoYXNpc01hcmtzRm9yU2ltcGxl
VGV4dChHcmFwaGljc0NvbnRleHQmLCBjb25zdCBUZXh0UnVuJiwgY29uc3QgQXRvbWljU3RyaW5n
JiBtYXJrLCBjb25zdCBGbG9hdFBvaW50JiwgaW50IGZyb20sIGludCB0bykgY29uc3Q7CiAgICAg
dm9pZCBkcmF3R2x5cGhCdWZmZXIoR3JhcGhpY3NDb250ZXh0JiwgY29uc3QgVGV4dFJ1biYsIGNv
bnN0IEdseXBoQnVmZmVyJiwgRmxvYXRQb2ludCYpIGNvbnN0OwogICAgIHZvaWQgZHJhd0VtcGhh
c2lzTWFya3MoR3JhcGhpY3NDb250ZXh0JiwgY29uc3QgVGV4dFJ1biYsIGNvbnN0IEdseXBoQnVm
ZmVyJiwgY29uc3QgQXRvbWljU3RyaW5nJiwgY29uc3QgRmxvYXRQb2ludCYpIGNvbnN0OwpAQCAt
MjM5LDcgKzIzOSw2IEBAIHByaXZhdGU6CiAKICAgICAvLyBSZXR1cm5zIHRoZSBpbml0aWFsIGlu
LXN0cmVhbSBhZHZhbmNlLgogICAgIGZsb2F0IGdldEdseXBoc0FuZEFkdmFuY2VzRm9yQ29tcGxl
eFRleHQoY29uc3QgVGV4dFJ1biYsIGludCBmcm9tLCBpbnQgdG8sIEdseXBoQnVmZmVyJiwgRm9y
VGV4dEVtcGhhc2lzT3JOb3QgPSBOb3RGb3JUZXh0RW1waGFzaXMpIGNvbnN0OwotICAgIGZsb2F0
IGRyYXdDb21wbGV4VGV4dChHcmFwaGljc0NvbnRleHQmLCBjb25zdCBUZXh0UnVuJiwgY29uc3Qg
RmxvYXRQb2ludCYsIGludCBmcm9tLCBpbnQgdG8pIGNvbnN0OwogICAgIHZvaWQgZHJhd0VtcGhh
c2lzTWFya3NGb3JDb21wbGV4VGV4dChHcmFwaGljc0NvbnRleHQmLCBjb25zdCBUZXh0UnVuJiwg
Y29uc3QgQXRvbWljU3RyaW5nJiBtYXJrLCBjb25zdCBGbG9hdFBvaW50JiwgaW50IGZyb20sIGlu
dCB0bykgY29uc3Q7CiAgICAgZmxvYXQgZmxvYXRXaWR0aEZvckNvbXBsZXhUZXh0KGNvbnN0IFRl
eHRSdW4mLCBIYXNoU2V0PGNvbnN0IEZvbnQqPiogZmFsbGJhY2tGb250cyA9IDAsIEdseXBoT3Zl
cmZsb3cqID0gMCkgY29uc3Q7CiAgICAgaW50IG9mZnNldEZvclBvc2l0aW9uRm9yQ29tcGxleFRl
eHQoY29uc3QgVGV4dFJ1biYsIGZsb2F0IHBvc2l0aW9uLCBib29sIGluY2x1ZGVQYXJ0aWFsR2x5
cGhzKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NhaXJvL0ZvbnRDYWlyb0hhcmZidXp6TkcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2Fpcm8vRm9udENhaXJvSGFyZmJ1enpORy5jcHAKaW5kZXggNGZlYzFhYWViMmVk
OWQ0Yjc2ZTkzNDM5MmY0ZTMyYTg2MTlhZTljNy4uMjE2ZDkxMWRlM2EwN2ZjN2Y0NGY5NWNiMGQ0
NWFiODY0ZTZkZmM2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2Fpcm8vRm9udENhaXJvSGFyZmJ1enpORy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9udENhaXJvSGFyZmJ1enpORy5jcHAKQEAgLTUyLDI0ICs1
Miw2IEBAIGZsb2F0IEZvbnRDYXNjYWRlOjpnZXRHbHlwaHNBbmRBZHZhbmNlc0ZvckNvbXBsZXhU
ZXh0KGNvbnN0IFRleHRSdW4mIHJ1biwgaW50LCBpCiAgICAgcmV0dXJuIDA7CiB9CiAKLWZsb2F0
IEZvbnRDYXNjYWRlOjpkcmF3Q29tcGxleFRleHQoR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0LCBj
b25zdCBUZXh0UnVuJiBydW4sIGNvbnN0IEZsb2F0UG9pbnQmIHBvaW50LCBpbnQgZnJvbSwgaW50
IHRvKSBjb25zdAotewotICAgIC8vIFRoaXMgZ2x5cGggYnVmZmVyIGhvbGRzIG91ciBnbHlwaHMg
KyBhZHZhbmNlcyArIGZvbnQgZGF0YSBmb3IgZWFjaCBnbHlwaC4KLSAgICBHbHlwaEJ1ZmZlciBn
bHlwaEJ1ZmZlcjsKLQotICAgIGZsb2F0IHN0YXJ0WCA9IHBvaW50LngoKSArIGdldEdseXBoc0Fu
ZEFkdmFuY2VzRm9yQ29tcGxleFRleHQocnVuLCBmcm9tLCB0bywgZ2x5cGhCdWZmZXIpOwotCi0g
ICAgLy8gV2UgY291bGRuJ3QgZ2VuZXJhdGUgYW55IGdseXBocyBmb3IgdGhlIHJ1bi4gR2l2ZSB1
cC4KLSAgICBpZiAoZ2x5cGhCdWZmZXIuaXNFbXB0eSgpKQotICAgICAgICByZXR1cm4gMDsKLQot
ICAgIC8vIERyYXcgdGhlIGdseXBoIGJ1ZmZlciBub3cgYXQgdGhlIHN0YXJ0aW5nIHBvaW50IHJl
dHVybmVkIGluIHN0YXJ0WC4KLSAgICBGbG9hdFBvaW50IHN0YXJ0UG9pbnQoc3RhcnRYLCBwb2lu
dC55KCkpOwotICAgIGRyYXdHbHlwaEJ1ZmZlcihjb250ZXh0LCBydW4sIGdseXBoQnVmZmVyLCBz
dGFydFBvaW50KTsKLQotICAgIHJldHVybiBzdGFydFBvaW50LngoKSAtIHN0YXJ0WDsKLX0KLQog
dm9pZCBGb250Q2FzY2FkZTo6ZHJhd0VtcGhhc2lzTWFya3NGb3JDb21wbGV4VGV4dChHcmFwaGlj
c0NvbnRleHQmIC8qIGNvbnRleHQgKi8sIGNvbnN0IFRleHRSdW4mIC8qIHJ1biAqLywgY29uc3Qg
QXRvbWljU3RyaW5nJiAvKiBtYXJrICovLCBjb25zdCBGbG9hdFBvaW50JiAvKiBwb2ludCAqLywg
aW50IC8qIGZyb20gKi8sIGludCAvKiB0byAqLykgY29uc3QKIHsKICAgICBub3RJbXBsZW1lbnRl
ZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2Ev
Rm9udENhc2NhZGVDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nv
Y29hL0ZvbnRDYXNjYWRlQ29jb2EubW0KaW5kZXggZGEwM2Y1YTVhMDA2YmQyNjJhOTZjMzIyZDYz
MzI1YTVmYjhhMWY5MC4uNTk0ZDc2YTQyODkzZjM0NDU2YzIzMTE3ZWQwYzAxY2U4NmQyZGZmMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENh
c2NhZGVDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2Nv
YS9Gb250Q2FzY2FkZUNvY29hLm1tCkBAIC02NDIsMjQgKzY0Miw2IEBAIGZsb2F0IEZvbnRDYXNj
YWRlOjpnZXRHbHlwaHNBbmRBZHZhbmNlc0ZvckNvbXBsZXhUZXh0KGNvbnN0IFRleHRSdW4mIHJ1
biwgaW50IGZyCiAgICAgcmV0dXJuIGluaXRpYWxBZHZhbmNlOwogfQogCi1mbG9hdCBGb250Q2Fz
Y2FkZTo6ZHJhd0NvbXBsZXhUZXh0KEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29uc3QgVGV4
dFJ1biYgcnVuLCBjb25zdCBGbG9hdFBvaW50JiBwb2ludCwgaW50IGZyb20sIGludCB0bykgY29u
c3QKLXsKLSAgICAvLyBUaGlzIGdseXBoIGJ1ZmZlciBob2xkcyBvdXIgZ2x5cGhzICsgYWR2YW5j
ZXMgKyBmb250IGRhdGEgZm9yIGVhY2ggZ2x5cGguCi0gICAgR2x5cGhCdWZmZXIgZ2x5cGhCdWZm
ZXI7Ci0KLSAgICBmbG9hdCBzdGFydFggPSBwb2ludC54KCkgKyBnZXRHbHlwaHNBbmRBZHZhbmNl
c0ZvckNvbXBsZXhUZXh0KHJ1biwgZnJvbSwgdG8sIGdseXBoQnVmZmVyKTsKLQotICAgIC8vIFdl
IGNvdWxkbid0IGdlbmVyYXRlIGFueSBnbHlwaHMgZm9yIHRoZSBydW4uIEdpdmUgdXAuCi0gICAg
aWYgKGdseXBoQnVmZmVyLmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuIDA7Ci0KLSAgICAvLyBE
cmF3IHRoZSBnbHlwaCBidWZmZXIgbm93IGF0IHRoZSBzdGFydGluZyBwb2ludCByZXR1cm5lZCBp
biBzdGFydFguCi0gICAgRmxvYXRQb2ludCBzdGFydFBvaW50KHN0YXJ0WCwgcG9pbnQueSgpKTsK
LSAgICBkcmF3R2x5cGhCdWZmZXIoY29udGV4dCwgcnVuLCBnbHlwaEJ1ZmZlciwgc3RhcnRQb2lu
dCk7Ci0KLSAgICByZXR1cm4gc3RhcnRQb2ludC54KCkgLSBzdGFydFg7Ci19Ci0KIHZvaWQgRm9u
dENhc2NhZGU6OmRyYXdFbXBoYXNpc01hcmtzRm9yQ29tcGxleFRleHQoR3JhcGhpY3NDb250ZXh0
JiBjb250ZXh0LCBjb25zdCBUZXh0UnVuJiBydW4sIGNvbnN0IEF0b21pY1N0cmluZyYgbWFyaywg
Y29uc3QgRmxvYXRQb2ludCYgcG9pbnQsIGludCBmcm9tLCBpbnQgdG8pIGNvbnN0CiB7CiAgICAg
R2x5cGhCdWZmZXIgZ2x5cGhCdWZmZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy93aW4vRm9udFdpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy93aW4vRm9udFdpbi5jcHAKaW5kZXggZGI5NjNjMmY2NDBiZGZhNGEzYTY0ODU0NDhh
NDlhMGM5ZjU4YzM5Yy4uYzQ0MmIyZjMyMzkwM2RmZDU5YzhhY2U4ZTljYTNiZjgwNDJjNThlNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRXaW4u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250V2luLmNw
cApAQCAtOTEsMjMgKzkxLDYgQEAgZmxvYXQgRm9udENhc2NhZGU6OmdldEdseXBoc0FuZEFkdmFu
Y2VzRm9yQ29tcGxleFRleHQoY29uc3QgVGV4dFJ1biYgcnVuLCBpbnQgZnIKICAgICByZXR1cm4g
YmVmb3JlV2lkdGg7CiB9CiAKLWZsb2F0IEZvbnRDYXNjYWRlOjpkcmF3Q29tcGxleFRleHQoR3Jh
cGhpY3NDb250ZXh0JiBjb250ZXh0LCBjb25zdCBUZXh0UnVuJiBydW4sIGNvbnN0IEZsb2F0UG9p
bnQmIHBvaW50LCBpbnQgZnJvbSwgaW50IHRvKSBjb25zdAotewotICAgIC8vIFRoaXMgZ2x5cGgg
YnVmZmVyIGhvbGRzIG91ciBnbHlwaHMgKyBhZHZhbmNlcyArIGZvbnQgZGF0YSBmb3IgZWFjaCBn
bHlwaC4KLSAgICBHbHlwaEJ1ZmZlciBnbHlwaEJ1ZmZlcjsKLQotICAgIGZsb2F0IHN0YXJ0WCA9
IHBvaW50LngoKSArIGdldEdseXBoc0FuZEFkdmFuY2VzRm9yQ29tcGxleFRleHQocnVuLCBmcm9t
LCB0bywgZ2x5cGhCdWZmZXIpOwotCi0gICAgLy8gV2UgY291bGRuJ3QgZ2VuZXJhdGUgYW55IGds
eXBocyBmb3IgdGhlIHJ1bi4gIEdpdmUgdXAuCi0gICAgaWYgKGdseXBoQnVmZmVyLmlzRW1wdHko
KSkKLSAgICAgICAgcmV0dXJuIDA7Ci0KLSAgICAvLyBEcmF3IHRoZSBnbHlwaCBidWZmZXIgbm93
IGF0IHRoZSBzdGFydGluZyBwb2ludCByZXR1cm5lZCBpbiBzdGFydFguCi0gICAgRmxvYXRQb2lu
dCBzdGFydFBvaW50KHN0YXJ0WCwgcG9pbnQueSgpKTsKLSAgICBkcmF3R2x5cGhCdWZmZXIoY29u
dGV4dCwgcnVuLCBnbHlwaEJ1ZmZlciwgc3RhcnRQb2ludCk7Ci0gICAgcmV0dXJuIHN0YXJ0UG9p
bnQueCgpIC0gc3RhcnRYOwotfQotCiB2b2lkIEZvbnRDYXNjYWRlOjpkcmF3RW1waGFzaXNNYXJr
c0ZvckNvbXBsZXhUZXh0KEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29uc3QgVGV4dFJ1biYg
cnVuLCBjb25zdCBBdG9taWNTdHJpbmcmIG1hcmssIGNvbnN0IEZsb2F0UG9pbnQmIHBvaW50LCBp
bnQgZnJvbSwgaW50IHRvKSBjb25zdAogewogICAgIEdseXBoQnVmZmVyIGdseXBoQnVmZmVyOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>