<?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>157690</bug_id>
          
          <creation_ts>2016-05-13 15:41:51 -0700</creation_ts>
          <short_desc>Allocate MacGlyphToPathTranslator / CairoGlyphToPathTranslator on the stack</short_desc>
          <delta_ts>2016-05-14 09:53:15 -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>WebCore Misc.</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="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>kling</cc>
    
    <cc>mmaxfield</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1192929</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-05-13 15:41:51 -0700</bug_when>
    <thetext>Make GlyphToPathTranslator fast allocated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1192930</commentid>
    <comment_count>1</comment_count>
      <attachid>278883</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-05-13 15:44:18 -0700</bug_when>
    <thetext>Created attachment 278883
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1192931</commentid>
    <comment_count>2</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-05-13 15:46:38 -0700</bug_when>
    <thetext>Other plan, I think we can just stack allocate it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1192933</commentid>
    <comment_count>3</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2016-05-13 15:55:39 -0700</bug_when>
    <thetext>The Cocoa ports only use the MacGlyphToPathTranslator, and it&apos;s only used in one function, and it isn&apos;t a very big object, so putting it on the stack is a better idea. I don&apos;t know why I put it on the stack originally (maybe I was just being dumb).

The other ports may have other subclasses of the GlyphToPathTranslator - it would be good if we could apply the same treatment to them too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1192934</commentid>
    <comment_count>4</comment_count>
      <attachid>278884</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-05-13 16:04:37 -0700</bug_when>
    <thetext>Created attachment 278884
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1193068</commentid>
    <comment_count>5</comment_count>
      <attachid>278884</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2016-05-14 02:39:28 -0700</bug_when>
    <thetext>Comment on attachment 278884
Patch

r=me assuming you fix the red EWS bubbles</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1193092</commentid>
    <comment_count>6</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-05-14 09:53:15 -0700</bug_when>
    <thetext>Committed r200919: &lt;http://trac.webkit.org/changeset/200919&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>278883</attachid>
            <date>2016-05-13 15:44:18 -0700</date>
            <delta_ts>2016-05-13 16:04:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-157690-20160513154510.patch</filename>
            <type>text/plain</type>
            <size>1270</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAwODc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjk4MDJkZWQ0NjJhMzQx
YTRhOGY0Y2YxYjFmYjQyZGE3NWUyZWM1ZS4uOWY4NGRiNGZmMWU0ODFjNDkwNDBiNDA0ZWQwN2Mx
OTE0NTAxNDQ3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE2IEBACiAyMDE2LTA1LTEzICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgTWFrZSBHbHlwaFRvUGF0aFRy
YW5zbGF0b3IgZmFzdCBhbGxvY2F0ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE1NzY5MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIE1ha2UgR2x5cGhUb1BhdGhUcmFuc2xhdG9yIGZhc3QgYWxsb2NhdGVk
LgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuaDoKKworMjAxNi0w
NS0xMyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCiAgICAgICAgIFVucmV2aWV3
ZWQsIHJvbGxpbmcgb3V0IHIyMDA4MzcuCiAKICAgICAgICAgU2VlbXMgdG8gaGF2ZSByZWdyZXNz
ZWQgU3BlZWRvbWV0ZXIgYW5kIEpldFN0cmVhbSBvbiBpT1MKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5oCmluZGV4IGM2ZDBjMjU5OGVkMTYzMWJlNjE2
ZTdkNzhiZDMyNjUwYzY2Y2MxZGEuLmU0Yjc3NzE5NGRlNzUzZmY2NDFiNDZlMmIzNjI1MmVlYmZh
ZDk0ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRD
YXNjYWRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2Nh
ZGUuaApAQCAtOTYsNiArOTYsNyBAQCBzdHJ1Y3QgR2x5cGhPdmVyZmxvdyB7CiB9OwogCiBjbGFz
cyBHbHlwaFRvUGF0aFRyYW5zbGF0b3IgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
cHVibGljOgogICAgIGVudW0gY2xhc3MgR2x5cGhVbmRlcmxpbmVUeXBlIHtTa2lwRGVzY2VuZGVy
cywgU2tpcEdseXBoLCBEcmF3T3ZlckdseXBofTsKICAgICB2aXJ0dWFsIGJvb2wgY29udGFpbnNN
b3JlUGF0aHMoKSA9IDA7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>278884</attachid>
            <date>2016-05-13 16:04:37 -0700</date>
            <delta_ts>2016-05-14 02:39:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-157690-20160513160529.patch</filename>
            <type>text/plain</type>
            <size>7338</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAwODc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjk4MDJkZWQ0NjJhMzQx
