<?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>177457</bug_id>
          
          <creation_ts>2017-09-25 12:48:20 -0700</creation_ts>
          <short_desc>[WebIDL] Factor out IsExceptionOr check from toJS/toJSNewlyCreated signature</short_desc>
          <delta_ts>2017-09-27 12:16:59 -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>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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1352347</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-09-25 12:48:20 -0700</bug_when>
    <thetext>[WebIDL] Factor out IsExceptionOr check from toJS/toJSNewlyCreated signature</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1352350</commentid>
    <comment_count>1</comment_count>
      <attachid>321727</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-09-25 12:49:38 -0700</bug_when>
    <thetext>Created attachment 321727
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1352399</commentid>
    <comment_count>2</comment_count>
      <attachid>321727</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-09-25 14:01:31 -0700</bug_when>
    <thetext>Comment on attachment 321727
Patch

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

&gt; Source/WebCore/bindings/js/JSDOMConvertBase.h:91
&gt; +struct IsExceptionOr : public std::integral_constant&lt;bool, WTF::IsTemplate&lt;std::decay_t&lt;T&gt;, ExceptionOr&gt;::value&gt; { };

Would the following work?
template&lt;typename T&gt; using IsExceptionOr = std::integral_constant...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1352485</commentid>
    <comment_count>3</comment_count>
      <attachid>321727</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-09-25 16:27:06 -0700</bug_when>
    <thetext>Comment on attachment 321727
Patch

Clearing flags on attachment: 321727

Committed r222480: &lt;http://trac.webkit.org/changeset/222480&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1352486</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-09-25 16:27:08 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1352495</commentid>
    <comment_count>5</comment_count>
      <attachid>321767</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-09-25 16:52:08 -0700</bug_when>
    <thetext>Created attachment 321767
