<?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>166667</bug_id>
          
          <creation_ts>2017-01-03 15:24:38 -0800</creation_ts>
          <short_desc>[Cocoa] Font variations are inspected even when nobody is using variations</short_desc>
          <delta_ts>2017-01-04 10:31:22 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>166672</dup_id>
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>dino</cc>
    
    <cc>jonlee</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1263578</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2017-01-03 15:24:38 -0800</bug_when>
    <thetext>[Cocoa] Font variations are inspected even when nobody is using variations</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1263579</commentid>
    <comment_count>1</comment_count>
      <attachid>297961</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2017-01-03 15:25:33 -0800</bug_when>
    <thetext>Created attachment 297961
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1263581</commentid>
    <comment_count>2</comment_count>
      <attachid>297962</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2017-01-03 15:26:21 -0800</bug_when>
    <thetext>Created attachment 297962
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1263584</commentid>
    <comment_count>3</comment_count>
      <attachid>297964</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2017-01-03 15:29:28 -0800</bug_when>
    <thetext>Created attachment 297964
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1263585</commentid>
    <comment_count>4</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2017-01-03 15:30:05 -0800</bug_when>
    <thetext>&lt;rdar://problem/29848883&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1263642</commentid>
    <comment_count>5</comment_count>
      <attachid>297964</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2017-01-03 18:14:49 -0800</bug_when>
    <thetext>Comment on attachment 297964
Patch

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

