<?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>178280</bug_id>
          
          <creation_ts>2017-10-13 13:01:01 -0700</creation_ts>
          <short_desc>DOMTokenList shouldn&apos;t add empty attributes</short_desc>
          <delta_ts>2017-10-15 14:58:47 -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>DOM</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>https://github.com/whatwg/dom/pull/488</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, WebExposed</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>achristensen</cc>
    
    <cc>buildbot</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>rniwa</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1360163</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-10-13 13:01:01 -0700</bug_when>
    <thetext>DOMTokenList shouldn&apos;t add empty attributes after:
- https://github.com/whatwg/dom/pull/488

Firefox and Chrome follow the latest spec.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1360165</commentid>
    <comment_count>1</comment_count>
      <attachid>323729</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-10-13 13:05:19 -0700</bug_when>
    <thetext>Created attachment 323729
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1360172</commentid>
    <comment_count>2</comment_count>
      <attachid>323729</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2017-10-13 13:15:01 -0700</bug_when>
    <thetext>Comment on attachment 323729
Patch

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

&gt; Source/WebCore/html/DOMTokenList.cpp:252
&gt; +    if (!m_element.hasAttribute(m_attributeName) &amp;&amp; tokens().isEmpty())
&gt; +        return;

It&apos;s a bit inefficient to check this and then later call setAttribute since that would find the attribute twice
but I guess we don&apos;t have a mechanism to update the attributes using Attribute easily.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1360277</commentid>
    <comment_count>3</comment_count>
      <attachid>323729</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-10-13 15:36:31 -0700</bug_when>
    <thetext>Comment on attachment 323729
Patch

Clearing flags on attachment: 323729

Committed r223306: &lt;https://trac.webkit.org/changeset/223306&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1360278</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-10-13 15:36:33 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1360280</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-10-13 15:37:25 -0700</bug_when>
    <thetext>&lt;rdar://problem/34987431&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1360542</commentid>
    <comment_count>6</comment_count>
      <attachid>323729</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2017-10-14 21:32:48 -0700</bug_when>
    <thetext>Comment on attachment 323729
Patch

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

&gt;&gt; Source/WebCore/html/DOMTokenList.cpp:252
&gt;&gt; +        return;
&gt; 
&gt; It&apos;s a bit inefficient to check this and then later call setAttribute since that would find the attribute twice
&gt; but I guess we don&apos;t have a mechanism to update the attributes using Attribute easily.

Because hasAttribute is a hash table lookup it is more expensive, so we should check tokens().isEmpty() first.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1360543</commentid>
    <comment_count>7</comment_count>
      <attachid>323729</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2017-10-14 21:37:41 -0700</bug_when>
    <thetext>Comment on attachment 323729
Patch

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

&gt;&gt;&gt; Source/WebCore/html/DOMTokenList.cpp:252
&gt;&gt;&gt; +        return;
&gt;&gt; 
&gt;&gt; It&apos;s a bit inefficient to check this and then later call setAttribute since that would find the attribute twice
&gt;&gt; but I guess we don&apos;t have a mechanism to update the attributes using Attribute easily.
&gt; 
&gt; Because hasAttribute is a hash table lookup it is more expensive, so we should check tokens().isEmpty() first.

I am not so happy with the specification here: It is inconsistent that an empty token list will replace an *existing* attribute&apos;s value with empty string rather than deleting the attribute, but if there is no existing attribute, it will make no change. It would be more logical if it always removed the attribute. If that was the design, for our implementation could simply serialize an empty set of tokens as the null string instead of the empty string and otherwise let the normal algorithm run.

I’d really prefer that we make a solution that looks up the attribute only once as Ryosuke says. But sadly there is no variation of setAttribute that will set an existing attribute to empty string but not create a new one. We could create that new function in Element I suppose.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1360574</commentid>
    <comment_count>8</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-10-15 11:29:42 -0700</bug_when>
    <thetext>Reopening for follow-up.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1360585</commentid>
    <comment_count>9</comment_count>
      <attachid>323848</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-10-15 13:01:35 -0700</bug_when>
    <thetext>Created attachment 323848
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1360595</commentid>
    <comment_count>10</comment_count>
      <attachid>323848</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-10-15 14:58:46 -0700</bug_when>
    <thetext>Comment on attachment 323848
Patch

Clearing flags on attachment: 323848

Committed r223330: &lt;https://trac.webkit.org/changeset/223330&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1360596</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-10-15 14:58:47 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>323729</attachid>
            <date>2017-10-13 13:05:19 -0700</date>
            <delta_ts>2017-10-15 13:02:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-178280-20171013130518.patch</filename>
            <type>text/plain</type>
            <size>10682</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIzMjgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDFlYjZmNzQ1MDIzMmU0
