<?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>132030</bug_id>
          
          <creation_ts>2014-04-22 17:01:38 -0700</creation_ts>
          <short_desc>[OS X] Make checking if a font is the system font more robust</short_desc>
          <delta_ts>2014-04-23 20:51:38 -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>New Bugs</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>
          <dependson>132070</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>jonlee</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1003108</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2014-04-22 17:01:38 -0700</bug_when>
    <thetext>[OS X] Make checking if a font is the system font more robust</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1003109</commentid>
    <comment_count>1</comment_count>
      <attachid>229925</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2014-04-22 17:07:08 -0700</bug_when>
    <thetext>Created attachment 229925
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1003125</commentid>
    <comment_count>2</comment_count>
      <attachid>229925</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2014-04-22 17:36:12 -0700</bug_when>
    <thetext>Comment on attachment 229925
Patch

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

&gt; Source/WebCore/platform/graphics/mac/FontMac.mm:40
&gt; +extern &quot;C&quot; bool CTFontDescriptorIsSystemUIFont(CTFontDescriptorRef);

Do we want to wrap this in a #if __MAC_MIN thing as well, to make it clear we only use it on 1090+?

&gt; Source/WebCore/platform/graphics/mac/FontMac.mm:545
&gt; +#if __MAC_OS_X_VERSION_MIN_REQUIRED &lt; 1090

So this existed on 10.9 as well?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1003131</commentid>
    <comment_count>3</comment_count>
      <attachid>229925</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-04-22 17:45:54 -0700</bug_when>
    <thetext>Comment on attachment 229925
Patch

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

&gt; Source/WebCore/platform/graphics/mac/FontMac.mm:37
&gt; +#if defined(__has_include) &amp;&amp; __has_include(&lt;CoreText/CTFontDescriptorPriv.h&gt;)

we don&apos;t need the defined() part

&gt; Source/WebCore/platform/graphics/mac/FontMac.mm:548
&gt; +    return firstFamily().startsWith(&apos;.&apos;);

does this actually make sense on any platform? were there dot-prefixed fonts in 10.8?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1003172</commentid>
    <comment_count>4</comment_count>
      <attachid>229925</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2014-04-22 21:07:23 -0700</bug_when>
    <thetext>Comment on attachment 229925
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/mac/FontMac.mm:37
&gt;&gt; +#if defined(__has_include) &amp;&amp; __has_include(&lt;CoreText/CTFontDescriptorPriv.h&gt;)
&gt; 
&gt; we don&apos;t need the defined() part

Done.

&gt;&gt; Source/WebCore/platform/graphics/mac/FontMac.mm:40
&gt;&gt; +extern &quot;C&quot; bool CTFontDescriptorIsSystemUIFont(CTFontDescriptorRef);
&gt; 
&gt; Do we want to wrap this in a #if __MAC_MIN thing as well, to make it clear we only use it on 1090+?

I actually feel like this would do more harm than good. It would add more preprocessor bloat, and wouldn&apos;t actually be very valuable. There are many places in WebKit where functions are declared, yet never used or defined. Therefore, seeing a function declaration already doesn&apos;t necessarily mean that we ever use it.

&gt;&gt; Source/WebCore/platform/graphics/mac/FontMac.mm:545
&gt;&gt; +#if __MAC_OS_X_VERSION_MIN_REQUIRED &lt; 1090
&gt; 
&gt; So this existed on 10.9 as well?

Yep!

&gt;&gt; Source/WebCore/platform/graphics/mac/FontMac.mm:548
&gt;&gt; +    return firstFamily().startsWith(&apos;.&apos;);
&gt; 
&gt; does this actually make sense on any platform? were there dot-prefixed fonts in 10.8?

Conveniently, the only platforms with the dot prefix are also platforms which have the CTFontDescriptorIsSystemUIFont() call :) Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1003173</commentid>
    <comment_count>5</comment_count>
      <attachid>229951</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2014-04-22 21:09:44 -0700</bug_when>
    <thetext>Created attachment 229951
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1003322</commentid>
    <comment_count>6</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2014-04-23 10:50:51 -0700</bug_when>
    <thetext>First patch r+&apos;ed by dino. Second patch simply addresses comments.