This also works...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1352496</commentid>
    <comment_count>6</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-09-25 16:53:27 -0700</bug_when>
    <thetext>(In reply to youenn fablet from comment #2)
&gt; Comment on attachment 321727 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=321727&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/bindings/js/JSDOMConvertBase.h:91
&gt; &gt; +struct IsExceptionOr : public std::integral_constant&lt;bool, WTF::IsTemplate&lt;std::decay_t&lt;T&gt;, ExceptionOr&gt;::value&gt; { };
&gt; 
&gt; Would the following work?
&gt; template&lt;typename T&gt; using IsExceptionOr = std::integral_constant...

That would work too (posted a patch with it above). I have not found a good feel for when to use using vs. inheritance in situations like these. Is there a reason to prefer one over the other here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1352503</commentid>
    <comment_count>7</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-09-25 16:59:30 -0700</bug_when>
    <thetext>&apos;using&apos; seems a bit more readable/closer to the intent than &apos;struct&apos; as we probably do not want to specialize the struct or add any method to it.
Mostly a style thingy I guess</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1353256</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-09-27 12:16:59 -0700</bug_when>
    <thetext>&lt;rdar://problem/34692938&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>321727</attachid>
            <date>2017-09-25 12:49:38 -0700</date>
            <delta_ts>2017-09-25 16:27:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-177457-20170925124938.patch</filename>
            <type>text/plain</type>
            <size>7887</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIyMjQ1NykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDE3LTA5LTI1ICBTYW0gV2Vp
bmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW1dlYklETF0gRmFjdG9yIG91dCBJc0V4
Y2VwdGlvbk9yIGNoZWNrIGZyb20gdG9KUy90b0pTTmV3bHlDcmVhdGVkIHNpZ25hdHVyZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3NDU3CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIG5ldyB0eXBl
LCBJc0V4Y2VwdGlvbk9yLCB0aGF0IGZhY3RvcnMgb3V0IHRoZSBwcmV2aW91c2x5IHJlcGVhdGVk
IGxvZ2ljIG9mIGRldGVybWluaW5nCisgICAgICAgIGlmIGEgdHlwZSBpcyBhbiBFeGNlcHRpb25P
ciB0ZW1wbGF0ZSB0eXBlLgorCisgICAgICAgICogYmluZGluZ3MvanMvSlNET01Db252ZXJ0QmFz
ZS5oOgorICAgICAgICAoV2ViQ29yZTo6dG9KUyk6CisgICAgICAgIChXZWJDb3JlOjp0b0pTTmV3
bHlDcmVhdGVkKToKKwogMjAxNy0wOS0yNSAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxl
LmNvbT4KIAogICAgICAgICBTd2l0Y2ggYmFjayB0byBwYXJ0aXRpb25pbmcgKHJhdGhlciB0aGFu
IGJsb2NraW5nKSBwcmV2YWxlbnQgb3JpZ2lucyB3aXRob3V0IGludGVyYWN0aW9uCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUNvbnZlcnRCYXNlLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01Db252ZXJ0QmFzZS5oCShyZXZpc2lv
biAyMjI0NTQpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUNvbnZlcnRCYXNl
LmgJKHdvcmtpbmcgY29weSkKQEAgLTg2LDYgKzg2LDExIEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQs
IHR5cGVuYW1lIEV4Y2VwdGlvblQKICAgICByZXR1cm4gQ29udmVydGVyPFQ+Ojpjb252ZXJ0KHN0
YXRlLCB2YWx1ZSwgZ2xvYmFsT2JqZWN0LCBzdGQ6OmZvcndhcmQ8RXhjZXB0aW9uVGhyb3dlcj4o
ZXhjZXB0aW9uVGhyb3dlcikpOwogfQogCisKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPgorc3RydWN0
IElzRXhjZXB0aW9uT3IgOiBwdWJsaWMgc3RkOjppbnRlZ3JhbF9jb25zdGFudDxib29sLCBXVEY6
OklzVGVtcGxhdGU8c3RkOjpkZWNheV90PFQ+LCBFeGNlcHRpb25Pcj46OnZhbHVlPiB7IH07CisK
KwogLy8gQ29udmVyc2lvbiBmcm9tIEltcGxlbWVudGF0aW9uIC0+IEpTVmFsdWUKIHRlbXBsYXRl
PHR5cGVuYW1lIFQ+IHN0cnVjdCBKU0NvbnZlcnRlcjsKIApAQCAtOTMsMTIgKzk4LDEyIEBAIHRl
bXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFU+IGlubGluZSAKIHRlbXBsYXRlPHR5cGVuYW1l
IFQsIHR5cGVuYW1lIFU+IGlubGluZSBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSYs
IFUmJik7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBVPiBpbmxpbmUgSlNDOjpKU1Zh
bHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUmLCBKU0RPTUdsb2JhbE9iamVjdCYsIFUmJik7CiB0ZW1w
bGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBVPiBpbmxpbmUgSlNDOjpKU1ZhbHVlIHRvSlNOZXds
eUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUmLCBKU0RPTUdsb2JhbE9iamVjdCYsIFUmJik7Ci10ZW1w
bGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBVPiBpbmxpbmUgYXV0byB0b0pTKEpTQzo6RXhlY1N0
YXRlJiwgSlNDOjpUaHJvd1Njb3BlJiwgVSYmKSAtPiBzdGQ6OmVuYWJsZV9pZl90PFdURjo6SXNU
ZW1wbGF0ZTxzdGQ6OmRlY2F5X3Q8VT4sIEV4Y2VwdGlvbk9yPjo6dmFsdWUsIEpTQzo6SlNWYWx1
ZT47Ci10ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBVPiBpbmxpbmUgYXV0byB0b0pTKEpT
Qzo6RXhlY1N0YXRlJiwgSlNDOjpUaHJvd1Njb3BlJiwgVSYmKSAtPiBzdGQ6OmVuYWJsZV9pZl90
PCFXVEY6OklzVGVtcGxhdGU8c3RkOjpkZWNheV90PFU+LCBFeGNlcHRpb25Pcj46OnZhbHVlLCBK
U0M6OkpTVmFsdWU+OwotdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4gaW5saW5lIGF1
dG8gdG9KUyhKU0M6OkV4ZWNTdGF0ZSYsIEpTRE9NR2xvYmFsT2JqZWN0JiwgSlNDOjpUaHJvd1Nj
b3BlJiwgVSYmKSAtPiBzdGQ6OmVuYWJsZV9pZl90PFdURjo6SXNUZW1wbGF0ZTxzdGQ6OmRlY2F5
X3Q8VT4sIEV4Y2VwdGlvbk9yPjo6dmFsdWUsIEpTQzo6SlNWYWx1ZT47Ci10ZW1wbGF0ZTx0eXBl
bmFtZSBULCB0eXBlbmFtZSBVPiBpbmxpbmUgYXV0byB0b0pTKEpTQzo6RXhlY1N0YXRlJiwgSlNE
T01HbG9iYWxPYmplY3QmLCBKU0M6OlRocm93U2NvcGUmLCBVJiYpIC0+IHN0ZDo6ZW5hYmxlX2lm
X3Q8IVdURjo6SXNUZW1wbGF0ZTxzdGQ6OmRlY2F5X3Q8VT4sIEV4Y2VwdGlvbk9yPjo6dmFsdWUs
IEpTQzo6SlNWYWx1ZT47Ci10ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBVPiBpbmxpbmUg
YXV0byB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlJiwgSlNET01HbG9iYWxPYmplY3Qm
LCBKU0M6OlRocm93U2NvcGUmLCBVJiYpIC0+IHN0ZDo6ZW5hYmxlX2lmX3Q8V1RGOjpJc1RlbXBs
YXRlPHN0ZDo6ZGVjYXlfdDxVPiwgRXhjZXB0aW9uT3I+Ojp2YWx1ZSwgSlNDOjpKU1ZhbHVlPjsK
LXRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFU+IGlubGluZSBhdXRvIHRvSlNOZXdseUNy
ZWF0ZWQoSlNDOjpFeGVjU3RhdGUmLCBKU0RPTUdsb2JhbE9iamVjdCYsIEpTQzo6VGhyb3dTY29w
ZSYsIFUmJikgLT4gc3RkOjplbmFibGVfaWZfdDwhV1RGOjpJc1RlbXBsYXRlPHN0ZDo6ZGVjYXlf
dDxVPiwgRXhjZXB0aW9uT3I+Ojp2YWx1ZSwgSlNDOjpKU1ZhbHVlPjsKK3RlbXBsYXRlPHR5cGVu
YW1lIFQsIHR5cGVuYW1lIFU+IGlubGluZSBhdXRvIHRvSlMoSlNDOjpFeGVjU3RhdGUmLCBKU0M6
OlRocm93U2NvcGUmLCBVJiYpIC0+IHN0ZDo6ZW5hYmxlX2lmX3Q8SXNFeGNlcHRpb25PcjxVPjo6
dmFsdWUsIEpTQzo6SlNWYWx1ZT47Cit0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBVPiBp
bmxpbmUgYXV0byB0b0pTKEpTQzo6RXhlY1N0YXRlJiwgSlNDOjpUaHJvd1Njb3BlJiwgVSYmKSAt
PiBzdGQ6OmVuYWJsZV9pZl90PCFJc0V4Y2VwdGlvbk9yPFU+Ojp2YWx1ZSwgSlNDOjpKU1ZhbHVl
PjsKK3RlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFU+IGlubGluZSBhdXRvIHRvSlMoSlND
OjpFeGVjU3RhdGUmLCBKU0RPTUdsb2JhbE9iamVjdCYsIEpTQzo6VGhyb3dTY29wZSYsIFUmJikg
LT4gc3RkOjplbmFibGVfaWZfdDxJc0V4Y2VwdGlvbk9yPFU+Ojp2YWx1ZSwgSlNDOjpKU1ZhbHVl
PjsKK3RlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFU+IGlubGluZSBhdXRvIHRvSlMoSlND
OjpFeGVjU3RhdGUmLCBKU0RPTUdsb2JhbE9iamVjdCYsIEpTQzo6VGhyb3dTY29wZSYsIFUmJikg
LT4gc3RkOjplbmFibGVfaWZfdDwhSXNFeGNlcHRpb25PcjxVPjo6dmFsdWUsIEpTQzo6SlNWYWx1
ZT47Cit0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBVPiBpbmxpbmUgYXV0byB0b0pTTmV3
bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlJiwgSlNET01HbG9iYWxPYmplY3QmLCBKU0M6OlRocm93
U2NvcGUmLCBVJiYpIC0+IHN0ZDo6ZW5hYmxlX2lmX3Q8SXNFeGNlcHRpb25PcjxVPjo6dmFsdWUs
IEpTQzo6SlNWYWx1ZT47Cit0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBVPiBpbmxpbmUg
YXV0byB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlJiwgSlNET01HbG9iYWxPYmplY3Qm
LCBKU0M6OlRocm93U2NvcGUmLCBVJiYpIC0+IHN0ZDo6ZW5hYmxlX2lmX3Q8IUlzRXhjZXB0aW9u
T3I8VT46OnZhbHVlLCBKU0M6OkpTVmFsdWU+OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBULCBib29s
IG5lZWRzU3RhdGUgPSBKU0NvbnZlcnRlcjxUPjo6bmVlZHNTdGF0ZSwgYm9vbCBuZWVkc0dsb2Jh
bE9iamVjdCA9IEpTQ29udmVydGVyPFQ+OjpuZWVkc0dsb2JhbE9iamVjdD4KIHN0cnVjdCBKU0Nv
bnZlcnRlck92ZXJsb2FkZXI7CkBAIC0xNTcsNyArMTYyLDcgQEAgdGVtcGxhdGU8dHlwZW5hbWUg
VCwgdHlwZW5hbWUgVT4gaW5saW5lIAogICAgIHJldHVybiBKU0NvbnZlcnRlcjxUPjo6Y29udmVy
dE5ld2x5Q3JlYXRlZChzdGF0ZSwgZ2xvYmFsT2JqZWN0LCBzdGQ6OmZvcndhcmQ8VT4odmFsdWUp
KTsKIH0KIAotdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4gaW5saW5lIGF1dG8gdG9K
UyhKU0M6OkV4ZWNTdGF0ZSYgc3RhdGUsIEpTQzo6VGhyb3dTY29wZSYgdGhyb3dTY29wZSwgVSYm
IHZhbHVlKSAtPiBzdGQ6OmVuYWJsZV9pZl90PFdURjo6SXNUZW1wbGF0ZTxzdGQ6OmRlY2F5X3Q8
VT4sIEV4Y2VwdGlvbk9yPjo6dmFsdWUsIEpTQzo6SlNWYWx1ZT4KK3RlbXBsYXRlPHR5cGVuYW1l
IFQsIHR5cGVuYW1lIFU+IGlubGluZSBhdXRvIHRvSlMoSlNDOjpFeGVjU3RhdGUmIHN0YXRlLCBK
U0M6OlRocm93U2NvcGUmIHRocm93U2NvcGUsIFUmJiB2YWx1ZSkgLT4gc3RkOjplbmFibGVfaWZf
dDxJc0V4Y2VwdGlvbk9yPFU+Ojp2YWx1ZSwgSlNDOjpKU1ZhbHVlPgogewogICAgIGlmIChVTkxJ
S0VMWSh2YWx1ZS5oYXNFeGNlcHRpb24oKSkpIHsKICAgICAgICAgcHJvcGFnYXRlRXhjZXB0aW9u
KHN0YXRlLCB0aHJvd1Njb3BlLCB2YWx1ZS5yZWxlYXNlRXhjZXB0aW9uKCkpOwpAQCAtMTY3LDEy
ICsxNzIsMTIgQEAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4gaW5saW5lIAogICAg
IHJldHVybiB0b0pTPFQ+KHN0YXRlLCB2YWx1ZS5yZWxlYXNlUmV0dXJuVmFsdWUoKSk7CiB9CiAK
LXRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFU+IGlubGluZSBhdXRvIHRvSlMoSlNDOjpF
eGVjU3RhdGUmIHN0YXRlLCBKU0M6OlRocm93U2NvcGUmLCBVJiYgdmFsdWUpIC0+IHN0ZDo6ZW5h
YmxlX2lmX3Q8IVdURjo6SXNUZW1wbGF0ZTxzdGQ6OmRlY2F5X3Q8VT4sIEV4Y2VwdGlvbk9yPjo6
dmFsdWUsIEpTQzo6SlNWYWx1ZT4KK3RlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFU+IGlu
bGluZSBhdXRvIHRvSlMoSlNDOjpFeGVjU3RhdGUmIHN0YXRlLCBKU0M6OlRocm93U2NvcGUmLCBV
JiYgdmFsdWUpIC0+IHN0ZDo6ZW5hYmxlX2lmX3Q8IUlzRXhjZXB0aW9uT3I8VT46OnZhbHVlLCBK
U0M6OkpTVmFsdWU+CiB7CiAgICAgcmV0dXJuIHRvSlM8VD4oc3RhdGUsIHN0ZDo6Zm9yd2FyZDxV
Pih2YWx1ZSkpOwogfQogCi10ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBVPiBpbmxpbmUg
YXV0byB0b0pTKEpTQzo6RXhlY1N0YXRlJiBzdGF0ZSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2Jh
bE9iamVjdCwgSlNDOjpUaHJvd1Njb3BlJiB0aHJvd1Njb3BlLCBVJiYgdmFsdWUpIC0+IHN0ZDo6
ZW5hYmxlX2lmX3Q8V1RGOjpJc1RlbXBsYXRlPHN0ZDo6ZGVjYXlfdDxVPiwgRXhjZXB0aW9uT3I+
Ojp2YWx1ZSwgSlNDOjpKU1ZhbHVlPgordGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4g
aW5saW5lIGF1dG8gdG9KUyhKU0M6OkV4ZWNTdGF0ZSYgc3RhdGUsIEpTRE9NR2xvYmFsT2JqZWN0
JiBnbG9iYWxPYmplY3QsIEpTQzo6VGhyb3dTY29wZSYgdGhyb3dTY29wZSwgVSYmIHZhbHVlKSAt
PiBzdGQ6OmVuYWJsZV9pZl90PElzRXhjZXB0aW9uT3I8VT46OnZhbHVlLCBKU0M6OkpTVmFsdWU+
CiB7CiAgICAgaWYgKFVOTElLRUxZKHZhbHVlLmhhc0V4Y2VwdGlvbigpKSkgewogICAgICAgICBw
cm9wYWdhdGVFeGNlcHRpb24oc3RhdGUsIHRocm93U2NvcGUsIHZhbHVlLnJlbGVhc2VFeGNlcHRp
b24oKSk7CkBAIC0xODIsMTIgKzE4NywxMiBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFt
ZSBVPiBpbmxpbmUgCiAgICAgcmV0dXJuIHRvSlM8VD4oc3RhdGUsIGdsb2JhbE9iamVjdCwgdmFs
dWUucmVsZWFzZVJldHVyblZhbHVlKCkpOwogfQogCi10ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBl
bmFtZSBVPiBpbmxpbmUgYXV0byB0b0pTKEpTQzo6RXhlY1N0YXRlJiBzdGF0ZSwgSlNET01HbG9i
YWxPYmplY3QmIGdsb2JhbE9iamVjdCwgSlNDOjpUaHJvd1Njb3BlJiwgVSYmIHZhbHVlKSAtPiBz
dGQ6OmVuYWJsZV9pZl90PCFXVEY6OklzVGVtcGxhdGU8c3RkOjpkZWNheV90PFU+LCBFeGNlcHRp
b25Pcj46OnZhbHVlLCBKU0M6OkpTVmFsdWU+Cit0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFt
ZSBVPiBpbmxpbmUgYXV0byB0b0pTKEpTQzo6RXhlY1N0YXRlJiBzdGF0ZSwgSlNET01HbG9iYWxP
YmplY3QmIGdsb2JhbE9iamVjdCwgSlNDOjpUaHJvd1Njb3BlJiwgVSYmIHZhbHVlKSAtPiBzdGQ6
OmVuYWJsZV9pZl90PCFJc0V4Y2VwdGlvbk9yPFU+Ojp2YWx1ZSwgSlNDOjpKU1ZhbHVlPgogewog
ICAgIHJldHVybiB0b0pTPFQ+KHN0YXRlLCBnbG9iYWxPYmplY3QsIHN0ZDo6Zm9yd2FyZDxVPih2
YWx1ZSkpOwogfQogCi10ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBVPiBpbmxpbmUgYXV0
byB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlJiBzdGF0ZSwgSlNET01HbG9iYWxPYmpl
Y3QmIGdsb2JhbE9iamVjdCwgSlNDOjpUaHJvd1Njb3BlJiB0aHJvd1Njb3BlLCBVJiYgdmFsdWUp
IC0+IHN0ZDo6ZW5hYmxlX2lmX3Q8V1RGOjpJc1RlbXBsYXRlPHN0ZDo6ZGVjYXlfdDxVPiwgRXhj
ZXB0aW9uT3I+Ojp2YWx1ZSwgSlNDOjpKU1ZhbHVlPgordGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlw
ZW5hbWUgVT4gaW5saW5lIGF1dG8gdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSYgc3Rh
dGUsIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QsIEpTQzo6VGhyb3dTY29wZSYgdGhy
b3dTY29wZSwgVSYmIHZhbHVlKSAtPiBzdGQ6OmVuYWJsZV9pZl90PElzRXhjZXB0aW9uT3I8VT46
OnZhbHVlLCBKU0M6OkpTVmFsdWU+CiB7CiAgICAgaWYgKFVOTElLRUxZKHZhbHVlLmhhc0V4Y2Vw
dGlvbigpKSkgewogICAgICAgICBwcm9wYWdhdGVFeGNlcHRpb24oc3RhdGUsIHRocm93U2NvcGUs
IHZhbHVlLnJlbGVhc2VFeGNlcHRpb24oKSk7CkBAIC0xOTcsNyArMjAyLDcgQEAgdGVtcGxhdGU8
dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4gaW5saW5lIAogICAgIHJldHVybiB0b0pTTmV3bHlDcmVh
dGVkPFQ+KHN0YXRlLCBnbG9iYWxPYmplY3QsIHZhbHVlLnJlbGVhc2VSZXR1cm5WYWx1ZSgpKTsK
IH0KIAotdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4gaW5saW5lIGF1dG8gdG9KU05l
d2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSYgc3RhdGUsIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9i
YWxPYmplY3QsIEpTQzo6VGhyb3dTY29wZSYsIFUmJiB2YWx1ZSkgLT4gc3RkOjplbmFibGVfaWZf
dDwhV1RGOjpJc1RlbXBsYXRlPHN0ZDo6ZGVjYXlfdDxVPiwgRXhjZXB0aW9uT3I+Ojp2YWx1ZSwg
SlNDOjpKU1ZhbHVlPgordGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4gaW5saW5lIGF1
dG8gdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSYgc3RhdGUsIEpTRE9NR2xvYmFsT2Jq
ZWN0JiBnbG9iYWxPYmplY3QsIEpTQzo6VGhyb3dTY29wZSYsIFUmJiB2YWx1ZSkgLT4gc3RkOjpl
bmFibGVfaWZfdDwhSXNFeGNlcHRpb25PcjxVPjo6dmFsdWUsIEpTQzo6SlNWYWx1ZT4KIHsKICAg
ICByZXR1cm4gdG9KU05ld2x5Q3JlYXRlZDxUPihzdGF0ZSwgZ2xvYmFsT2JqZWN0LCBzdGQ6OmZv
cndhcmQ8VT4odmFsdWUpKTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>321767</attachid>
            <date>2017-09-25 16:52:08 -0700</date>
            <delta_ts>2017-09-25 16:52:08 -0700</delta_ts>
            <desc>This also works...</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>616</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQ29udmVydEJhc2UuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUNvbnZlcnRCYXNlLmgJ
KHJldmlzaW9uIDIyMjQ4MCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQ29u
dmVydEJhc2UuaAkod29ya2luZyBjb3B5KQpAQCAtODgsNyArODgsNyBAQCB0ZW1wbGF0ZTx0eXBl
bmFtZSBULCB0eXBlbmFtZSBFeGNlcHRpb25UCiAKIAogdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Ci1z
dHJ1Y3QgSXNFeGNlcHRpb25PciA6IHB1YmxpYyBzdGQ6OmludGVncmFsX2NvbnN0YW50PGJvb2ws
IFdURjo6SXNUZW1wbGF0ZTxzdGQ6OmRlY2F5X3Q8VD4sIEV4Y2VwdGlvbk9yPjo6dmFsdWU+IHsg
fTsKK3VzaW5nIElzRXhjZXB0aW9uT3IgPSBzdGQ6OmludGVncmFsX2NvbnN0YW50PGJvb2wsIFdU
Rjo6SXNUZW1wbGF0ZTxzdGQ6OmRlY2F5X3Q8VD4sIEV4Y2VwdGlvbk9yPjo6dmFsdWU+OwogCiAK
IC8vIENvbnZlcnNpb24gZnJvbSBJbXBsZW1lbnRhdGlvbiAtPiBKU1ZhbHVlCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>