YzhlZDE2OTVjODA4ZDM1NzViNjRmZjFkMC4uZGZhMmYzMjQ4YzQ3MWYyYWJiY2I1NDdjNGNmNTQ4
ZGQ1OGYwZDU3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE3LTEwLTEzICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgRE9NVG9rZW5MaXN0IHNob3Vs
ZG4ndCBhZGQgZW1wdHkgYXR0cmlidXRlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjgwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgRE9NVG9rZW5MaXN0IHNob3VsZG4ndCBhZGQgZW1wdHkgYXR0cmli
dXRlcyBhZnRlcjoKKyAgICAgICAgLSBodHRwczovL2dpdGh1Yi5jb20vd2hhdHdnL2RvbS9wdWxs
LzQ4OAorCisgICAgICAgIEZpcmVmb3ggYW5kIENocm9tZSBmb2xsb3cgdGhlIGxhdGVzdCBzcGVj
LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgdXBkYXRpbmcgZXhpc3RpbmcgdGVzdC4KKworICAg
ICAgICAqIGh0bWwvRE9NVG9rZW5MaXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTVRva2Vu
TGlzdDo6dXBkYXRlQXNzb2NpYXRlZEF0dHJpYnV0ZUZyb21Ub2tlbnMpOgorICAgICAgICBJbXBs
ZW1lbnQgdGhlIGZpcnN0IHN0ZXAgb2YgaHR0cHM6Ly9kb20uc3BlYy53aGF0d2cub3JnLyNjb25j
ZXB0LWR0bC11cGRhdGUKKwogMjAxNy0xMC0xMyAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxl
LmNvbT4KIAogICAgICAgICBQZXJmb3JtYW5jZTogZG8gcGl4ZWwgY29uZm9ybWFuY2UgYW5kIHRl
eHR1cmluZyBpbiBhIHNpbmdsZSBzdGVwLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9ET01Ub2tlbkxpc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuY3Bw
CmluZGV4IDdjYWIxYjczNmEwNDE3NWVkMTIxYzk3ZDBhMzUyYTQ5ZWE5NmQ1Y2YuLjEwMDdmNTgx
NDI1NWNiZmJhYjcxNmQ0ZDVjOGM4ZGQxZTc2ZTk2N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvRE9NVG9rZW5MaXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTVRv
a2VuTGlzdC5jcHAKQEAgLTI0OCw2ICsyNDgsOSBAQCB2b2lkIERPTVRva2VuTGlzdDo6dXBkYXRl
QXNzb2NpYXRlZEF0dHJpYnV0ZUZyb21Ub2tlbnMoKQogewogICAgIEFTU0VSVCghbV90b2tlbnNO
ZWVkVXBkYXRpbmcpOwogCisgICAgaWYgKCFtX2VsZW1lbnQuaGFzQXR0cmlidXRlKG1fYXR0cmli
dXRlTmFtZSkgJiYgdG9rZW5zKCkuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm47CisKICAgICAv
LyBodHRwczovL2RvbS5zcGVjLndoYXR3Zy5vcmcvI2NvbmNlcHQtb3JkZXJlZC1zZXQtc2VyaWFs
aXplcgogICAgIFN0cmluZ0J1aWxkZXIgYnVpbGRlcjsKICAgICBmb3IgKGF1dG8mIHRva2VuIDog
dG9rZW5zKCkpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VM
b2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDI4OTZlMzFiNDZk
ZDYyOTc3ZDVmZjRkMTg2OGJiODkxYzk4NTIyNjcuLmFkNzc1OTc5Nzc2ODdkMWRkZDI2NjFjMGNh
NzU4MDgzYzAzOTE4ZmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE0IEBACisyMDE3LTEwLTEzICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAg
ICAgICAgRE9NVG9rZW5MaXN0IHNob3VsZG4ndCBhZGQgZW1wdHkgYXR0cmlidXRlcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjgwCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmViYXNlbGluZSB3ZWIt
cGxhdGZvcm0tdGVzdCBub3cgdGhhdCBhbGwgY2hlY2tzIGFyZSBwYXNzaW5nLgorCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9FbGVtZW50LWNsYXNzbGlzdC1leHBlY3Rl
ZC50eHQ6CisKIDIwMTctMTAtMTMgIFJvbWFpbiBCZWxsZXNzb3J0ICA8cm9tYWluLmJlbGxlc3Nv
cnRAY3JmLmNhbm9uLmZyPgogCiAgICAgICAgIFtSZWFkYWJsZSBTdHJlYW1zIEFQSV0gQWxpZ24g
cXVldWUgd2l0aCBzcGVjIGZvciBSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9u
b2Rlcy9FbGVtZW50LWNsYXNzbGlzdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9FbGVtZW50LWNsYXNzbGlzdC1leHBl
Y3RlZC50eHQKaW5kZXggNjY4Zjc4MWQ3OTk4YTBiMDJmODI3OWMxNWU0ODAyYzIxMDliYWQzMy4u
YmY3YmY0MDVjNDA4ODdkMDIwMmEyZDg4NzFhYjRiNGE0NDljYTY2NyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvRWxlbWVu
dC1jbGFzc2xpc3QtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL0VsZW1lbnQtY2xhc3NsaXN0LWV4cGVjdGVkLnR4
dApAQCAtMTUzLDcgKzE1Myw3IEBAIFBBU1MgY2xhc3NMaXN0LnJlbW92ZSgiYSAiKSB3aXRoIGF0
dHJpYnV0ZSB2YWx1ZSAiYSAiIChIVE1MIG5vZGUpCiBQQVNTIGNsYXNzTGlzdC50b2dnbGUoImEg
IiwgZmFsc2UpIHdpdGggYXR0cmlidXRlIHZhbHVlICJhICIgKEhUTUwgbm9kZSkgCiBQQVNTIGNs
YXNzTGlzdC5yZW1vdmUoImFhICIpIHdpdGggYXR0cmlidXRlIHZhbHVlICJhYSAiIChIVE1MIG5v
ZGUpIAogUEFTUyBjbGFzc0xpc3QudG9nZ2xlKCJhYSAiLCBmYWxzZSkgd2l0aCBhdHRyaWJ1dGUg
dmFsdWUgImFhICIgKEhUTUwgbm9kZSkgCi1GQUlMIGNsYXNzTGlzdC5yZW1vdmUoImEiKSB3aXRo
IGF0dHJpYnV0ZSB2YWx1ZSBudWxsIChIVE1MIG5vZGUpIGFzc2VydF9lcXVhbHM6IHdyb25nIGNs
YXNzIGFmdGVyIG1vZGlmaWNhdGlvbiBleHBlY3RlZCAob2JqZWN0KSBudWxsIGJ1dCBnb3QgKHN0
cmluZykgIiIKK1BBU1MgY2xhc3NMaXN0LnJlbW92ZSgiYSIpIHdpdGggYXR0cmlidXRlIHZhbHVl
IG51bGwgKEhUTUwgbm9kZSkgCiBQQVNTIGNsYXNzTGlzdC50b2dnbGUoImEiLCBmYWxzZSkgd2l0
aCBhdHRyaWJ1dGUgdmFsdWUgbnVsbCAoSFRNTCBub2RlKSAKIFBBU1MgY2xhc3NMaXN0LnJlbW92
ZSgiYSIpIHdpdGggYXR0cmlidXRlIHZhbHVlICIiIChIVE1MIG5vZGUpIAogUEFTUyBjbGFzc0xp
c3QudG9nZ2xlKCJhIiwgZmFsc2UpIHdpdGggYXR0cmlidXRlIHZhbHVlICIiIChIVE1MIG5vZGUp
IApAQCAtMjAxLDcgKzIwMSw3IEBAIFBBU1MgY2xhc3NMaXN0LnJlbW92ZSgiYSIsICJjIikgd2l0
aCBhdHRyaWJ1dGUgdmFsdWUgImEgYiBjICIgKEhUTUwgbm9kZSkKIFBBU1MgY2xhc3NMaXN0LnJl
bW92ZSgiYSIsICJhIikgd2l0aCBhdHRyaWJ1dGUgdmFsdWUgImEgYiBjICIgKEhUTUwgbm9kZSkg
CiBQQVNTIGNsYXNzTGlzdC5yZW1vdmUoImQiLCAiZCIpIHdpdGggYXR0cmlidXRlIHZhbHVlICJh
IGIgYyAiIChIVE1MIG5vZGUpIAogUEFTUyBjbGFzc0xpc3QucmVtb3ZlKCkgd2l0aCBhdHRyaWJ1
dGUgdmFsdWUgImEgYiBjICIgKEhUTUwgbm9kZSkgCi1GQUlMIGNsYXNzTGlzdC5yZW1vdmUoImEi
LCAiYiIpIHdpdGggYXR0cmlidXRlIHZhbHVlIG51bGwgKEhUTUwgbm9kZSkgYXNzZXJ0X2VxdWFs
czogd3JvbmcgY2xhc3MgYWZ0ZXIgbW9kaWZpY2F0aW9uIGV4cGVjdGVkIChvYmplY3QpIG51bGwg
YnV0IGdvdCAoc3RyaW5nKSAiIgorUEFTUyBjbGFzc0xpc3QucmVtb3ZlKCJhIiwgImIiKSB3aXRo
IGF0dHJpYnV0ZSB2YWx1ZSBudWxsIChIVE1MIG5vZGUpIAogUEFTUyBjbGFzc0xpc3QucmVtb3Zl
KCJhIiwgImIiKSB3aXRoIGF0dHJpYnV0ZSB2YWx1ZSAiIiAoSFRNTCBub2RlKSAKIFBBU1MgY2xh
c3NMaXN0LnJlbW92ZSgpIHdpdGggYXR0cmlidXRlIHZhbHVlICJhIGEiIChIVE1MIG5vZGUpIAog
UEFTUyBjbGFzc0xpc3QucmVtb3ZlKG51bGwpIHdpdGggYXR0cmlidXRlIHZhbHVlICJudWxsIiAo
SFRNTCBub2RlKSAKQEAgLTQzNiw3ICs0MzYsNyBAQCBQQVNTIGNsYXNzTGlzdC5yZW1vdmUoImEg
Iikgd2l0aCBhdHRyaWJ1dGUgdmFsdWUgImEgIiAoWEhUTUwgbm9kZSkKIFBBU1MgY2xhc3NMaXN0
LnRvZ2dsZSgiYSAiLCBmYWxzZSkgd2l0aCBhdHRyaWJ1dGUgdmFsdWUgImEgIiAoWEhUTUwgbm9k
ZSkgCiBQQVNTIGNsYXNzTGlzdC5yZW1vdmUoImFhICIpIHdpdGggYXR0cmlidXRlIHZhbHVlICJh
YSAiIChYSFRNTCBub2RlKSAKIFBBU1MgY2xhc3NMaXN0LnRvZ2dsZSgiYWEgIiwgZmFsc2UpIHdp
dGggYXR0cmlidXRlIHZhbHVlICJhYSAiIChYSFRNTCBub2RlKSAKLUZBSUwgY2xhc3NMaXN0LnJl
bW92ZSgiYSIpIHdpdGggYXR0cmlidXRlIHZhbHVlIG51bGwgKFhIVE1MIG5vZGUpIGFzc2VydF9l
cXVhbHM6IHdyb25nIGNsYXNzIGFmdGVyIG1vZGlmaWNhdGlvbiBleHBlY3RlZCAob2JqZWN0KSBu
dWxsIGJ1dCBnb3QgKHN0cmluZykgIiIKK1BBU1MgY2xhc3NMaXN0LnJlbW92ZSgiYSIpIHdpdGgg
YXR0cmlidXRlIHZhbHVlIG51bGwgKFhIVE1MIG5vZGUpIAogUEFTUyBjbGFzc0xpc3QudG9nZ2xl
KCJhIiwgZmFsc2UpIHdpdGggYXR0cmlidXRlIHZhbHVlIG51bGwgKFhIVE1MIG5vZGUpIAogUEFT
UyBjbGFzc0xpc3QucmVtb3ZlKCJhIikgd2l0aCBhdHRyaWJ1dGUgdmFsdWUgIiIgKFhIVE1MIG5v
ZGUpIAogUEFTUyBjbGFzc0xpc3QudG9nZ2xlKCJhIiwgZmFsc2UpIHdpdGggYXR0cmlidXRlIHZh
bHVlICIiIChYSFRNTCBub2RlKSAKQEAgLTQ4NCw3ICs0ODQsNyBAQCBQQVNTIGNsYXNzTGlzdC5y
ZW1vdmUoImEiLCAiYyIpIHdpdGggYXR0cmlidXRlIHZhbHVlICJhIGIgYyAiIChYSFRNTCBub2Rl
KQogUEFTUyBjbGFzc0xpc3QucmVtb3ZlKCJhIiwgImEiKSB3aXRoIGF0dHJpYnV0ZSB2YWx1ZSAi
YSBiIGMgIiAoWEhUTUwgbm9kZSkgCiBQQVNTIGNsYXNzTGlzdC5yZW1vdmUoImQiLCAiZCIpIHdp
dGggYXR0cmlidXRlIHZhbHVlICJhIGIgYyAiIChYSFRNTCBub2RlKSAKIFBBU1MgY2xhc3NMaXN0
LnJlbW92ZSgpIHdpdGggYXR0cmlidXRlIHZhbHVlICJhIGIgYyAiIChYSFRNTCBub2RlKSAKLUZB
SUwgY2xhc3NMaXN0LnJlbW92ZSgiYSIsICJiIikgd2l0aCBhdHRyaWJ1dGUgdmFsdWUgbnVsbCAo
WEhUTUwgbm9kZSkgYXNzZXJ0X2VxdWFsczogd3JvbmcgY2xhc3MgYWZ0ZXIgbW9kaWZpY2F0aW9u
IGV4cGVjdGVkIChvYmplY3QpIG51bGwgYnV0IGdvdCAoc3RyaW5nKSAiIgorUEFTUyBjbGFzc0xp
c3QucmVtb3ZlKCJhIiwgImIiKSB3aXRoIGF0dHJpYnV0ZSB2YWx1ZSBudWxsIChYSFRNTCBub2Rl
KSAKIFBBU1MgY2xhc3NMaXN0LnJlbW92ZSgiYSIsICJiIikgd2l0aCBhdHRyaWJ1dGUgdmFsdWUg
IiIgKFhIVE1MIG5vZGUpIAogUEFTUyBjbGFzc0xpc3QucmVtb3ZlKCkgd2l0aCBhdHRyaWJ1dGUg
dmFsdWUgImEgYSIgKFhIVE1MIG5vZGUpIAogUEFTUyBjbGFzc0xpc3QucmVtb3ZlKG51bGwpIHdp
dGggYXR0cmlidXRlIHZhbHVlICJudWxsIiAoWEhUTUwgbm9kZSkgCkBAIC03MTksNyArNzE5LDcg
QEAgUEFTUyBjbGFzc0xpc3QucmVtb3ZlKCJhICIpIHdpdGggYXR0cmlidXRlIHZhbHVlICJhICIg
KE1hdGhNTCBub2RlKQogUEFTUyBjbGFzc0xpc3QudG9nZ2xlKCJhICIsIGZhbHNlKSB3aXRoIGF0
dHJpYnV0ZSB2YWx1ZSAiYSAiIChNYXRoTUwgbm9kZSkgCiBQQVNTIGNsYXNzTGlzdC5yZW1vdmUo
ImFhICIpIHdpdGggYXR0cmlidXRlIHZhbHVlICJhYSAiIChNYXRoTUwgbm9kZSkgCiBQQVNTIGNs
YXNzTGlzdC50b2dnbGUoImFhICIsIGZhbHNlKSB3aXRoIGF0dHJpYnV0ZSB2YWx1ZSAiYWEgIiAo
TWF0aE1MIG5vZGUpIAotRkFJTCBjbGFzc0xpc3QucmVtb3ZlKCJhIikgd2l0aCBhdHRyaWJ1dGUg
dmFsdWUgbnVsbCAoTWF0aE1MIG5vZGUpIGFzc2VydF9lcXVhbHM6IHdyb25nIGNsYXNzIGFmdGVy
IG1vZGlmaWNhdGlvbiBleHBlY3RlZCAob2JqZWN0KSBudWxsIGJ1dCBnb3QgKHN0cmluZykgIiIK
K1BBU1MgY2xhc3NMaXN0LnJlbW92ZSgiYSIpIHdpdGggYXR0cmlidXRlIHZhbHVlIG51bGwgKE1h
dGhNTCBub2RlKSAKIFBBU1MgY2xhc3NMaXN0LnRvZ2dsZSgiYSIsIGZhbHNlKSB3aXRoIGF0dHJp
YnV0ZSB2YWx1ZSBudWxsIChNYXRoTUwgbm9kZSkgCiBQQVNTIGNsYXNzTGlzdC5yZW1vdmUoImEi
KSB3aXRoIGF0dHJpYnV0ZSB2YWx1ZSAiIiAoTWF0aE1MIG5vZGUpIAogUEFTUyBjbGFzc0xpc3Qu
dG9nZ2xlKCJhIiwgZmFsc2UpIHdpdGggYXR0cmlidXRlIHZhbHVlICIiIChNYXRoTUwgbm9kZSkg
CkBAIC03NjcsNyArNzY3LDcgQEAgUEFTUyBjbGFzc0xpc3QucmVtb3ZlKCJhIiwgImMiKSB3aXRo
IGF0dHJpYnV0ZSB2YWx1ZSAiYSBiIGMgIiAoTWF0aE1MIG5vZGUpCiBQQVNTIGNsYXNzTGlzdC5y
ZW1vdmUoImEiLCAiYSIpIHdpdGggYXR0cmlidXRlIHZhbHVlICJhIGIgYyAiIChNYXRoTUwgbm9k
ZSkgCiBQQVNTIGNsYXNzTGlzdC5yZW1vdmUoImQiLCAiZCIpIHdpdGggYXR0cmlidXRlIHZhbHVl
ICJhIGIgYyAiIChNYXRoTUwgbm9kZSkgCiBQQVNTIGNsYXNzTGlzdC5yZW1vdmUoKSB3aXRoIGF0
dHJpYnV0ZSB2YWx1ZSAiYSBiIGMgIiAoTWF0aE1MIG5vZGUpIAotRkFJTCBjbGFzc0xpc3QucmVt
b3ZlKCJhIiwgImIiKSB3aXRoIGF0dHJpYnV0ZSB2YWx1ZSBudWxsIChNYXRoTUwgbm9kZSkgYXNz
ZXJ0X2VxdWFsczogd3JvbmcgY2xhc3MgYWZ0ZXIgbW9kaWZpY2F0aW9uIGV4cGVjdGVkIChvYmpl
Y3QpIG51bGwgYnV0IGdvdCAoc3RyaW5nKSAiIgorUEFTUyBjbGFzc0xpc3QucmVtb3ZlKCJhIiwg
ImIiKSB3aXRoIGF0dHJpYnV0ZSB2YWx1ZSBudWxsIChNYXRoTUwgbm9kZSkgCiBQQVNTIGNsYXNz
TGlzdC5yZW1vdmUoImEiLCAiYiIpIHdpdGggYXR0cmlidXRlIHZhbHVlICIiIChNYXRoTUwgbm9k
ZSkgCiBQQVNTIGNsYXNzTGlzdC5yZW1vdmUoKSB3aXRoIGF0dHJpYnV0ZSB2YWx1ZSAiYSBhIiAo
TWF0aE1MIG5vZGUpIAogUEFTUyBjbGFzc0xpc3QucmVtb3ZlKG51bGwpIHdpdGggYXR0cmlidXRl
IHZhbHVlICJudWxsIiAoTWF0aE1MIG5vZGUpIApAQCAtMTAwMiw3ICsxMDAyLDcgQEAgUEFTUyBj
bGFzc0xpc3QucmVtb3ZlKCJhICIpIHdpdGggYXR0cmlidXRlIHZhbHVlICJhICIgKFhNTCBub2Rl
IHdpdGggbnVsbCBuYW1lc3AKIFBBU1MgY2xhc3NMaXN0LnRvZ2dsZSgiYSAiLCBmYWxzZSkgd2l0
aCBhdHRyaWJ1dGUgdmFsdWUgImEgIiAoWE1MIG5vZGUgd2l0aCBudWxsIG5hbWVzcGFjZSkgCiBQ
QVNTIGNsYXNzTGlzdC5yZW1vdmUoImFhICIpIHdpdGggYXR0cmlidXRlIHZhbHVlICJhYSAiIChY
TUwgbm9kZSB3aXRoIG51bGwgbmFtZXNwYWNlKSAKIFBBU1MgY2xhc3NMaXN0LnRvZ2dsZSgiYWEg
IiwgZmFsc2UpIHdpdGggYXR0cmlidXRlIHZhbHVlICJhYSAiIChYTUwgbm9kZSB3aXRoIG51bGwg
bmFtZXNwYWNlKSAKLUZBSUwgY2xhc3NMaXN0LnJlbW92ZSgiYSIpIHdpdGggYXR0cmlidXRlIHZh
bHVlIG51bGwgKFhNTCBub2RlIHdpdGggbnVsbCBuYW1lc3BhY2UpIGFzc2VydF9lcXVhbHM6IHdy
b25nIGNsYXNzIGFmdGVyIG1vZGlmaWNhdGlvbiBleHBlY3RlZCAob2JqZWN0KSBudWxsIGJ1dCBn
b3QgKHN0cmluZykgIiIKK1BBU1MgY2xhc3NMaXN0LnJlbW92ZSgiYSIpIHdpdGggYXR0cmlidXRl
IHZhbHVlIG51bGwgKFhNTCBub2RlIHdpdGggbnVsbCBuYW1lc3BhY2UpIAogUEFTUyBjbGFzc0xp
c3QudG9nZ2xlKCJhIiwgZmFsc2UpIHdpdGggYXR0cmlidXRlIHZhbHVlIG51bGwgKFhNTCBub2Rl
IHdpdGggbnVsbCBuYW1lc3BhY2UpIAogUEFTUyBjbGFzc0xpc3QucmVtb3ZlKCJhIikgd2l0aCBh
dHRyaWJ1dGUgdmFsdWUgIiIgKFhNTCBub2RlIHdpdGggbnVsbCBuYW1lc3BhY2UpIAogUEFTUyBj
bGFzc0xpc3QudG9nZ2xlKCJhIiwgZmFsc2UpIHdpdGggYXR0cmlidXRlIHZhbHVlICIiIChYTUwg
bm9kZSB3aXRoIG51bGwgbmFtZXNwYWNlKSAKQEAgLTEwNTAsNyArMTA1MCw3IEBAIFBBU1MgY2xh
c3NMaXN0LnJlbW92ZSgiYSIsICJjIikgd2l0aCBhdHRyaWJ1dGUgdmFsdWUgImEgYiBjICIgKFhN
TCBub2RlIHdpdGggbnVsCiBQQVNTIGNsYXNzTGlzdC5yZW1vdmUoImEiLCAiYSIpIHdpdGggYXR0
cmlidXRlIHZhbHVlICJhIGIgYyAiIChYTUwgbm9kZSB3aXRoIG51bGwgbmFtZXNwYWNlKSAKIFBB
U1MgY2xhc3NMaXN0LnJlbW92ZSgiZCIsICJkIikgd2l0aCBhdHRyaWJ1dGUgdmFsdWUgImEgYiBj
ICIgKFhNTCBub2RlIHdpdGggbnVsbCBuYW1lc3BhY2UpIAogUEFTUyBjbGFzc0xpc3QucmVtb3Zl
KCkgd2l0aCBhdHRyaWJ1dGUgdmFsdWUgImEgYiBjICIgKFhNTCBub2RlIHdpdGggbnVsbCBuYW1l
c3BhY2UpIAotRkFJTCBjbGFzc0xpc3QucmVtb3ZlKCJhIiwgImIiKSB3aXRoIGF0dHJpYnV0ZSB2
YWx1ZSBudWxsIChYTUwgbm9kZSB3aXRoIG51bGwgbmFtZXNwYWNlKSBhc3NlcnRfZXF1YWxzOiB3
cm9uZyBjbGFzcyBhZnRlciBtb2RpZmljYXRpb24gZXhwZWN0ZWQgKG9iamVjdCkgbnVsbCBidXQg
Z290IChzdHJpbmcpICIiCitQQVNTIGNsYXNzTGlzdC5yZW1vdmUoImEiLCAiYiIpIHdpdGggYXR0
cmlidXRlIHZhbHVlIG51bGwgKFhNTCBub2RlIHdpdGggbnVsbCBuYW1lc3BhY2UpIAogUEFTUyBj
bGFzc0xpc3QucmVtb3ZlKCJhIiwgImIiKSB3aXRoIGF0dHJpYnV0ZSB2YWx1ZSAiIiAoWE1MIG5v
ZGUgd2l0aCBudWxsIG5hbWVzcGFjZSkgCiBQQVNTIGNsYXNzTGlzdC5yZW1vdmUoKSB3aXRoIGF0
dHJpYnV0ZSB2YWx1ZSAiYSBhIiAoWE1MIG5vZGUgd2l0aCBudWxsIG5hbWVzcGFjZSkgCiBQQVNT
IGNsYXNzTGlzdC5yZW1vdmUobnVsbCkgd2l0aCBhdHRyaWJ1dGUgdmFsdWUgIm51bGwiIChYTUwg
bm9kZSB3aXRoIG51bGwgbmFtZXNwYWNlKSAKQEAgLTEyODUsNyArMTI4NSw3IEBAIFBBU1MgY2xh
c3NMaXN0LnJlbW92ZSgiYSAiKSB3aXRoIGF0dHJpYnV0ZSB2YWx1ZSAiYSAiIChmb28gbm9kZSkK
IFBBU1MgY2xhc3NMaXN0LnRvZ2dsZSgiYSAiLCBmYWxzZSkgd2l0aCBhdHRyaWJ1dGUgdmFsdWUg
ImEgIiAoZm9vIG5vZGUpIAogUEFTUyBjbGFzc0xpc3QucmVtb3ZlKCJhYSAiKSB3aXRoIGF0dHJp
YnV0ZSB2YWx1ZSAiYWEgIiAoZm9vIG5vZGUpIAogUEFTUyBjbGFzc0xpc3QudG9nZ2xlKCJhYSAi
LCBmYWxzZSkgd2l0aCBhdHRyaWJ1dGUgdmFsdWUgImFhICIgKGZvbyBub2RlKSAKLUZBSUwgY2xh
c3NMaXN0LnJlbW92ZSgiYSIpIHdpdGggYXR0cmlidXRlIHZhbHVlIG51bGwgKGZvbyBub2RlKSBh
c3NlcnRfZXF1YWxzOiB3cm9uZyBjbGFzcyBhZnRlciBtb2RpZmljYXRpb24gZXhwZWN0ZWQgKG9i
amVjdCkgbnVsbCBidXQgZ290IChzdHJpbmcpICIiCitQQVNTIGNsYXNzTGlzdC5yZW1vdmUoImEi
KSB3aXRoIGF0dHJpYnV0ZSB2YWx1ZSBudWxsIChmb28gbm9kZSkgCiBQQVNTIGNsYXNzTGlzdC50
b2dnbGUoImEiLCBmYWxzZSkgd2l0aCBhdHRyaWJ1dGUgdmFsdWUgbnVsbCAoZm9vIG5vZGUpIAog
UEFTUyBjbGFzc0xpc3QucmVtb3ZlKCJhIikgd2l0aCBhdHRyaWJ1dGUgdmFsdWUgIiIgKGZvbyBu
b2RlKSAKIFBBU1MgY2xhc3NMaXN0LnRvZ2dsZSgiYSIsIGZhbHNlKSB3aXRoIGF0dHJpYnV0ZSB2
YWx1ZSAiIiAoZm9vIG5vZGUpIApAQCAtMTMzMyw3ICsxMzMzLDcgQEAgUEFTUyBjbGFzc0xpc3Qu
cmVtb3ZlKCJhIiwgImMiKSB3aXRoIGF0dHJpYnV0ZSB2YWx1ZSAiYSBiIGMgIiAoZm9vIG5vZGUp
CiBQQVNTIGNsYXNzTGlzdC5yZW1vdmUoImEiLCAiYSIpIHdpdGggYXR0cmlidXRlIHZhbHVlICJh
IGIgYyAiIChmb28gbm9kZSkgCiBQQVNTIGNsYXNzTGlzdC5yZW1vdmUoImQiLCAiZCIpIHdpdGgg
YXR0cmlidXRlIHZhbHVlICJhIGIgYyAiIChmb28gbm9kZSkgCiBQQVNTIGNsYXNzTGlzdC5yZW1v
dmUoKSB3aXRoIGF0dHJpYnV0ZSB2YWx1ZSAiYSBiIGMgIiAoZm9vIG5vZGUpIAotRkFJTCBjbGFz
c0xpc3QucmVtb3ZlKCJhIiwgImIiKSB3aXRoIGF0dHJpYnV0ZSB2YWx1ZSBudWxsIChmb28gbm9k
ZSkgYXNzZXJ0X2VxdWFsczogd3JvbmcgY2xhc3MgYWZ0ZXIgbW9kaWZpY2F0aW9uIGV4cGVjdGVk
IChvYmplY3QpIG51bGwgYnV0IGdvdCAoc3RyaW5nKSAiIgorUEFTUyBjbGFzc0xpc3QucmVtb3Zl
KCJhIiwgImIiKSB3aXRoIGF0dHJpYnV0ZSB2YWx1ZSBudWxsIChmb28gbm9kZSkgCiBQQVNTIGNs
YXNzTGlzdC5yZW1vdmUoImEiLCAiYiIpIHdpdGggYXR0cmlidXRlIHZhbHVlICIiIChmb28gbm9k
ZSkgCiBQQVNTIGNsYXNzTGlzdC5yZW1vdmUoKSB3aXRoIGF0dHJpYnV0ZSB2YWx1ZSAiYSBhIiAo
Zm9vIG5vZGUpIAogUEFTUyBjbGFzc0xpc3QucmVtb3ZlKG51bGwpIHdpdGggYXR0cmlidXRlIHZh
bHVlICJudWxsIiAoZm9vIG5vZGUpIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>323848</attachid>
            <date>2017-10-15 13:01:35 -0700</date>
            <delta_ts>2017-10-15 14:58:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-178280-20171015130134.patch</filename>
            <type>text/plain</type>
            <size>1507</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIzMzI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2U0OTI1YTVjZTBiYzNl