http://trac.webkit.org/changeset/167713</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1003335</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-04-23 11:28:57 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 132070</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1003384</commentid>
    <comment_count>8</comment_count>
      <attachid>230010</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2014-04-23 14:25:45 -0700</bug_when>
    <thetext>Created attachment 230010
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1003387</commentid>
    <comment_count>9</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2014-04-23 14:34:13 -0700</bug_when>
    <thetext>Re-landed in http://trac.webkit.org/changeset/167724</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1003499</commentid>
    <comment_count>10</comment_count>
      <attachid>230010</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-04-23 20:32:28 -0700</bug_when>
    <thetext>Comment on attachment 230010
Patch

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

I think you already landed this, but it was still marked review?

&gt; Source/WebCore/platform/graphics/mac/FontMac.mm:546
&gt; +    RetainPtr&lt;CTFontDescriptorRef&gt; descriptor = CTFontCopyFontDescriptor(primaryFont()-&gt;platformData().ctFont());

This needs an adoptCF, otherwise it will be a storage leak.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1003509</commentid>
    <comment_count>11</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2014-04-23 20:51:38 -0700</bug_when>
    <thetext>Yeah - I marked the bug as closed but forgot to clear the r?. Thanks for the review.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>229925</attachid>
            <date>2014-04-22 17:07:08 -0700</date>
            <delta_ts>2014-04-22 21:09:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-132030-20140422170646.patch</filename>
            <type>text/plain</type>
            <size>4067</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY3Njg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTRkOWU2NTBmZTI5MDNl