&gt; Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp:466
&gt; +            if (iterator != defaultValues.end()) {

Can&apos;t we use:

if (iterator == defaultValues.end())
    continue;

So we do not have to indent the rest of the loop.

&gt; Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp:467
&gt; +                float valueToApply = std::max(std::min(newVariation.value(), iterator-&gt;value.maximumValue), iterator-&gt;value.minimumValue);

Can&apos;t we use clampTo(newVariation.value(), iterator-&gt;value.minimumValue, iterator-&gt;value.maximumValue) instead?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1263659</commentid>
    <comment_count>6</comment_count>
      <attachid>297964</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2017-01-03 19:16:14 -0800</bug_when>
    <thetext>Comment on attachment 297964
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp:466
&gt;&gt; +            if (iterator != defaultValues.end()) {
&gt; 
&gt; Can&apos;t we use:
&gt; 
&gt; if (iterator == defaultValues.end())
&gt;     continue;
&gt; 
&gt; So we do not have to indent the rest of the loop.

👍

&gt;&gt; Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp:467
&gt;&gt; +                float valueToApply = std::max(std::min(newVariation.value(), iterator-&gt;value.maximumValue), iterator-&gt;value.minimumValue);
&gt; 
&gt; Can&apos;t we use clampTo(newVariation.value(), iterator-&gt;value.minimumValue, iterator-&gt;value.maximumValue) instead?

👍</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1263662</commentid>
    <comment_count>7</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2017-01-03 19:17:28 -0800</bug_when>
    <thetext>The patch at https://bugs.webkit.org/show_bug.cgi?id=166672 fixes this.

*** This bug has been marked as a duplicate of bug 166672 ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>297961</attachid>
            <date>2017-01-03 15:25:33 -0800</date>
            <delta_ts>2017-01-03 15:26:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-166667-20170103152408.patch</filename>
            <type>text/plain</type>
            <size>3146</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEwMjQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWY3ZmVjYjA2MzdhMDE3
ZDAxYmFkYjI3MDAxNjBmOWMxYjM5NWYyMy4uMWRhZjI0YmU0Y2Y4MDgwMjY4MTllZTFhODU0Njk0
YzlkMDNhMWQ2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE3LTAxLTAzICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBG
b250IHZhcmlhdGlvbnMgYXJlIGluc3BlY3RlZCBldmVuIHdoZW4gbm9ib2R5IGlzIHVzaW5nIHZh
cmlhdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE2NjY2NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRoZXJlJ3Mgbm8gbmVlZCB0byBjYWxsIGRlZmF1bHRWYXJpYXRpb25WYWx1ZXMoKSBpZiBubyBl
bGVtZW50cyBhcmUgdXNpbmcgdmFyaWF0aW9ucy4KKworICAgICAgICBObyBuZXcgdGVzdHMgYmVj
YXVzZSB0aGVyZSBpcyBubyBiZWhhdmlvciBjaGFuZ2UuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpw
cmVwYXJlUGxhdGZvcm1Gb250KToKKwogMjAxNy0wMS0wMyAgQW5kcmVhcyBLbGluZyAgPGFrbGlu
Z0BhcHBsZS5jb20+CiAKICAgICAgICAgUGxhY2Vob2xkZXIgc3R5bGUgbWVjaGFuaXNtIGxlYWtz
IENTU0ZvbnRTZWxlY3RvciBmb3IgZmlyc3QgRG9jdW1lbnQgc3R5bGVkLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29y
ZVRleHQuY3BwCmluZGV4IGIwZDY0MDgyNjE2MDIyY2Q1ZThlMGFlNGRhNTU2YzQwMjhmYTEwYjcu
LmUwMGNmMTMwZWYwZTg4ZTM4NzhlNGYxNzQyNzAxMWIxMDc1YjQwMTcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVD
b3JlVGV4dC5jcHAKQEAgLTQ2MiwyMyArNDYyLDI0IEBAIFJldGFpblB0cjxDVEZvbnRSZWY+IHBy
ZXBhcmVQbGF0Zm9ybUZvbnQoQ1RGb250UmVmIG9yaWdpbmFsRm9udCwgVGV4dFJlbmRlcmluZ01v
CiAgICAgICAgIGZlYXR1cmVzVG9CZUFwcGxpZWQuc2V0KG5ld0ZlYXR1cmUudGFnKCksIG5ld0Zl
YXR1cmUudmFsdWUoKSk7CiAKICNpZiBFTkFCTEUoVkFSSUFUSU9OX0ZPTlRTKQotICAgIGF1dG8g
ZGVmYXVsdFZhbHVlcyA9IGRlZmF1bHRWYXJpYXRpb25WYWx1ZXMob3JpZ2luYWxGb250KTsKLQog
ICAgIFZhcmlhdGlvbnNNYXAgdmFyaWF0aW9uc1RvQmVBcHBsaWVkOwotICAgIGZvciAoYXV0byYg
bmV3VmFyaWF0aW9uIDogdmFyaWF0aW9ucykgewotICAgICAgICBhdXRvIGl0ZXJhdG9yID0gZGVm
YXVsdFZhbHVlcy5maW5kKG5ld1ZhcmlhdGlvbi50YWcoKSk7Ci0gICAgICAgIGlmIChpdGVyYXRv
ciAhPSBkZWZhdWx0VmFsdWVzLmVuZCgpKSB7Ci0gICAgICAgICAgICBmbG9hdCB2YWx1ZVRvQXBw
bHkgPSBzdGQ6Om1heChzdGQ6Om1pbihuZXdWYXJpYXRpb24udmFsdWUoKSwgaXRlcmF0b3ItPnZh
bHVlLm1heGltdW1WYWx1ZSksIGl0ZXJhdG9yLT52YWx1ZS5taW5pbXVtVmFsdWUpOwotCi0gICAg
ICAgICAgICAvLyBGSVhNRTogUmVtb3ZlIHdoZW4gPHJkYXI6Ly9wcm9ibGVtLzI4NzA3ODIyPiBp
cyBmaXhlZAorICAgIGlmICghdmFyaWF0aW9ucy5pc0VtcHR5KCkpIHsKKyAgICAgICAgYXV0byBk
ZWZhdWx0VmFsdWVzID0gZGVmYXVsdFZhcmlhdGlvblZhbHVlcyhvcmlnaW5hbEZvbnQpOworICAg
ICAgICBmb3IgKGF1dG8mIG5ld1ZhcmlhdGlvbiA6IHZhcmlhdGlvbnMpIHsKKyAgICAgICAgICAg
IGF1dG8gaXRlcmF0b3IgPSBkZWZhdWx0VmFsdWVzLmZpbmQobmV3VmFyaWF0aW9uLnRhZygpKTsK
KyAgICAgICAgICAgIGlmIChpdGVyYXRvciAhPSBkZWZhdWx0VmFsdWVzLmVuZCgpKSB7CisgICAg
ICAgICAgICAgICAgZmxvYXQgdmFsdWVUb0FwcGx5ID0gc3RkOjptYXgoc3RkOjptaW4obmV3VmFy
aWF0aW9uLnZhbHVlKCksIGl0ZXJhdG9yLT52YWx1ZS5tYXhpbXVtVmFsdWUpLCBpdGVyYXRvci0+
dmFsdWUubWluaW11bVZhbHVlKTsKKworICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBSZW1vdmUg
d2hlbiA8cmRhcjovL3Byb2JsZW0vMjg3MDc4MjI+IGlzIGZpeGVkCiAjZGVmaW5lIFdPUktBUk9V
TkRfQ09SRVRFWFRfVkFSSUFUSU9OU19ERUZBVUxUX1ZBTFVFX0JVRyAoUExBVEZPUk0oTUFDKSAm
JiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAxMzAwKSB8fCAoUExBVEZPUk0o
SU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDExMDAwMCkKICNpZiBX
T1JLQVJPVU5EX0NPUkVURVhUX1ZBUklBVElPTlNfREVGQVVMVF9WQUxVRV9CVUcKLSAgICAgICAg
ICAgIGlmICh2YWx1ZVRvQXBwbHkgPT0gaXRlcmF0b3ItPnZhbHVlLmRlZmF1bHRWYWx1ZSkKLSAg
ICAgICAgICAgICAgICB2YWx1ZVRvQXBwbHkgKz0gMC4wMDAxOworICAgICAgICAgICAgICAgIGlm
ICh2YWx1ZVRvQXBwbHkgPT0gaXRlcmF0b3ItPnZhbHVlLmRlZmF1bHRWYWx1ZSkKKyAgICAgICAg
ICAgICAgICAgICAgdmFsdWVUb0FwcGx5ICs9IDAuMDAwMTsKICNlbmRpZgogI3VuZGVmIFdPUktB
Uk9VTkRfQ09SRVRFWFRfVkFSSUFUSU9OU19ERUZBVUxUX1ZBTFVFX0JVRwogCi0gICAgICAgICAg
ICB2YXJpYXRpb25zVG9CZUFwcGxpZWQuc2V0KG5ld1ZhcmlhdGlvbi50YWcoKSwgdmFsdWVUb0Fw
cGx5KTsKKyAgICAgICAgICAgICAgICB2YXJpYXRpb25zVG9CZUFwcGxpZWQuc2V0KG5ld1Zhcmlh
dGlvbi50YWcoKSwgdmFsdWVUb0FwcGx5KTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQogICAg
IH0KICNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>297962</attachid>
            <date>2017-01-03 15:26:21 -0800</date>
            <delta_ts>2017-01-03 15:29:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-166667-20170103152456.patch</filename>
            <type>text/plain</type>
            <size>4003</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEwMjQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWY3ZmVjYjA2MzdhMDE3
ZDAxYmFkYjI3MDAxNjBmOWMxYjM5NWYyMy4uMmIwMGFkYjdhZGExZDE4OGU3Yzg0YTc3M2ZkYzhm
ZjU0NjlmMGUyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE3LTAxLTAzICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBG
b250IHZhcmlhdGlvbnMgYXJlIGluc3BlY3RlZCBldmVuIHdoZW4gbm9ib2R5IGlzIHVzaW5nIHZh
cmlhdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE2NjY2NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRoZXJlJ3Mgbm8gbmVlZCB0byBjYWxsIGRlZmF1bHRWYXJpYXRpb25WYWx1ZXMoKSBpZiBubyBl
bGVtZW50cyBhcmUgdXNpbmcgdmFyaWF0aW9ucy4KKworICAgICAgICBObyBuZXcgdGVzdHMgYmVj
YXVzZSB0aGVyZSBpcyBubyBiZWhhdmlvciBjaGFuZ2UuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpk
ZWZhdWx0VmFyaWF0aW9uVmFsdWVzKTogUmVtb3ZlIGluY29ycmVjdCBBU1NFUlQoKXMKKyAgICAg
ICAgKFdlYkNvcmU6OnByZXBhcmVQbGF0Zm9ybUZvbnQpOgorCiAyMDE3LTAxLTAzICBBbmRyZWFz
IEtsaW5nICA8YWtsaW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBQbGFjZWhvbGRlciBzdHlsZSBt
ZWNoYW5pc20gbGVha3MgQ1NTRm9udFNlbGVjdG9yIGZvciBmaXJzdCBEb2N1bWVudCBzdHlsZWQu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250
Q2FjaGVDb3JlVGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2Nv
YS9Gb250Q2FjaGVDb3JlVGV4dC5jcHAKaW5kZXggYjBkNjQwODI2MTYwMjJjZDVlOGUwYWU0ZGE1
NTZjNDAyOGZhMTBiNy4uZDc2MjA2YjU2MGVjYzFjZGExYWRkZGEzMzk3ZWVkNDIyM2ZmMTc1MSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENh
Y2hlQ29yZVRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nv
Y29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNwcApAQCAtNDExLDEwICs0MTEsNiBAQCBzdGF0aWMgVmFy
aWF0aW9uRGVmYXVsdHNNYXAgZGVmYXVsdFZhcmlhdGlvblZhbHVlcyhDVEZvbnRSZWYgZm9udCkK
ICAgICAgICAgYXV0byBiMiA9IChyYXdBeGlzSWRlbnRpZmllciAmIDB4RkYwMDAwKSA+PiAxNjsK
ICAgICAgICAgYXV0byBiMyA9IChyYXdBeGlzSWRlbnRpZmllciAmIDB4RkYwMCkgPj4gODsKICAg
ICAgICAgYXV0byBiNCA9IHJhd0F4aXNJZGVudGlmaWVyICYgMHhGRjsKLSAgICAgICAgQVNTRVJU
KGIxID49IDAgJiYgYjEgPD0gc3RkOjpudW1lcmljX2xpbWl0czxjaGFyPjo6bWF4KCkpOwotICAg
ICAgICBBU1NFUlQoYjIgPj0gMCAmJiBiMiA8PSBzdGQ6Om51bWVyaWNfbGltaXRzPGNoYXI+Ojpt
YXgoKSk7Ci0gICAgICAgIEFTU0VSVChiMyA+PSAwICYmIGIzIDw9IHN0ZDo6bnVtZXJpY19saW1p
dHM8Y2hhcj46Om1heCgpKTsKLSAgICAgICAgQVNTRVJUKGI0ID49IDAgJiYgYjQgPD0gc3RkOjpu
dW1lcmljX2xpbWl0czxjaGFyPjo6bWF4KCkpOwogICAgICAgICBGb250VGFnIHJlc3VsdEtleSA9
IHt7IHN0YXRpY19jYXN0PGNoYXI+KGIxKSwgc3RhdGljX2Nhc3Q8Y2hhcj4oYjIpLCBzdGF0aWNf
Y2FzdDxjaGFyPihiMyksIHN0YXRpY19jYXN0PGNoYXI+KGI0KSB9fTsKICAgICAgICAgVmFyaWF0
aW9uRGVmYXVsdHMgcmVzdWx0VmFsdWVzID0geyByYXdEZWZhdWx0VmFsdWUsIHJhd01pbmltdW1W
YWx1ZSwgcmF3TWF4aW11bVZhbHVlIH07CiAgICAgICAgIHJlc3VsdC5zZXQocmVzdWx0S2V5LCBy
ZXN1bHRWYWx1ZXMpOwpAQCAtNDYyLDIzICs0NTgsMjQgQEAgUmV0YWluUHRyPENURm9udFJlZj4g
cHJlcGFyZVBsYXRmb3JtRm9udChDVEZvbnRSZWYgb3JpZ2luYWxGb250LCBUZXh0UmVuZGVyaW5n
TW8KICAgICAgICAgZmVhdHVyZXNUb0JlQXBwbGllZC5zZXQobmV3RmVhdHVyZS50YWcoKSwgbmV3
RmVhdHVyZS52YWx1ZSgpKTsKIAogI2lmIEVOQUJMRShWQVJJQVRJT05fRk9OVFMpCi0gICAgYXV0
byBkZWZhdWx0VmFsdWVzID0gZGVmYXVsdFZhcmlhdGlvblZhbHVlcyhvcmlnaW5hbEZvbnQpOwot
CiAgICAgVmFyaWF0aW9uc01hcCB2YXJpYXRpb25zVG9CZUFwcGxpZWQ7Ci0gICAgZm9yIChhdXRv
JiBuZXdWYXJpYXRpb24gOiB2YXJpYXRpb25zKSB7Ci0gICAgICAgIGF1dG8gaXRlcmF0b3IgPSBk
ZWZhdWx0VmFsdWVzLmZpbmQobmV3VmFyaWF0aW9uLnRhZygpKTsKLSAgICAgICAgaWYgKGl0ZXJh
dG9yICE9IGRlZmF1bHRWYWx1ZXMuZW5kKCkpIHsKLSAgICAgICAgICAgIGZsb2F0IHZhbHVlVG9B
cHBseSA9IHN0ZDo6bWF4KHN0ZDo6bWluKG5ld1ZhcmlhdGlvbi52YWx1ZSgpLCBpdGVyYXRvci0+
dmFsdWUubWF4aW11bVZhbHVlKSwgaXRlcmF0b3ItPnZhbHVlLm1pbmltdW1WYWx1ZSk7Ci0KLSAg
ICAgICAgICAgIC8vIEZJWE1FOiBSZW1vdmUgd2hlbiA8cmRhcjovL3Byb2JsZW0vMjg3MDc4MjI+
IGlzIGZpeGVkCisgICAgaWYgKCF2YXJpYXRpb25zLmlzRW1wdHkoKSkgeworICAgICAgICBhdXRv
IGRlZmF1bHRWYWx1ZXMgPSBkZWZhdWx0VmFyaWF0aW9uVmFsdWVzKG9yaWdpbmFsRm9udCk7Cisg
ICAgICAgIGZvciAoYXV0byYgbmV3VmFyaWF0aW9uIDogdmFyaWF0aW9ucykgeworICAgICAgICAg
ICAgYXV0byBpdGVyYXRvciA9IGRlZmF1bHRWYWx1ZXMuZmluZChuZXdWYXJpYXRpb24udGFnKCkp
OworICAgICAgICAgICAgaWYgKGl0ZXJhdG9yICE9IGRlZmF1bHRWYWx1ZXMuZW5kKCkpIHsKKyAg
ICAgICAgICAgICAgICBmbG9hdCB2YWx1ZVRvQXBwbHkgPSBzdGQ6Om1heChzdGQ6Om1pbihuZXdW
YXJpYXRpb24udmFsdWUoKSwgaXRlcmF0b3ItPnZhbHVlLm1heGltdW1WYWx1ZSksIGl0ZXJhdG9y
LT52YWx1ZS5taW5pbXVtVmFsdWUpOworCisgICAgICAgICAgICAgICAgLy8gRklYTUU6IFJlbW92
ZSB3aGVuIDxyZGFyOi8vcHJvYmxlbS8yODcwNzgyMj4gaXMgZml4ZWQKICNkZWZpbmUgV09SS0FS
T1VORF9DT1JFVEVYVF9WQVJJQVRJT05TX0RFRkFVTFRfVkFMVUVfQlVHIChQTEFURk9STShNQUMp
ICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDEzMDApIHx8IChQTEFURk9S
TShJT1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTEwMDAwKQogI2lm
IFdPUktBUk9VTkRfQ09SRVRFWFRfVkFSSUFUSU9OU19ERUZBVUxUX1ZBTFVFX0JVRwotICAgICAg
ICAgICAgaWYgKHZhbHVlVG9BcHBseSA9PSBpdGVyYXRvci0+dmFsdWUuZGVmYXVsdFZhbHVlKQot
ICAgICAgICAgICAgICAgIHZhbHVlVG9BcHBseSArPSAwLjAwMDE7CisgICAgICAgICAgICAgICAg
aWYgKHZhbHVlVG9BcHBseSA9PSBpdGVyYXRvci0+dmFsdWUuZGVmYXVsdFZhbHVlKQorICAgICAg
ICAgICAgICAgICAgICB2YWx1ZVRvQXBwbHkgKz0gMC4wMDAxOwogI2VuZGlmCiAjdW5kZWYgV09S
S0FST1VORF9DT1JFVEVYVF9WQVJJQVRJT05TX0RFRkFVTFRfVkFMVUVfQlVHCiAKLSAgICAgICAg
ICAgIHZhcmlhdGlvbnNUb0JlQXBwbGllZC5zZXQobmV3VmFyaWF0aW9uLnRhZygpLCB2YWx1ZVRv
QXBwbHkpOworICAgICAgICAgICAgICAgIHZhcmlhdGlvbnNUb0JlQXBwbGllZC5zZXQobmV3VmFy
aWF0aW9uLnRhZygpLCB2YWx1ZVRvQXBwbHkpOworICAgICAgICAgICAgfQogICAgICAgICB9CiAg
ICAgfQogI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>297964</attachid>
            <date>2017-01-03 15:29:28 -0800</date>
            <delta_ts>2017-01-04 10:31:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-166667-20170103152803.patch</filename>
            <type>text/plain</type>
            <size>4038</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEwMjQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWY3ZmVjYjA2MzdhMDE3
ZDAxYmFkYjI3MDAxNjBmOWMxYjM5NWYyMy4uNDIzOTBiYzMyOTYwN2Y3ZGU3YTA0ZWY0OTM0ZTRj
ZGY3ZTUyODAxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE3LTAxLTAzICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBG
b250IHZhcmlhdGlvbnMgYXJlIGluc3BlY3RlZCBldmVuIHdoZW4gbm9ib2R5IGlzIHVzaW5nIHZh
cmlhdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE2NjY2NworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjk4NDg4ODM+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlcmUncyBubyBuZWVkIHRvIGNh
bGwgZGVmYXVsdFZhcmlhdGlvblZhbHVlcygpIGlmIG5vIGVsZW1lbnRzIGFyZSB1c2luZyB2YXJp
YXRpb25zLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBiZWNhdXNlIHRoZXJlIGlzIG5vIGJlaGF2
aW9yIGNoYW5nZS4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNo
ZUNvcmVUZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmRlZmF1bHRWYXJpYXRpb25WYWx1ZXMp
OiBSZW1vdmUgaW5jb3JyZWN0IEFTU0VSVCgpcworICAgICAgICAoV2ViQ29yZTo6cHJlcGFyZVBs
YXRmb3JtRm9udCk6CisKIDIwMTctMDEtMDMgIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUu
Y29tPgogCiAgICAgICAgIFBsYWNlaG9sZGVyIHN0eWxlIG1lY2hhbmlzbSBsZWFrcyBDU1NGb250
U2VsZWN0b3IgZm9yIGZpcnN0IERvY3VtZW50IHN0eWxlZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNw
cAppbmRleCBiMGQ2NDA4MjYxNjAyMmNkNWU4ZTBhZTRkYTU1NmM0MDI4ZmExMGI3Li5kNzYyMDZi
NTYwZWNjMWNkYTFhZGRkYTMzOTdlZWQ0MjIzZmYxNzUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQu
Y3BwCkBAIC00MTEsMTAgKzQxMSw2IEBAIHN0YXRpYyBWYXJpYXRpb25EZWZhdWx0c01hcCBkZWZh
dWx0VmFyaWF0aW9uVmFsdWVzKENURm9udFJlZiBmb250KQogICAgICAgICBhdXRvIGIyID0gKHJh
d0F4aXNJZGVudGlmaWVyICYgMHhGRjAwMDApID4+IDE2OwogICAgICAgICBhdXRvIGIzID0gKHJh
d0F4aXNJZGVudGlmaWVyICYgMHhGRjAwKSA+PiA4OwogICAgICAgICBhdXRvIGI0ID0gcmF3QXhp
c0lkZW50aWZpZXIgJiAweEZGOwotICAgICAgICBBU1NFUlQoYjEgPj0gMCAmJiBiMSA8PSBzdGQ6
Om51bWVyaWNfbGltaXRzPGNoYXI+OjptYXgoKSk7Ci0gICAgICAgIEFTU0VSVChiMiA+PSAwICYm
IGIyIDw9IHN0ZDo6bnVtZXJpY19saW1pdHM8Y2hhcj46Om1heCgpKTsKLSAgICAgICAgQVNTRVJU
KGIzID49IDAgJiYgYjMgPD0gc3RkOjpudW1lcmljX2xpbWl0czxjaGFyPjo6bWF4KCkpOwotICAg
ICAgICBBU1NFUlQoYjQgPj0gMCAmJiBiNCA8PSBzdGQ6Om51bWVyaWNfbGltaXRzPGNoYXI+Ojpt
YXgoKSk7CiAgICAgICAgIEZvbnRUYWcgcmVzdWx0S2V5ID0ge3sgc3RhdGljX2Nhc3Q8Y2hhcj4o
YjEpLCBzdGF0aWNfY2FzdDxjaGFyPihiMiksIHN0YXRpY19jYXN0PGNoYXI+KGIzKSwgc3RhdGlj
X2Nhc3Q8Y2hhcj4oYjQpIH19OwogICAgICAgICBWYXJpYXRpb25EZWZhdWx0cyByZXN1bHRWYWx1
ZXMgPSB7IHJhd0RlZmF1bHRWYWx1ZSwgcmF3TWluaW11bVZhbHVlLCByYXdNYXhpbXVtVmFsdWUg
fTsKICAgICAgICAgcmVzdWx0LnNldChyZXN1bHRLZXksIHJlc3VsdFZhbHVlcyk7CkBAIC00NjIs
MjMgKzQ1OCwyNCBAQCBSZXRhaW5QdHI8Q1RGb250UmVmPiBwcmVwYXJlUGxhdGZvcm1Gb250KENU
Rm9udFJlZiBvcmlnaW5hbEZvbnQsIFRleHRSZW5kZXJpbmdNbwogICAgICAgICBmZWF0dXJlc1Rv
QmVBcHBsaWVkLnNldChuZXdGZWF0dXJlLnRhZygpLCBuZXdGZWF0dXJlLnZhbHVlKCkpOwogCiAj
aWYgRU5BQkxFKFZBUklBVElPTl9GT05UUykKLSAgICBhdXRvIGRlZmF1bHRWYWx1ZXMgPSBkZWZh
dWx0VmFyaWF0aW9uVmFsdWVzKG9yaWdpbmFsRm9udCk7Ci0KICAgICBWYXJpYXRpb25zTWFwIHZh
cmlhdGlvbnNUb0JlQXBwbGllZDsKLSAgICBmb3IgKGF1dG8mIG5ld1ZhcmlhdGlvbiA6IHZhcmlh
dGlvbnMpIHsKLSAgICAgICAgYXV0byBpdGVyYXRvciA9IGRlZmF1bHRWYWx1ZXMuZmluZChuZXdW
YXJpYXRpb24udGFnKCkpOwotICAgICAgICBpZiAoaXRlcmF0b3IgIT0gZGVmYXVsdFZhbHVlcy5l
bmQoKSkgewotICAgICAgICAgICAgZmxvYXQgdmFsdWVUb0FwcGx5ID0gc3RkOjptYXgoc3RkOjpt
aW4obmV3VmFyaWF0aW9uLnZhbHVlKCksIGl0ZXJhdG9yLT52YWx1ZS5tYXhpbXVtVmFsdWUpLCBp
dGVyYXRvci0+dmFsdWUubWluaW11bVZhbHVlKTsKLQotICAgICAgICAgICAgLy8gRklYTUU6IFJl
bW92ZSB3aGVuIDxyZGFyOi8vcHJvYmxlbS8yODcwNzgyMj4gaXMgZml4ZWQKKyAgICBpZiAoIXZh
cmlhdGlvbnMuaXNFbXB0eSgpKSB7CisgICAgICAgIGF1dG8gZGVmYXVsdFZhbHVlcyA9IGRlZmF1
bHRWYXJpYXRpb25WYWx1ZXMob3JpZ2luYWxGb250KTsKKyAgICAgICAgZm9yIChhdXRvJiBuZXdW
YXJpYXRpb24gOiB2YXJpYXRpb25zKSB7CisgICAgICAgICAgICBhdXRvIGl0ZXJhdG9yID0gZGVm
YXVsdFZhbHVlcy5maW5kKG5ld1ZhcmlhdGlvbi50YWcoKSk7CisgICAgICAgICAgICBpZiAoaXRl
cmF0b3IgIT0gZGVmYXVsdFZhbHVlcy5lbmQoKSkgeworICAgICAgICAgICAgICAgIGZsb2F0IHZh
bHVlVG9BcHBseSA9IHN0ZDo6bWF4KHN0ZDo6bWluKG5ld1ZhcmlhdGlvbi52YWx1ZSgpLCBpdGVy
YXRvci0+dmFsdWUubWF4aW11bVZhbHVlKSwgaXRlcmF0b3ItPnZhbHVlLm1pbmltdW1WYWx1ZSk7
CisKKyAgICAgICAgICAgICAgICAvLyBGSVhNRTogUmVtb3ZlIHdoZW4gPHJkYXI6Ly9wcm9ibGVt
LzI4NzA3ODIyPiBpcyBmaXhlZAogI2RlZmluZSBXT1JLQVJPVU5EX0NPUkVURVhUX1ZBUklBVElP
TlNfREVGQVVMVF9WQUxVRV9CVUcgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9O
X01JTl9SRVFVSVJFRCA8IDEwMTMwMCkgfHwgKFBMQVRGT1JNKElPUykgJiYgX19JUEhPTkVfT1Nf
VkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMTAwMDApCiAjaWYgV09SS0FST1VORF9DT1JFVEVYVF9W
QVJJQVRJT05TX0RFRkFVTFRfVkFMVUVfQlVHCi0gICAgICAgICAgICBpZiAodmFsdWVUb0FwcGx5
ID09IGl0ZXJhdG9yLT52YWx1ZS5kZWZhdWx0VmFsdWUpCi0gICAgICAgICAgICAgICAgdmFsdWVU
b0FwcGx5ICs9IDAuMDAwMTsKKyAgICAgICAgICAgICAgICBpZiAodmFsdWVUb0FwcGx5ID09IGl0
ZXJhdG9yLT52YWx1ZS5kZWZhdWx0VmFsdWUpCisgICAgICAgICAgICAgICAgICAgIHZhbHVlVG9B
cHBseSArPSAwLjAwMDE7CiAjZW5kaWYKICN1bmRlZiBXT1JLQVJPVU5EX0NPUkVURVhUX1ZBUklB
VElPTlNfREVGQVVMVF9WQUxVRV9CVUcKIAotICAgICAgICAgICAgdmFyaWF0aW9uc1RvQmVBcHBs
aWVkLnNldChuZXdWYXJpYXRpb24udGFnKCksIHZhbHVlVG9BcHBseSk7CisgICAgICAgICAgICAg
ICAgdmFyaWF0aW9uc1RvQmVBcHBsaWVkLnNldChuZXdWYXJpYXRpb24udGFnKCksIHZhbHVlVG9B
cHBseSk7CisgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CiAjZW5kaWYK
</data>
<flag name="review"
          id="320223"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>