NWE1MWI4OTgwNWQ4ODFkMDAyOGRiNzUyOS4uYzI3MmYwZDVhZDM1MjUxOGY3YTUwYzM1NGI0NDlk
MDkxOGZhNjU5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE3LTEwLTE1ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgRE9NVG9rZW5MaXN0IHNob3Vs
ZG4ndCBhZGQgZW1wdHkgYXR0cmlidXRlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjgwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zNDk4NzQz
MT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGb2xs
b3ctdXAgdG8gcjIyMzMwNiwgcmV2ZXJzZSB0aGUgY2hlY2sgY29uZGl0aW9ucyB0byBhdm9pZCBh
dHRyaWJ1dGUKKyAgICAgICAgbG9va3VwIHdoZW4gcG9zc2libGUuIEFsc28gdXNlIG1fdG9rZW5z
IGluc3RlYWQgb2YgdG9rZW5zKCkgdG8gYXZvaWQKKyAgICAgICAgdW5uZWNlc3NhcnkgYnJhbmNo
LgorCisgICAgICAgICogaHRtbC9ET01Ub2tlbkxpc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RE9NVG9rZW5MaXN0Ojp1cGRhdGVBc3NvY2lhdGVkQXR0cmlidXRlRnJvbVRva2Vucyk6CisKIDIw
MTctMTAtMTQgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQGFwcGxlLmNvbT4KIAogICAgICAgICBS
ZW1vdmUgYWxsIFdlYiBBbmltYXRpb25zIGNvZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvRE9NVG9rZW5MaXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVG9rZW5MaXN0
LmNwcAppbmRleCAxMDA3ZjU4MTQyNTVjYmZiYWI3MTZkNGQ1YzhjOGRkMWU3NmU5NjdiLi5jZGJj
MjUyOWU0NGVlNjAzNDdiOTU4ODRkZTYwZTBjMTIxMTRiZGFiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0RPTVRva2VuTGlzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9E
T01Ub2tlbkxpc3QuY3BwCkBAIC0yNDgsNyArMjQ4LDcgQEAgdm9pZCBET01Ub2tlbkxpc3Q6OnVw
ZGF0ZUFzc29jaWF0ZWRBdHRyaWJ1dGVGcm9tVG9rZW5zKCkKIHsKICAgICBBU1NFUlQoIW1fdG9r
ZW5zTmVlZFVwZGF0aW5nKTsKIAotICAgIGlmICghbV9lbGVtZW50Lmhhc0F0dHJpYnV0ZShtX2F0
dHJpYnV0ZU5hbWUpICYmIHRva2VucygpLmlzRW1wdHkoKSkKKyAgICBpZiAobV90b2tlbnMuaXNF
bXB0eSgpICYmICFtX2VsZW1lbnQuaGFzQXR0cmlidXRlKG1fYXR0cmlidXRlTmFtZSkpCiAgICAg
ICAgIHJldHVybjsKIAogICAgIC8vIGh0dHBzOi8vZG9tLnNwZWMud2hhdHdnLm9yZy8jY29uY2Vw
dC1vcmRlcmVkLXNldC1zZXJpYWxpemVyCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>