MmYyOWY2YTU0MTdmZjFmODMyMTY0ZThlMC4uZDJmYzQxZmVhMjQ5ZWMwMDFlMWMxYWZlZjRjZWUx
MGQ3ODBhZWM4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE0LTA0LTIyICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW09TIFhdIE1h
a2UgY2hlY2tpbmcgaWYgYSBmb250IGlzIHRoZSBzeXN0ZW0gZm9udCBtb3JlIHJvYnVzdAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMyMDMwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW5zdGVhZCBvZiBp
bnNwZWN0aW5nIGEgZm9udCdzIG5hbWUgdG8gZGV0ZXJtaW5lIGlmIGl0IGlzIGEgc3lzdGVtIGZv
bnQsCisgICAgICAgIG9uIE9TIFggd2UgY2FuIGFzayB0aGUgc3lzdGVtIGRpcmVjdGx5LgorCisg
ICAgICAgIFRoaXMgcGF0Y2ggYWxzbyBtb3ZlcyBhIHBsYXRmb3JtLXNwZWNpZmljIGNoZWNrIGlu
dG8gcGxhdGZvcm0tc3BlY2lmaWMKKyAgICAgICAgY29kZSwgc28gdGhhdCBvdGhlciBwbGF0Zm9y
bXMgZG9uJ3QgY2hlY2sgZm9yIE9TIFgtc3BlY2lmaWMgYmVoYXZpb3IuCisKKyAgICAgICAgQ292
ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0Zv
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6aGFzVmFsaWRBdmVyYWdlQ2hhcldpZHRo
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250Lmg6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvbWFjL0ZvbnRNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpGb250Ojpwcmlt
YXJ5Rm9udERhdGFJc1N5c3RlbUZvbnQpOgorCiAyMDE0LTA0LTIyICBDb21taXQgUXVldWUgIDxj
b21taXQtcXVldWVAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91
dCByMTY3Njc0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Rm9udC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmNwcAppbmRl
eCBmMjc2ZjEzODdjODk1NDhkYTdmNDJjZWJhZmJhN2M3MWIwMmQ4YTllLi42Y2UzMWIyZjZjZDQ0
Mzk2YjA5MDNjZGUwMTViYTEzODAwNDdhMzI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Gb250LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9Gb250LmNwcApAQCAtNDgxLDExICs0ODEsMTEgQEAgYm9vbCBGb250OjpoYXNWYWxp
ZEF2ZXJhZ2VDaGFyV2lkdGgoKSBjb25zdAogICAgIGlmIChmYW1pbHkuaXNFbXB0eSgpKQogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICAvLyBJbnRlcm5hbCBmb250cyBvbiBPUyBYIGFsc28g
aGF2ZSBhbiBpbnZhbGlkIGVudHJ5IGluIHRoZSB0YWJsZSBmb3IgYXZnQ2hhcldpZHRoLgotICAg
IC8vIFRoZXkgYXJlIGhpZGRlbiBieSBoYXZpbmcgYSBuYW1lIHRoYXQgYmVnaW5zIHdpdGggYSBw
ZXJpb2QsIHNvIHNpbXBseSBzZWFyY2gKLSAgICAvLyBmb3IgdGhhdCBoZXJlIHJhdGhlciB0aGFu
IHRyeSB0byBrZWVwIHRoZSBsaXN0IHVwIHRvIGRhdGUuCi0gICAgaWYgKGZhbWlseS5zdGFydHNX
aXRoKCcuJykpCisjaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShJT1MpCisgICAgLy8gSW50
ZXJuYWwgZm9udHMgb24gT1MgWCBhbmQgaU9TIGFsc28gaGF2ZSBhbiBpbnZhbGlkIGVudHJ5IGlu
IHRoZSB0YWJsZSBmb3IgYXZnQ2hhcldpZHRoLgorICAgIGlmIChwcmltYXJ5Rm9udERhdGFJc1N5
c3RlbUZvbnQoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCiAKICAgICBzdGF0aWMg
SGFzaFNldDxBdG9taWNTdHJpbmc+KiBmb250RmFtaWxpZXNXaXRoSW52YWxpZENoYXJXaWR0aE1h
cCA9IDA7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zv
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaAppbmRleCBhMzVi
OWJiYWQwMmE0MDRlMmU4YTcxYjkwMTc5MDg2M2IxYzg5YzY0Li42MzUyNWM5M2MxOTBhNWRlMzZm
YWJmMWQwYWIxNGViMTI4MWE5MTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9Gb250LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Rm9udC5oCkBAIC0xODgsNiArMTg4LDggQEAgcHVibGljOgogICAgIENvZGVQYXRoIGNvZGVQYXRo
KGNvbnN0IFRleHRSdW4mKSBjb25zdDsKICAgICBzdGF0aWMgQ29kZVBhdGggY2hhcmFjdGVyUmFu
Z2VDb2RlUGF0aChjb25zdCBMQ2hhciosIHVuc2lnbmVkKSB7IHJldHVybiBTaW1wbGU7IH0KICAg
ICBzdGF0aWMgQ29kZVBhdGggY2hhcmFjdGVyUmFuZ2VDb2RlUGF0aChjb25zdCBVQ2hhciosIHVu
c2lnbmVkIGxlbik7CisgICAgCisgICAgYm9vbCBwcmltYXJ5Rm9udERhdGFJc1N5c3RlbUZvbnQo
KSBjb25zdDsKIAogcHJpdmF0ZToKICAgICBlbnVtIEZvclRleHRFbXBoYXNpc09yTm90IHsgTm90
Rm9yVGV4dEVtcGhhc2lzLCBGb3JUZXh0RW1waGFzaXMgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250TWFjLm1tIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRNYWMubW0KaW5kZXggZDkzMDBiNTdlYTRmMmYzMjMz
OWFiZWMzNjc2YjgzODE5NzE2Yzc5NS4uZDFjNGQ3ZWIzMWMwNzU3Njc3NTkwM2ZhYjc4NGQxMTI2
YzljYzVkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFj
L0ZvbnRNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0Zv
bnRNYWMubW0KQEAgLTM0LDYgKzM0LDExIEBACiAjZW5kaWYKICNpbXBvcnQgPHd0Zi9NYXRoRXh0
cmFzLmg+CiAKKyNpZiBkZWZpbmVkKF9faGFzX2luY2x1ZGUpICYmIF9faGFzX2luY2x1ZGUoPENv
cmVUZXh0L0NURm9udERlc2NyaXB0b3JQcml2Lmg+KQorI2ltcG9ydCA8Q29yZVRleHQvQ1RGb250
RGVzY3JpcHRvclByaXYuaD4KKyNlbmRpZgorZXh0ZXJuICJDIiBib29sIENURm9udERlc2NyaXB0
b3JJc1N5c3RlbVVJRm9udChDVEZvbnREZXNjcmlwdG9yUmVmKTsKKwogI2lmIEVOQUJMRShMRVRU
RVJQUkVTUykKICNpbXBvcnQgIlNvZnRMaW5raW5nLmgiCiAjaWYgX19oYXNfaW5jbHVkZSg8Q29y
ZUdyYXBoaWNzL0NvcmVHcmFwaGljc1ByaXZhdGUuaD4pCkBAIC01MzUsNCArNTQwLDE2IEBAIERh
c2hBcnJheSBGb250OjpkYXNoZXNGb3JJbnRlcnNlY3Rpb25zV2l0aFJlY3QoY29uc3QgVGV4dFJ1
biYgcnVuLCBjb25zdCBGbG9hdFBvCiB9CiAjZW5kaWYKIAorYm9vbCBGb250OjpwcmltYXJ5Rm9u
dERhdGFJc1N5c3RlbUZvbnQoKSBjb25zdAoreworI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5f
UkVRVUlSRUQgPCAxMDkwCisgICAgLy8gU3lzdGVtIGZvbnRzIGFyZSBoaWRkZW4gYnkgaGF2aW5n
IGEgbmFtZSB0aGF0IGJlZ2lucyB3aXRoIGEgcGVyaW9kLCBzbyBzaW1wbHkgc2VhcmNoCisgICAg
Ly8gZm9yIHRoYXQgaGVyZSByYXRoZXIgdGhhbiB0cnkgdG8ga2VlcCB0aGUgbGlzdCB1cCB0byBk
YXRlLgorICAgIHJldHVybiBmaXJzdEZhbWlseSgpLnN0YXJ0c1dpdGgoJy4nKTsKKyNlbHNlCisg
ICAgUmV0YWluUHRyPENURm9udERlc2NyaXB0b3JSZWY+IGRlc2NyaXB0b3IgPSBDVEZvbnRDb3B5
Rm9udERlc2NyaXB0b3IocHJpbWFyeUZvbnQoKS0+cGxhdGZvcm1EYXRhKCkuY3RGb250KCkpOwor
ICAgIHJldHVybiBDVEZvbnREZXNjcmlwdG9ySXNTeXN0ZW1VSUZvbnQoZGVzY3JpcHRvci5nZXQo
KSk7CisjZW5kaWYKK30KKwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>229951</attachid>
            <date>2014-04-22 21:09:44 -0700</date>
            <delta_ts>2014-04-23 14:25:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-132030-20140422210921.patch</filename>
            <type>text/plain</type>
            <size>3858</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY3Njg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTRkOWU2NTBmZTI5MDNl