YTRhOGY0Y2YxYjFmYjQyZGE3NWUyZWM1ZS4uYjE2NGQzNDIzNWJmMjA4MDBmZTQxNDZhODUwNWVl
MWE1YTUzYjZjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIyIEBACiAyMDE2LTA1LTEzICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgQWxsb2NhdGUgTWFjR2x5cGhU
b1BhdGhUcmFuc2xhdG9yIC8gQ2Fpcm9HbHlwaFRvUGF0aFRyYW5zbGF0b3Igb24gdGhlIHN0YWNr
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTc2OTAK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBbGxvY2F0
ZSBNYWNHbHlwaFRvUGF0aFRyYW5zbGF0b3IgLyBDYWlyb0dseXBoVG9QYXRoVHJhbnNsYXRvciBv
biB0aGUKKyAgICAgICAgc3RhY2suIFdlIGFsc28gbm93IHVzZSB0aGUgc3ViY2xhc3MgdHlwZSBm
b3IgdGhlIGxvY2FsIHZhcmlhYmxlIHNvIGl0CisgICAgICAgIHdpbGwgYnlwYXNzIHRoZSB2dGFi
bGUgZm9yIHZhcmlvdXMgdmlydHVhbCBmdW5jdGlvbiBjYWxscyAoaWYgdGhlIGNvbXBpbGVyCisg
ICAgICAgIHdhcyBub3QgYWxyZWFkeSBzbWFydCBlbm91Z2ggdG8gZmlndXJlIHRoaXMgb3V0KS4K
KworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ZvbnRDYWlyby5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpGb250Q2FzY2FkZTo6ZGFzaGVzRm9ySW50ZXJzZWN0aW9uc1dpdGhSZWN0
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FzY2FkZUNvY29hLm1t
OgorICAgICAgICAoV2ViQ29yZTo6Rm9udENhc2NhZGU6OmRhc2hlc0ZvckludGVyc2VjdGlvbnNX
aXRoUmVjdCk6CisKKzIwMTYtMDUtMTMgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4K
KwogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMjAwODM3LgogCiAgICAgICAgIFNl
ZW1zIHRvIGhhdmUgcmVncmVzc2VkIFNwZWVkb21ldGVyIGFuZCBKZXRTdHJlYW0gb24gaU9TCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9Gb250Q2Fp
cm8uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9udENhaXJv
LmNwcAppbmRleCA2NjJkNTUxZjcyNjcwZmU2MjQ0OGU5YjA0NjczYTQ3NmQ1M2I2MWE2Li5mMTIx
YWIwNzQ2NDA2MDY0MDgwN2ExZjhlOTE4NjI4ZGUwNDFiMjM5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9Gb250Q2Fpcm8uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ZvbnRDYWlyby5jcHAKQEAgLTIyMSwx
NiArMjIxLDE0IEBAIHB1YmxpYzoKICAgICAgICAgLCBtX3RyYW5zbGF0aW9uKEFmZmluZVRyYW5z
Zm9ybSgpLnRyYW5zbGF0ZSh0ZXh0T3JpZ2luLngoKSwgdGV4dE9yaWdpbi55KCkpKQogICAgIHsK
ICAgICB9Ci1wcml2YXRlOgotICAgIGJvb2wgY29udGFpbnNNb3JlUGF0aHMoKSBvdmVycmlkZQot
ICAgIHsKLSAgICAgICAgcmV0dXJuIG1faW5kZXggIT0gbV9nbHlwaEJ1ZmZlci5zaXplKCk7Ci0g
ICAgfQotICAgIFBhdGggcGF0aCgpIG92ZXJyaWRlOwotICAgIHN0ZDo6cGFpcjxmbG9hdCwgZmxv
YXQ+IGV4dGVudHMoKSBvdmVycmlkZTsKLSAgICBHbHlwaFVuZGVybGluZVR5cGUgdW5kZXJsaW5l
VHlwZSgpIG92ZXJyaWRlOwotICAgIHZvaWQgYWR2YW5jZSgpIG92ZXJyaWRlOwogCisgICAgYm9v
bCBjb250YWluc01vcmVQYXRocygpIGZpbmFsIHsgcmV0dXJuIG1faW5kZXggIT0gbV9nbHlwaEJ1
ZmZlci5zaXplKCk7IH0KKyAgICBQYXRoIHBhdGgoKSBmaW5hbDsKKyAgICBzdGQ6OnBhaXI8Zmxv
YXQsIGZsb2F0PiBleHRlbnRzKCkgZmluYWw7CisgICAgR2x5cGhVbmRlcmxpbmVUeXBlIHVuZGVy
bGluZVR5cGUoKSBmaW5hbDsKKyAgICB2b2lkIGFkdmFuY2UoKSBmaW5hbDsKKworcHJpdmF0ZToK
ICAgICBpbnQgbV9pbmRleDsKICAgICBjb25zdCBUZXh0UnVuJiBtX3RleHRSdW47CiAgICAgY29u
c3QgR2x5cGhCdWZmZXImIG1fZ2x5cGhCdWZmZXI7CkBAIC0yOTcsOSArMjk1LDkgQEAgRGFzaEFy
cmF5IEZvbnRDYXNjYWRlOjpkYXNoZXNGb3JJbnRlcnNlY3Rpb25zV2l0aFJlY3QoY29uc3QgVGV4
dFJ1biYgcnVuLCBjb25zdAogCiAgICAgLy8gRklYTUU6IEhhbmRsZSBTVkcgKyBub24tU1ZHIGlu
dGVybGVhdmVkIHJ1bnMuIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MzM3NzgKICAgICBGbG9hdFBvaW50IG9yaWdpbiA9IEZsb2F0UG9pbnQodGV4dE9yaWdpbi54KCkg
KyBkZWx0YVgsIHRleHRPcmlnaW4ueSgpKTsKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8R2x5cGhUb1Bh
dGhUcmFuc2xhdG9yPiB0cmFuc2xhdG9yID0gc3RkOjptYWtlX3VuaXF1ZTxDYWlyb0dseXBoVG9Q
YXRoVHJhbnNsYXRvcj4ocnVuLCBnbHlwaEJ1ZmZlciwgb3JpZ2luKTsKKyAgICBDYWlyb0dseXBo
VG9QYXRoVHJhbnNsYXRvciB0cmFuc2xhdG9yKHJ1biwgZ2x5cGhCdWZmZXIsIG9yaWdpbik7CiAg
ICAgRGFzaEFycmF5IHJlc3VsdDsKLSAgICBmb3IgKGludCBpbmRleCA9IDA7IHRyYW5zbGF0b3It
PmNvbnRhaW5zTW9yZVBhdGhzKCk7ICsraW5kZXgsIHRyYW5zbGF0b3ItPmFkdmFuY2UoKSkgewor
ICAgIGZvciAoaW50IGluZGV4ID0gMDsgdHJhbnNsYXRvci5jb250YWluc01vcmVQYXRocygpOyAr
K2luZGV4LCB0cmFuc2xhdG9yLmFkdmFuY2UoKSkgewogICAgICAgICBmbG9hdCBjZW50ZXJPZkxp
bmUgPSBsaW5lRXh0ZW50cy55KCkgKyAobGluZUV4dGVudHMuaGVpZ2h0KCkgLyAyKTsKICAgICAg
ICAgR2x5cGhJdGVyYXRpb25TdGF0ZSBpbmZvID0gR2x5cGhJdGVyYXRpb25TdGF0ZShGbG9hdFBv
aW50KCksIEZsb2F0UG9pbnQoKSwgY2VudGVyT2ZMaW5lLCBsaW5lRXh0ZW50cy54KCkgKyBsaW5l
RXh0ZW50cy53aWR0aCgpLCBsaW5lRXh0ZW50cy54KCkpOwogICAgICAgICBjb25zdCBGb250KiBs
b2NhbEZvbnREYXRhID0gZ2x5cGhCdWZmZXIuZm9udEF0KGluZGV4KTsKQEAgLTMwOCw3ICszMDYs
NyBAQCBEYXNoQXJyYXkgRm9udENhc2NhZGU6OmRhc2hlc0ZvckludGVyc2VjdGlvbnNXaXRoUmVj
dChjb25zdCBUZXh0UnVuJiBydW4sIGNvbnN0CiAgICAgICAgICAgICByZXN1bHQuY2xlYXIoKTsK
ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9Ci0gICAgICAgIHN3aXRjaCAodHJhbnNsYXRv
ci0+dW5kZXJsaW5lVHlwZSgpKSB7CisgICAgICAgIHN3aXRjaCAodHJhbnNsYXRvci51bmRlcmxp
bmVUeXBlKCkpIHsKICAgICAgICAgY2FzZSBHbHlwaFRvUGF0aFRyYW5zbGF0b3I6OkdseXBoVW5k
ZXJsaW5lVHlwZTo6U2tpcERlc2NlbmRlcnM6IHsKICAgICAgICAgICAgIFBhdGggcGF0aCA9IHRy
YW5zbGF0b3ItPnBhdGgoKTsKICAgICAgICAgICAgIHBhdGguYXBwbHkoWyZpbmZvXShjb25zdCBQ
YXRoRWxlbWVudCYgcGF0aEVsZW1lbnQpIHsKQEAgLTMyMSw3ICszMTksNyBAQCBEYXNoQXJyYXkg
Rm9udENhc2NhZGU6OmRhc2hlc0ZvckludGVyc2VjdGlvbnNXaXRoUmVjdChjb25zdCBUZXh0UnVu
JiBydW4sIGNvbnN0CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBjYXNl
IEdseXBoVG9QYXRoVHJhbnNsYXRvcjo6R2x5cGhVbmRlcmxpbmVUeXBlOjpTa2lwR2x5cGg6IHsK
LSAgICAgICAgICAgIHN0ZDo6cGFpcjxmbG9hdCwgZmxvYXQ+IGV4dGVudHMgPSB0cmFuc2xhdG9y
LT5leHRlbnRzKCk7CisgICAgICAgICAgICBzdGQ6OnBhaXI8ZmxvYXQsIGZsb2F0PiBleHRlbnRz
ID0gdHJhbnNsYXRvci5leHRlbnRzKCk7CiAgICAgICAgICAgICByZXN1bHQuYXBwZW5kKGV4dGVu
dHMuZmlyc3QgLSBsaW5lRXh0ZW50cy54KCkpOwogICAgICAgICAgICAgcmVzdWx0LmFwcGVuZChl
eHRlbnRzLnNlY29uZCAtIGxpbmVFeHRlbnRzLngoKSk7CiAgICAgICAgICAgICBicmVhazsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYXNj
YWRlQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250
Q2FzY2FkZUNvY29hLm1tCmluZGV4IGMzYmVhOWMxYTk0MmFkMWJjZjc5YjQyNmQ5ZWNjOTVkMThj
NDUwMWEuLjdmNTY0YjA1MmQ1ZjUxNzQwOThlYzBkNDUwZGY3YTkyYTIyNWNlMTIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYXNjYWRlQ29j
b2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENh
c2NhZGVDb2NvYS5tbQpAQCAtNDI3LDE2ICs0MjcsMTMgQEAgcHVibGljOgogICAgICAgICAsIG1f
dHJhbnNsYXRpb24oQ0dBZmZpbmVUcmFuc2Zvcm1TY2FsZShDR0FmZmluZVRyYW5zZm9ybU1ha2VU
cmFuc2xhdGlvbih0ZXh0T3JpZ2luLngoKSwgdGV4dE9yaWdpbi55KCkpLCAxLCAtMSkpCiAgICAg
ewogICAgIH0KLXByaXZhdGU6Ci0gICAgYm9vbCBjb250YWluc01vcmVQYXRocygpIG92ZXJyaWRl
Ci0gICAgewotICAgICAgICByZXR1cm4gbV9pbmRleCAhPSBtX2dseXBoQnVmZmVyLnNpemUoKTsK
LSAgICB9Ci0gICAgUGF0aCBwYXRoKCkgb3ZlcnJpZGU7Ci0gICAgc3RkOjpwYWlyPGZsb2F0LCBm
bG9hdD4gZXh0ZW50cygpIG92ZXJyaWRlOwotICAgIEdseXBoVW5kZXJsaW5lVHlwZSB1bmRlcmxp
bmVUeXBlKCkgb3ZlcnJpZGU7Ci0gICAgdm9pZCBhZHZhbmNlKCkgb3ZlcnJpZGU7CisgICAgYm9v
bCBjb250YWluc01vcmVQYXRocygpIGZpbmFsIHsgcmV0dXJuIG1faW5kZXggIT0gbV9nbHlwaEJ1
ZmZlci5zaXplKCk7IH0KKyAgICBQYXRoIHBhdGgoKSBmaW5hbDsKKyAgICBzdGQ6OnBhaXI8Zmxv
YXQsIGZsb2F0PiBleHRlbnRzKCkgZmluYWw7CisgICAgR2x5cGhVbmRlcmxpbmVUeXBlIHVuZGVy
bGluZVR5cGUoKSBmaW5hbDsKKyAgICB2b2lkIGFkdmFuY2UoKSBmaW5hbDsKIAorcHJpdmF0ZToK
ICAgICBpbnQgbV9pbmRleDsKICAgICBjb25zdCBUZXh0UnVuJiBtX3RleHRSdW47CiAgICAgY29u
c3QgR2x5cGhCdWZmZXImIG1fZ2x5cGhCdWZmZXI7CkBAIC00ODksOSArNDg2LDkgQEAgRGFzaEFy
cmF5IEZvbnRDYXNjYWRlOjpkYXNoZXNGb3JJbnRlcnNlY3Rpb25zV2l0aFJlY3QoY29uc3QgVGV4
dFJ1biYgcnVuLCBjb25zdAogICAgIAogICAgIC8vIEZJWE1FOiBIYW5kbGUgU1ZHICsgbm9uLVNW
RyBpbnRlcmxlYXZlZCBydW5zLiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTMzNzc4CiAgICAgRmxvYXRQb2ludCBvcmlnaW4gPSBGbG9hdFBvaW50KHRleHRPcmlnaW4u
eCgpICsgZGVsdGFYLCB0ZXh0T3JpZ2luLnkoKSk7Ci0gICAgc3RkOjp1bmlxdWVfcHRyPEdseXBo
VG9QYXRoVHJhbnNsYXRvcj4gdHJhbnNsYXRvciA9IHN0ZDo6bWFrZV91bmlxdWU8TWFjR2x5cGhU
b1BhdGhUcmFuc2xhdG9yPihydW4sIGdseXBoQnVmZmVyLCBvcmlnaW4pOworICAgIE1hY0dseXBo
VG9QYXRoVHJhbnNsYXRvciB0cmFuc2xhdG9yKHJ1biwgZ2x5cGhCdWZmZXIsIG9yaWdpbik7CiAg
ICAgRGFzaEFycmF5IHJlc3VsdDsKLSAgICBmb3IgKGludCBpbmRleCA9IDA7IHRyYW5zbGF0b3It
PmNvbnRhaW5zTW9yZVBhdGhzKCk7ICsraW5kZXgsIHRyYW5zbGF0b3ItPmFkdmFuY2UoKSkgewor
ICAgIGZvciAoaW50IGluZGV4ID0gMDsgdHJhbnNsYXRvci5jb250YWluc01vcmVQYXRocygpOyAr
K2luZGV4LCB0cmFuc2xhdG9yLmFkdmFuY2UoKSkgewogICAgICAgICBHbHlwaEl0ZXJhdGlvblN0
YXRlIGluZm8gPSBHbHlwaEl0ZXJhdGlvblN0YXRlKENHUG9pbnRNYWtlKDAsIDApLCBDR1BvaW50
TWFrZSgwLCAwKSwgbGluZUV4dGVudHMueSgpLCBsaW5lRXh0ZW50cy55KCkgKyBsaW5lRXh0ZW50
cy5oZWlnaHQoKSwgbGluZUV4dGVudHMueCgpICsgbGluZUV4dGVudHMud2lkdGgoKSwgbGluZUV4
dGVudHMueCgpKTsKICAgICAgICAgY29uc3QgRm9udCogbG9jYWxGb250ID0gZ2x5cGhCdWZmZXIu
Zm9udEF0KGluZGV4KTsKICAgICAgICAgaWYgKCFsb2NhbEZvbnQpIHsKQEAgLTQ5OSw5ICs0OTYs
OSBAQCBEYXNoQXJyYXkgRm9udENhc2NhZGU6OmRhc2hlc0ZvckludGVyc2VjdGlvbnNXaXRoUmVj
dChjb25zdCBUZXh0UnVuJiBydW4sIGNvbnN0CiAgICAgICAgICAgICByZXN1bHQuY2xlYXIoKTsK
ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9Ci0gICAgICAgIHN3aXRjaCAodHJhbnNsYXRv
ci0+dW5kZXJsaW5lVHlwZSgpKSB7CisgICAgICAgIHN3aXRjaCAodHJhbnNsYXRvci51bmRlcmxp
bmVUeXBlKCkpIHsKICAgICAgICAgY2FzZSBHbHlwaFRvUGF0aFRyYW5zbGF0b3I6OkdseXBoVW5k
ZXJsaW5lVHlwZTo6U2tpcERlc2NlbmRlcnM6IHsKLSAgICAgICAgICAgIFBhdGggcGF0aCA9IHRy
YW5zbGF0b3ItPnBhdGgoKTsKKyAgICAgICAgICAgIFBhdGggcGF0aCA9IHRyYW5zbGF0b3IucGF0
aCgpOwogICAgICAgICAgICAgQ0dQYXRoQXBwbHkocGF0aC5wbGF0Zm9ybVBhdGgoKSwgJmluZm8s
ICZmaW5kUGF0aEludGVyc2VjdGlvbnMpOwogICAgICAgICAgICAgaWYgKGluZm8ubWluWCA8IGlu
Zm8ubWF4WCkgewogICAgICAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoaW5mby5taW5YIC0gbGlu
ZUV4dGVudHMueCgpKTsKQEAgLTUxMCw3ICs1MDcsNyBAQCBEYXNoQXJyYXkgRm9udENhc2NhZGU6
OmRhc2hlc0ZvckludGVyc2VjdGlvbnNXaXRoUmVjdChjb25zdCBUZXh0UnVuJiBydW4sIGNvbnN0
CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBjYXNlIEdseXBoVG9QYXRo
VHJhbnNsYXRvcjo6R2x5cGhVbmRlcmxpbmVUeXBlOjpTa2lwR2x5cGg6IHsKLSAgICAgICAgICAg
IHN0ZDo6cGFpcjxmbG9hdCwgZmxvYXQ+IGV4dGVudHMgPSB0cmFuc2xhdG9yLT5leHRlbnRzKCk7
CisgICAgICAgICAgICBzdGQ6OnBhaXI8ZmxvYXQsIGZsb2F0PiBleHRlbnRzID0gdHJhbnNsYXRv
ci5leHRlbnRzKCk7CiAgICAgICAgICAgICByZXN1bHQuYXBwZW5kKGV4dGVudHMuZmlyc3QgLSBs
aW5lRXh0ZW50cy54KCkpOwogICAgICAgICAgICAgcmVzdWx0LmFwcGVuZChleHRlbnRzLnNlY29u
ZCAtIGxpbmVFeHRlbnRzLngoKSk7CiAgICAgICAgICAgICBicmVhazsK
</data>
<flag name="review"
          id="302954"
          type_id="1"
          status="+"
          setter="mmaxfield"
    />
          </attachment>
      

    </bug>

</bugzilla>