MmYyOWY2YTU0MTdmZjFmODMyMTY0ZThlMC4uZDJmYzQxZmVhMjQ5ZWMwMDFlMWMxYWZlZjRjZWUx
MGQ3ODBhZWM4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE0LTA0LTIyICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW09TIFhdIE1h
a2UgY2hlY2tpbmcgaWYgYSBmb250IGlzIHRoZSBzeXN0ZW0gZm9udCBtb3JlIHJvYnVzdAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMyMDMwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW5zdGVhZCBvZiBp
bnNwZWN0aW5nIGEgZm9udCdzIG5hbWUgdG8gZGV0ZXJtaW5lIGlmIGl0IGlzIGEgc3lzdGVtIGZv
bnQsCisgICAgICAgIG9uIE9TIFggd2UgY2FuIGFzayB0aGUgc3lzdGVtIGRpcmVjdGx5LgorCisg
ICAgICAgIFRoaXMgcGF0Y2ggYWxzbyBtb3ZlcyBhIHBsYXRmb3JtLXNwZWNpZmljIGNoZWNrIGlu
dG8gcGxhdGZvcm0tc3BlY2lmaWMKKyAgICAgICAgY29kZSwgc28gdGhhdCBvdGhlciBwbGF0Zm9y
bXMgZG9uJ3QgY2hlY2sgZm9yIE9TIFgtc3BlY2lmaWMgYmVoYXZpb3IuCisKKyAgICAgICAgQ292
ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0Zv
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6aGFzVmFsaWRBdmVyYWdlQ2hhcldpZHRo
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250Lmg6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvbWFjL0ZvbnRNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpGb250Ojpwcmlt
YXJ5Rm9udERhdGFJc1N5c3RlbUZvbnQpOgorCiAyMDE0LTA0LTIyICBDb21taXQgUXVldWUgIDxj
b21taXQtcXVldWVAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91
dCByMTY3Njc0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Rm9udC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmNwcAppbmRl
eCBmMjc2ZjEzODdjODk1NDhkYTdmNDJjZWJhZmJhN2M3MWIwMmQ4YTllLi42Y2UzMWIyZjZjZDQ0
Mzk2YjA5MDNjZGUwMTViYTEzODAwNDdhMzI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Gb250LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9Gb250LmNwcApAQCAtNDgxLDExICs0ODEsMTEgQEAgYm9vbCBGb250OjpoYXNWYWxp
ZEF2ZXJhZ2VDaGFyV2lkdGgoKSBjb25zdAogICAgIGlmIChmYW1pbHkuaXNFbXB0eSgpKQogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICAvLyBJbnRlcm5hbCBmb250cyBvbiBPUyBYIGFsc28g
aGF2ZSBhbiBpbnZhbGlkIGVudHJ5IGluIHRoZSB0YWJsZSBmb3IgYXZnQ2hhcldpZHRoLgotICAg
IC8vIFRoZXkgYXJlIGhpZGRlbiBieSBoYXZpbmcgYSBuYW1lIHRoYXQgYmVnaW5zIHdpdGggYSBw
ZXJpb2QsIHNvIHNpbXBseSBzZWFyY2gKLSAgICAvLyBmb3IgdGhhdCBoZXJlIHJhdGhlciB0aGFu
IHRyeSB0byBrZWVwIHRoZSBsaXN0IHVwIHRvIGRhdGUuCi0gICAgaWYgKGZhbWlseS5zdGFydHNX
aXRoKCcuJykpCisjaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShJT1MpCisgICAgLy8gSW50
ZXJuYWwgZm9udHMgb24gT1MgWCBhbmQgaU9TIGFsc28gaGF2ZSBhbiBpbnZhbGlkIGVudHJ5IGlu
IHRoZSB0YWJsZSBmb3IgYXZnQ2hhcldpZHRoLgorICAgIGlmIChwcmltYXJ5Rm9udERhdGFJc1N5
c3RlbUZvbnQoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCiAKICAgICBzdGF0aWMg
SGFzaFNldDxBdG9taWNTdHJpbmc+KiBmb250RmFtaWxpZXNXaXRoSW52YWxpZENoYXJXaWR0aE1h
cCA9IDA7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zv
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaAppbmRleCBhMzVi
OWJiYWQwMmE0MDRlMmU4YTcxYjkwMTc5MDg2M2IxYzg5YzY0Li42MzUyNWM5M2MxOTBhNWRlMzZm
YWJmMWQwYWIxNGViMTI4MWE5MTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9Gb250LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Rm9udC5oCkBAIC0xODgsNiArMTg4LDggQEAgcHVibGljOgogICAgIENvZGVQYXRoIGNvZGVQYXRo
KGNvbnN0IFRleHRSdW4mKSBjb25zdDsKICAgICBzdGF0aWMgQ29kZVBhdGggY2hhcmFjdGVyUmFu
Z2VDb2RlUGF0aChjb25zdCBMQ2hhciosIHVuc2lnbmVkKSB7IHJldHVybiBTaW1wbGU7IH0KICAg
ICBzdGF0aWMgQ29kZVBhdGggY2hhcmFjdGVyUmFuZ2VDb2RlUGF0aChjb25zdCBVQ2hhciosIHVu
c2lnbmVkIGxlbik7CisgICAgCisgICAgYm9vbCBwcmltYXJ5Rm9udERhdGFJc1N5c3RlbUZvbnQo
KSBjb25zdDsKIAogcHJpdmF0ZToKICAgICBlbnVtIEZvclRleHRFbXBoYXNpc09yTm90IHsgTm90
Rm9yVGV4dEVtcGhhc2lzLCBGb3JUZXh0RW1waGFzaXMgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250TWFjLm1tIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRNYWMubW0KaW5kZXggZDkzMDBiNTdlYTRmMmYzMjMz
OWFiZWMzNjc2YjgzODE5NzE2Yzc5NS4uZmE3MGQ2NDQ3NTM3ZTgyNDk1MjI3MTQzMDRiNmRkN2Zh
ZWYzODQ3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFj
L0ZvbnRNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0Zv
bnRNYWMubW0KQEAgLTM0LDYgKzM0LDExIEBACiAjZW5kaWYKICNpbXBvcnQgPHd0Zi9NYXRoRXh0
cmFzLmg+CiAKKyNpZiBfX2hhc19pbmNsdWRlKDxDb3JlVGV4dC9DVEZvbnREZXNjcmlwdG9yUHJp
di5oPikKKyNpbXBvcnQgPENvcmVUZXh0L0NURm9udERlc2NyaXB0b3JQcml2Lmg+CisjZW5kaWYK
K2V4dGVybiAiQyIgYm9vbCBDVEZvbnREZXNjcmlwdG9ySXNTeXN0ZW1VSUZvbnQoQ1RGb250RGVz
Y3JpcHRvclJlZik7CisKICNpZiBFTkFCTEUoTEVUVEVSUFJFU1MpCiAjaW1wb3J0ICJTb2Z0TGlu
a2luZy5oIgogI2lmIF9faGFzX2luY2x1ZGUoPENvcmVHcmFwaGljcy9Db3JlR3JhcGhpY3NQcml2
YXRlLmg+KQpAQCAtNTM1LDQgKzU0MCwxNCBAQCBEYXNoQXJyYXkgRm9udDo6ZGFzaGVzRm9ySW50
ZXJzZWN0aW9uc1dpdGhSZWN0KGNvbnN0IFRleHRSdW4mIHJ1biwgY29uc3QgRmxvYXRQbwogfQog
I2VuZGlmCiAKK2Jvb2wgRm9udDo6cHJpbWFyeUZvbnREYXRhSXNTeXN0ZW1Gb250KCkgY29uc3QK
K3sKKyNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwOTAKKyAgICBSZXRh
aW5QdHI8Q1RGb250RGVzY3JpcHRvclJlZj4gZGVzY3JpcHRvciA9IENURm9udENvcHlGb250RGVz
Y3JpcHRvcihwcmltYXJ5Rm9udCgpLT5wbGF0Zm9ybURhdGEoKS5jdEZvbnQoKSk7CisgICAgcmV0
dXJuIENURm9udERlc2NyaXB0b3JJc1N5c3RlbVVJRm9udChkZXNjcmlwdG9yLmdldCgpKTsKKyNl
bHNlCisgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCit9CisKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>230010</attachid>
            <date>2014-04-23 14:25:45 -0700</date>
            <delta_ts>2014-04-23 20:32:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-132030-20140423142522.patch</filename>
            <type>text/plain</type>
            <size>4008</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY3NzE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmI5ZTUyYzY4NjBjZmE2
MDZhMjBiOGVjNDI4NWUxZmZmZmRlOWNiMy4uZTRiNGYzN2QxNWYwMGYzNDdmZWUyMTdhNTdmOTBj
MjFkN2Y3MzY5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE0LTA0LTIzICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW09TIFhdIE1h
a2UgY2hlY2tpbmcgaWYgYSBmb250IGlzIHRoZSBzeXN0ZW0gZm9udCBtb3JlIHJvYnVzdAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMyMDMwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgRGVhbiBKYWNrc29uLgorCisgICAgICAgIEluc3RlYWQgb2YgaW5z
cGVjdGluZyBhIGZvbnQncyBuYW1lIHRvIGRldGVybWluZSBpZiBpdCBpcyBhIHN5c3RlbSBmb250
LAorICAgICAgICBvbiBPUyBYIHdlIGNhbiBhc2sgdGhlIHN5c3RlbSBkaXJlY3RseS4KKworICAg
ICAgICBUaGlzIHBhdGNoIGFsc28gbW92ZXMgYSBwbGF0Zm9ybS1zcGVjaWZpYyBjaGVjayBpbnRv
IHBsYXRmb3JtLXNwZWNpZmljCisgICAgICAgIGNvZGUsIHNvIHRoYXQgb3RoZXIgcGxhdGZvcm1z
IGRvbid0IGNoZWNrIGZvciBPUyBYLXNwZWNpZmljIGJlaGF2aW9yLgorCisgICAgICAgIENvdmVy
ZWQgYnkgZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6Omhhc1ZhbGlkQXZlcmFnZUNoYXJXaWR0aCk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL21hYy9Gb250TWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6cHJpbWFy
eUZvbnREYXRhSXNTeXN0ZW1Gb250KToKKwogMjAxNC0wNC0yMyAgQ29tbWl0IFF1ZXVlICA8Y29t
bWl0LXF1ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQg
cjE2NzcxMy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zv
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5jcHAKaW5kZXgg
ZjI3NmYxMzg3Yzg5NTQ4ZGE3ZjQyY2ViYWZiYTdjNzFiMDJkOGE5ZS4uNmNlMzFiMmY2Y2Q0NDM5
NmIwOTAzY2RlMDE1YmExMzgwMDQ3YTMyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvRm9udC5jcHAKQEAgLTQ4MSwxMSArNDgxLDExIEBAIGJvb2wgRm9udDo6aGFzVmFsaWRB
dmVyYWdlQ2hhcldpZHRoKCkgY29uc3QKICAgICBpZiAoZmFtaWx5LmlzRW1wdHkoKSkKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogCi0gICAgLy8gSW50ZXJuYWwgZm9udHMgb24gT1MgWCBhbHNvIGhh
dmUgYW4gaW52YWxpZCBlbnRyeSBpbiB0aGUgdGFibGUgZm9yIGF2Z0NoYXJXaWR0aC4KLSAgICAv
LyBUaGV5IGFyZSBoaWRkZW4gYnkgaGF2aW5nIGEgbmFtZSB0aGF0IGJlZ2lucyB3aXRoIGEgcGVy
aW9kLCBzbyBzaW1wbHkgc2VhcmNoCi0gICAgLy8gZm9yIHRoYXQgaGVyZSByYXRoZXIgdGhhbiB0
cnkgdG8ga2VlcCB0aGUgbGlzdCB1cCB0byBkYXRlLgotICAgIGlmIChmYW1pbHkuc3RhcnRzV2l0
aCgnLicpKQorI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oSU9TKQorICAgIC8vIEludGVy
bmFsIGZvbnRzIG9uIE9TIFggYW5kIGlPUyBhbHNvIGhhdmUgYW4gaW52YWxpZCBlbnRyeSBpbiB0
aGUgdGFibGUgZm9yIGF2Z0NoYXJXaWR0aC4KKyAgICBpZiAocHJpbWFyeUZvbnREYXRhSXNTeXN0
ZW1Gb250KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgogCiAgICAgc3RhdGljIEhh
c2hTZXQ8QXRvbWljU3RyaW5nPiogZm9udEZhbWlsaWVzV2l0aEludmFsaWRDaGFyV2lkdGhNYXAg
PSAwOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmgKaW5kZXggYTM1Yjli
YmFkMDJhNDA0ZTJlOGE3MWI5MDE3OTA4NjNiMWM4OWM2NC4uNDAwNDlhYjY1ZmUwM2U3NGQ2ZTAx
M2UzNWYxNGUwN2ZhZTg4ZTE3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zv
bnQuaApAQCAtMTg5LDYgKzE4OSw4IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgQ29kZVBhdGggY2hh
cmFjdGVyUmFuZ2VDb2RlUGF0aChjb25zdCBMQ2hhciosIHVuc2lnbmVkKSB7IHJldHVybiBTaW1w
bGU7IH0KICAgICBzdGF0aWMgQ29kZVBhdGggY2hhcmFjdGVyUmFuZ2VDb2RlUGF0aChjb25zdCBV
Q2hhciosIHVuc2lnbmVkIGxlbik7CiAKKyAgICBib29sIHByaW1hcnlGb250RGF0YUlzU3lzdGVt
Rm9udCgpIGNvbnN0OworCiBwcml2YXRlOgogICAgIGVudW0gRm9yVGV4dEVtcGhhc2lzT3JOb3Qg
eyBOb3RGb3JUZXh0RW1waGFzaXMsIEZvclRleHRFbXBoYXNpcyB9OwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udE1hYy5tbSBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250TWFjLm1tCmluZGV4IGQ5MzAwYjU3ZWE0
ZjJmMzIzMzlhYmVjMzY3NmI4MzgxOTcxNmM3OTUuLmUxZWVlMmQ4MTVlYmU2MDA1OWE3YWE0NTlk
MzRhMTBlNmY4OTcxNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL21hYy9Gb250TWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L21hYy9Gb250TWFjLm1tCkBAIC0zNCw2ICszNCwxMSBAQAogI2VuZGlmCiAjaW1wb3J0IDx3dGYv
TWF0aEV4dHJhcy5oPgogCisjaWYgX19oYXNfaW5jbHVkZSg8Q29yZVRleHQvQ1RGb250RGVzY3Jp
cHRvclByaXYuaD4pCisjaW1wb3J0IDxDb3JlVGV4dC9DVEZvbnREZXNjcmlwdG9yUHJpdi5oPgor
I2VuZGlmCitleHRlcm4gIkMiIGJvb2wgQ1RGb250RGVzY3JpcHRvcklzU3lzdGVtVUlGb250KENU
Rm9udERlc2NyaXB0b3JSZWYpOworCiAjaWYgRU5BQkxFKExFVFRFUlBSRVNTKQogI2ltcG9ydCAi
U29mdExpbmtpbmcuaCIKICNpZiBfX2hhc19pbmNsdWRlKDxDb3JlR3JhcGhpY3MvQ29yZUdyYXBo
aWNzUHJpdmF0ZS5oPikKQEAgLTUzNSw0ICs1NDAsMTYgQEAgRGFzaEFycmF5IEZvbnQ6OmRhc2hl
c0ZvckludGVyc2VjdGlvbnNXaXRoUmVjdChjb25zdCBUZXh0UnVuJiBydW4sIGNvbnN0IEZsb2F0
UG8KIH0KICNlbmRpZgogCitib29sIEZvbnQ6OnByaW1hcnlGb250RGF0YUlzU3lzdGVtRm9udCgp
IGNvbnN0Cit7CisjaWYgUExBVEZPUk0oSU9TKSB8fCBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JF
UVVJUkVEID4gMTA5MAorICAgIFJldGFpblB0cjxDVEZvbnREZXNjcmlwdG9yUmVmPiBkZXNjcmlw
dG9yID0gQ1RGb250Q29weUZvbnREZXNjcmlwdG9yKHByaW1hcnlGb250KCktPnBsYXRmb3JtRGF0
YSgpLmN0Rm9udCgpKTsKKyAgICByZXR1cm4gQ1RGb250RGVzY3JpcHRvcklzU3lzdGVtVUlGb250
KGRlc2NyaXB0b3IuZ2V0KCkpOworI2Vsc2UKKyAgICAvLyBTeXN0ZW0gZm9udHMgYXJlIGhpZGRl
biBieSBoYXZpbmcgYSBuYW1lIHRoYXQgYmVnaW5zIHdpdGggYSBwZXJpb2QsIHNvIHNpbXBseSBz
ZWFyY2gKKyAgICAvLyBmb3IgdGhhdCBoZXJlIHJhdGhlciB0aGFuIHRyeSB0byBrZWVwIHRoZSBs
aXN0IHVwIHRvIGRhdGUuCisgICAgcmV0dXJuIGZpcnN0RmFtaWx5KCkuc3RhcnRzV2l0aCgnLicp
OworI2VuZGlmCit9CisKIH0K
</data>
<flag name="review"
          id="254380"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>