<?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>200427</bug_id>
          
          <creation_ts>2019-08-04 01:39:19 -0700</creation_ts>
          <short_desc>WebRTC: got incorrect `this` in negotiationneeded event</short_desc>
          <delta_ts>2019-08-07 16:30:57 -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>WebRTC</component>
          <version>Safari 12</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="zjcqoo">zjcqoo</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1558351</commentid>
    <comment_count>0</comment_count>
    <who name="zjcqoo">zjcqoo</who>
    <bug_when>2019-08-04 01:39:19 -0700</bug_when>
    <thetext>```html
&lt;!--
UA: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1.1 Safari/605.1.15
--&gt;
&lt;script&gt;
const pc = new RTCPeerConnection(null)

pc.onnegotiationneeded = async function(e) {
  console.log(pc === this)  // return false! should be true

  // TypeError:
  // Can only call RTCPeerConnection.createOffer on instances of RTCPeerConnection
  const offer = await this.createOffer()
  console.log(&apos;offer:&apos;, offer)
}
pc.createDataChannel(&apos;x&apos;)
&lt;/script&gt;
```</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1558388</commentid>
    <comment_count>1</comment_count>
      <attachid>375509</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-08-04 16:22:26 -0700</bug_when>
    <thetext>Created attachment 375509
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1558389</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-08-04 16:24:13 -0700</bug_when>
    <thetext>&lt;rdar://problem/53923961&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1558400</commentid>
    <comment_count>3</comment_count>
      <attachid>375509</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2019-08-04 18:16:13 -0700</bug_when>
    <thetext>Comment on attachment 375509
Patch

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

&gt; Source/WebCore/bindings/js/JSDOMBuiltinConstructor.h:95
&gt; +typename JSC::JSObject&amp; createJSObjectFromWrapper(JSDOMBuiltinConstructor&lt;JSClass&gt;&amp; constructor, Ref&lt;typename JSClass::DOMWrapped&gt;&amp;&amp; domObject)

Not a big fan of names with &quot;dom&quot; in them. I’d call this &quot;wrappedObject&quot; instead of &quot;domObject&quot; if I was writing the code.

&gt; Source/WebCore/bindings/js/JSDOMBuiltinConstructor.h:101
&gt; +    auto* domObjectPtr = domObject.ptr();
&gt; +    auto wrapper = JSClass::create(getDOMStructure&lt;JSClass&gt;(globalObject.vm(), globalObject), &amp;globalObject, WTFMove(domObject));
&gt; +    cacheWrapper(globalObject.world(), domObjectPtr, wrapper);
&gt; +    return *wrapper;

This looks so identical to createWrapper from JSDOMWrapperCache.h. There’s got to be a way to factor so they share most of their code.

&gt; Source/WebCore/bindings/js/JSDOMBuiltinConstructor.h:104
&gt; +template&lt;typename JSClass&gt; inline

Seems unnecessary that all of these function templates say &quot;inline&quot;. I can’t imagine this has any effect one way or another on whether they are inlined nor on whether they are safe to include in a header.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1558406</commentid>
    <comment_count>4</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-08-04 18:42:16 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #3)
&gt; Comment on attachment 375509 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=375509&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/bindings/js/JSDOMBuiltinConstructor.h:95
&gt; &gt; +typename JSC::JSObject&amp; createJSObjectFromWrapper(JSDOMBuiltinConstructor&lt;JSClass&gt;&amp; constructor, Ref&lt;typename JSClass::DOMWrapped&gt;&amp;&amp; domObject)
&gt; 
&gt; Not a big fan of names with &quot;dom&quot; in them. I’d call this &quot;wrappedObject&quot;
&gt; instead of &quot;domObject&quot; if I was writing the code.

OK

&gt; &gt; Source/WebCore/bindings/js/JSDOMBuiltinConstructor.h:101
&gt; &gt; +    auto* domObjectPtr = domObject.ptr();
&gt; &gt; +    auto wrapper = JSClass::create(getDOMStructure&lt;JSClass&gt;(globalObject.vm(), globalObject), &amp;globalObject, WTFMove(domObject));
&gt; &gt; +    cacheWrapper(globalObject.world(), domObjectPtr, wrapper);
&gt; &gt; +    return *wrapper;
&gt; 
&gt; This looks so identical to createWrapper from JSDOMWrapperCache.h. There’s
&gt; got to be a way to factor so they share most of their code.

Right will do.

&gt; &gt; Source/WebCore/bindings/js/JSDOMBuiltinConstructor.h:104
&gt; &gt; +template&lt;typename JSClass&gt; inline
&gt; 
&gt; Seems unnecessary that all of these function templates say &quot;inline&quot;. I can’t
&gt; imagine this has any effect one way or another on whether they are inlined
&gt; nor on whether they are safe to include in a header.

I guess this is copy/paste with the inline methods.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1558409</commentid>
    <comment_count>5</comment_count>
      <attachid>375513</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-08-04 18:44:40 -0700</bug_when>
    <thetext>Created attachment 375513
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1558430</commentid>
    <comment_count>6</comment_count>
      <attachid>375513</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-08-04 23:54:13 -0700</bug_when>
    <thetext>Comment on attachment 375513
Patch for landing

Clearing flags on attachment: 375513

Committed r248267: &lt;https://trac.webkit.org/changeset/248267&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1558431</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-08-04 23:54:15 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1559369</commentid>
    <comment_count>8</comment_count>
      <attachid>375513</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2019-08-07 16:30:57 -0700</bug_when>
    <thetext>Comment on attachment 375513
Patch for landing

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

&gt; Source/WebCore/bindings/js/JSDOMBuiltinConstructor.h:97
&gt; +    return *createWrapper&lt;typename JSClass::DOMWrapped&gt;(constructor.globalObject(), JSClass::DOMWrapped::create());

I think we can take out the &lt;typename JSClass::DOMWrapped&gt; and everything will still work properly, deduced based on the argument types. Might be worth trying that at some point.

&gt; Source/WebCore/bindings/js/JSDOMBuiltinConstructor.h:111
&gt; +    return context ? createWrapper&lt;typename JSClass::DOMWrapped&gt;(constructor.globalObject(), JSClass::DOMWrapped::create(*context)) : nullptr;

Ditto.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>375509</attachid>
            <date>2019-08-04 16:22:26 -0700</date>
            <delta_ts>2019-08-04 18:44:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-200427-20190804162226.patch</filename>
            <type>text/plain</type>
            <size>5498</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3NjQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWQxOTdjOTJiNjlkMDlh
ZjUxNDA1OTdmNjU5NzVkMDlhODQ2M2ZkMC4uYjY2YTUyYjA0YjY3N2NlYjhiYzUyYzBmOTU0ZmI1
NTRkNWRkNmQ2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE5LTA4LTA0ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBXZWJSVEM6IGdvdCBpbmNv
cnJlY3QgYHRoaXNgIGluIG5lZ290aWF0aW9ubmVlZGVkIGV2ZW50CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDA0MjcKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlIHN1cmUgYSBkb20gb2JqZWN0IGNy
ZWF0ZWQgdGhyb3VnaCBhIEpTIGJ1aWx0LWluIGNvbnN0cnVjdG9yIGlzIGFkZGVkIHRvIHRoZSB3
cmFwcGVyIGNhY2hlLgorCisgICAgICAgIFRlc3Q6IHdlYnJ0Yy9vbm5lZ290aWF0aW9ubmVlZGVk
Lmh0bWwKKworICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NQnVpbHRpbkNvbnN0cnVjdG9yLmg6
CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVKU09iamVjdEZyb21XcmFwcGVyKToKKyAgICAgICAg
KFdlYkNvcmU6OmNyZWF0ZUpTT2JqZWN0KToKKwogMjAxOS0wNy0zMCAgWW91ZW5uIEZhYmxldCAg
PHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgVXNlIENURm9udENyZWF0ZUZvckNoYXJhY3Rl
cnNXaXRoTGFuZ3VhZ2VBbmRPcHRpb24gaWYgYXZhaWxhYmxlIGluc3RlYWQgb2YgQ1RGb250Q3Jl
YXRlRm9yQ2hhcmFjdGVyc1dpdGhMYW5ndWFnZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNET01CdWlsdGluQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRE9NQnVpbHRpbkNvbnN0cnVjdG9yLmgKaW5kZXggNmFiNWVjMGVmZTVmZjM0
MGFjZDI2ZDllZjRkZTg3ZjgyN2U4MjhhOC4uNmEyNjFkZjIwZjYyOWQ0MGY5YWUzYTdkYWY4NmRi
OTY2ZWIzZGE2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01C
dWlsdGluQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RP
TUJ1aWx0aW5Db25zdHJ1Y3Rvci5oCkBAIC05MiwxMCArOTIsMTkgQEAgdGVtcGxhdGU8dHlwZW5h
bWUgSlNDbGFzcz4gaW5saW5lIEpTQzo6RW5jb2RlZEpTVmFsdWUgSlNET01CdWlsdGluQ29uc3Ry
dWN0b3I8SlMKIH0KIAogdGVtcGxhdGU8dHlwZW5hbWUgSlNDbGFzcz4gaW5saW5lCi10eXBlbmFt
ZSBzdGQ6OmVuYWJsZV9pZjxKU0RPTU9iamVjdEluc3BlY3RvcjxKU0NsYXNzPjo6aXNTaW1wbGVX
cmFwcGVyLCBKU0M6OkpTT2JqZWN0Jj46OnR5cGUgY3JlYXRlSlNPYmplY3QoSlNET01CdWlsdGlu
Q29uc3RydWN0b3I8SlNDbGFzcz4mIGNvbnN0cnVjdG9yKQordHlwZW5hbWUgSlNDOjpKU09iamVj
dCYgY3JlYXRlSlNPYmplY3RGcm9tV3JhcHBlcihKU0RPTUJ1aWx0aW5Db25zdHJ1Y3RvcjxKU0Ns
YXNzPiYgY29uc3RydWN0b3IsIFJlZjx0eXBlbmFtZSBKU0NsYXNzOjpET01XcmFwcGVkPiYmIGRv
bU9iamVjdCkKIHsKICAgICBhdXRvJiBnbG9iYWxPYmplY3QgPSAqY29uc3RydWN0b3IuZ2xvYmFs
T2JqZWN0KCk7Ci0gICAgcmV0dXJuICpKU0NsYXNzOjpjcmVhdGUoZ2V0RE9NU3RydWN0dXJlPEpT
Q2xhc3M+KGdsb2JhbE9iamVjdC52bSgpLCBnbG9iYWxPYmplY3QpLCAmZ2xvYmFsT2JqZWN0LCBK
U0NsYXNzOjpET01XcmFwcGVkOjpjcmVhdGUoKSk7CisgICAgYXV0byogZG9tT2JqZWN0UHRyID0g
ZG9tT2JqZWN0LnB0cigpOworICAgIGF1dG8gd3JhcHBlciA9IEpTQ2xhc3M6OmNyZWF0ZShnZXRE
T01TdHJ1Y3R1cmU8SlNDbGFzcz4oZ2xvYmFsT2JqZWN0LnZtKCksIGdsb2JhbE9iamVjdCksICZn
bG9iYWxPYmplY3QsIFdURk1vdmUoZG9tT2JqZWN0KSk7CisgICAgY2FjaGVXcmFwcGVyKGdsb2Jh
bE9iamVjdC53b3JsZCgpLCBkb21PYmplY3RQdHIsIHdyYXBwZXIpOworICAgIHJldHVybiAqd3Jh
cHBlcjsKK30KKwordGVtcGxhdGU8dHlwZW5hbWUgSlNDbGFzcz4gaW5saW5lCit0eXBlbmFtZSBz
dGQ6OmVuYWJsZV9pZjxKU0RPTU9iamVjdEluc3BlY3RvcjxKU0NsYXNzPjo6aXNTaW1wbGVXcmFw
cGVyLCBKU0M6OkpTT2JqZWN0Jj46OnR5cGUgY3JlYXRlSlNPYmplY3QoSlNET01CdWlsdGluQ29u
c3RydWN0b3I8SlNDbGFzcz4mIGNvbnN0cnVjdG9yKQoreworICAgIHJldHVybiAqY3JlYXRlSlNP
YmplY3RGcm9tV3JhcHBlcihjb25zdHJ1Y3RvciwgSlNDbGFzczo6RE9NV3JhcHBlZDo6Y3JlYXRl
KCkpOwogfQogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBKU0NsYXNzPiBpbmxpbmUKQEAgLTEwOCwxMSAr
MTE3LDggQEAgdHlwZW5hbWUgc3RkOjplbmFibGVfaWY8SlNET01PYmplY3RJbnNwZWN0b3I8SlND
bGFzcz46OmlzQnVpbHRpbiwgSlNDOjpKU09iamVjdCYKIHRlbXBsYXRlPHR5cGVuYW1lIEpTQ2xh
c3M+IGlubGluZQogdHlwZW5hbWUgc3RkOjplbmFibGVfaWY8SlNET01PYmplY3RJbnNwZWN0b3I8
SlNDbGFzcz46OmlzQ29tcGxleFdyYXBwZXIsIEpTQzo6SlNPYmplY3QqPjo6dHlwZSBjcmVhdGVK
U09iamVjdChKU0RPTUJ1aWx0aW5Db25zdHJ1Y3RvcjxKU0NsYXNzPiYgY29uc3RydWN0b3IpCiB7
Ci0gICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCA9IGNvbnN0cnVjdG9yLnNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQoKTsKLSAgICBpZiAoIWNvbnRleHQpCi0gICAgICAgIHJldHVybiBu
dWxscHRyOwotICAgIGF1dG8mIGdsb2JhbE9iamVjdCA9ICpjb25zdHJ1Y3Rvci5nbG9iYWxPYmpl
Y3QoKTsKLSAgICByZXR1cm4gSlNDbGFzczo6Y3JlYXRlKGdldERPTVN0cnVjdHVyZTxKU0NsYXNz
PihnbG9iYWxPYmplY3Qudm0oKSwgZ2xvYmFsT2JqZWN0KSwgJmdsb2JhbE9iamVjdCwgSlNDbGFz
czo6RE9NV3JhcHBlZDo6Y3JlYXRlKCpjb250ZXh0KSk7CisgICAgYXV0byogY29udGV4dCA9IGNv
bnN0cnVjdG9yLnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKKyAgICByZXR1cm4gY29udGV4dCA/
ICZjcmVhdGVKU09iamVjdEZyb21XcmFwcGVyKGNvbnN0cnVjdG9yLCBKU0NsYXNzOjpET01XcmFw
cGVkOjpjcmVhdGUoKmNvbnRleHQpKSA6IG51bGxwdHI7CiB9CiAKIHRlbXBsYXRlPHR5cGVuYW1l
IEpTQ2xhc3M+IGlubGluZSBKU0M6OkVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgSlNET01C
dWlsdGluQ29uc3RydWN0b3I8SlNDbGFzcz46OmNvbnN0cnVjdChKU0M6OkV4ZWNTdGF0ZSogc3Rh
dGUpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggNTE2NmFhMjc3N2NkZmZlMjgzZGI1MDExZDEzYTVlNWQ3ZjAwYzBhZS4uODA4
NWIyODM2YTVlNmJjZWE1OWQwYjE0OGEyY2I5ZDFiNGMxNmYxNiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEz
IEBACisyMDE5LTA4LTA0ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAg
ICAgICBXZWJSVEM6IGdvdCBpbmNvcnJlY3QgYHRoaXNgIGluIG5lZ290aWF0aW9ubmVlZGVkIGV2
ZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDA0
MjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdl
YnJ0Yy9vbm5lZ290aWF0aW9ubmVlZGVkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
d2VicnRjL29ubmVnb3RpYXRpb25uZWVkZWQuaHRtbDogQWRkZWQuCisKIDIwMTktMDctMzEgIFlv
dWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFVzZXJNZWRpYVBlcm1p
c3Npb25SZXF1ZXN0TWFuYWdlclByb3h5IHNob3VsZCBub3QgdXNlIGF1ZGlvK3ZpZGVvIGRlbmll
ZCByZXF1ZXN0cyB0byBkZW55IGF1ZGlvLW9ubHkgb3IgdmlkZW8tb25seSByZXF1ZXN0cwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2VicnRjL29ubmVnb3RpYXRpb25uZWVkZWQtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvd2VicnRjL29ubmVnb3RpYXRpb25uZWVkZWQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmQ3NmMxN2UyY2IzN2MzYmRhNDRlYWQ1NzE0YjE4YWE2OTMyYTIzOTkKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJydGMvb25uZWdvdGlhdGlvbm5lZWRlZC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgTWFrZSBzdXJlIGV2ZW50IHRhcmdl
dCBpcyB0aGUgY29ubmVjdGlvbiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2VicnRjL29u
bmVnb3RpYXRpb25uZWVkZWQuaHRtbCBiL0xheW91dFRlc3RzL3dlYnJ0Yy9vbm5lZ290aWF0aW9u
bmVlZGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDkxZTFkYjNiOTIzY2E3YWUxM2MxOTEzZDRkZjFjMjgy
YzIwNDU3ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYnJ0Yy9vbm5lZ290aWF0
aW9ubmVlZGVkLmh0bWwKQEAgLTAsMCArMSwyNSBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgorICAgICAgICA8dGl0
bGU+VGVzdGluZyBvbm5lZ290aWF0aW9ubmVlZGVkPC90aXRsZT4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorICAg
IDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHNjcmlwdD4KK3Byb21pc2VfdGVzdCgoKSA9
PiB7CisgICAgbGV0IGRvbmU7CisgICAgY29uc3QgcHJvbWlzZSA9IG5ldyBQcm9taXNlKHJlc29s
dmUgPT4gZG9uZSA9IHJlc29sdmUpOworCisgICAgY29uc3QgcGMgPSBuZXcgUlRDUGVlckNvbm5l
Y3Rpb24oKTsKKyAgICBwYy5vbm5lZ290aWF0aW9ubmVlZGVkID0gZnVuY3Rpb24oZSkgeworICAg
ICAgICBhc3NlcnRfZXF1YWxzKHBjLCB0aGlzKTsKKyAgICAgICAgZG9uZSgpOworICAgIH0KKyAg
ICBwYy5jcmVhdGVEYXRhQ2hhbm5lbCgneCcpOworICAgIHJldHVybiBwcm9taXNlOworfSwgIk1h
a2Ugc3VyZSBldmVudCB0YXJnZXQgaXMgdGhlIGNvbm5lY3Rpb24iKTsKKyAgICAgICAgPC9zY3Jp
cHQ+CisgICAgPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>375513</attachid>
            <date>2019-08-04 18:44:40 -0700</date>
            <delta_ts>2019-08-04 23:54:13 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-200427-20190804184439.patch</filename>
            <type>text/plain</type>
            <size>5210</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3NjQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTgxYjQyMjIxNTdkY2Ji
ZGNkZjJjYmRhODMyNzg5OTJjODAyZTU3Ni4uMDhlNTJkOWNlNzg0ZjdhMTU4Zjg1NzM2Y2QzODlk
ZmE4MWQwMDRkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE5LTA4LTA0ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBXZWJSVEM6IGdvdCBpbmNv
cnJlY3QgYHRoaXNgIGluIG5lZ290aWF0aW9ubmVlZGVkIGV2ZW50CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDA0MjcKKworICAgICAgICBSZXZpZXdl
ZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBNYWtlIHN1cmUgYSBkb20gb2JqZWN0IGNyZWF0
ZWQgdGhyb3VnaCBhIEpTIGJ1aWx0LWluIGNvbnN0cnVjdG9yIGlzIGFkZGVkIHRvIHRoZSB3cmFw
cGVyIGNhY2hlLgorCisgICAgICAgIFRlc3Q6IHdlYnJ0Yy9vbm5lZ290aWF0aW9ubmVlZGVkLmh0
bWwKKworICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NQnVpbHRpbkNvbnN0cnVjdG9yLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpjcmVhdGVKU09iamVjdEZyb21XcmFwcGVyKToKKyAgICAgICAgKFdl
YkNvcmU6OmNyZWF0ZUpTT2JqZWN0KToKKwogMjAxOS0wOC0wNCAgWW91ZW5uIEZhYmxldCAgPHlv
dWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgU3VwcG9ydCBSVENSdHBTZW5kZXIuZHRtZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CdWlsdGluQ29uc3RydWN0
b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQnVpbHRpbkNvbnN0cnVjdG9y
LmgKaW5kZXggNmFiNWVjMGVmZTVmZjM0MGFjZDI2ZDllZjRkZTg3ZjgyN2U4MjhhOC4uNGNiNWJm
MGEwZGIzYzgzOTU0YjgyM2Q2Mzk5ZTZiMzQzOTgwYmRjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNET01CdWlsdGluQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJ1aWx0aW5Db25zdHJ1Y3Rvci5oCkBAIC05MSwyOCAr
OTEsMjQgQEAgdGVtcGxhdGU8dHlwZW5hbWUgSlNDbGFzcz4gaW5saW5lIEpTQzo6RW5jb2RlZEpT
VmFsdWUgSlNET01CdWlsdGluQ29uc3RydWN0b3I8SlMKICAgICByZXR1cm4gY2FsbENvbnN0cnVj
dG9yKHN0YXRlLCAqb2JqZWN0KTsKIH0KIAotdGVtcGxhdGU8dHlwZW5hbWUgSlNDbGFzcz4gaW5s
aW5lCit0ZW1wbGF0ZTx0eXBlbmFtZSBKU0NsYXNzPgogdHlwZW5hbWUgc3RkOjplbmFibGVfaWY8
SlNET01PYmplY3RJbnNwZWN0b3I8SlNDbGFzcz46OmlzU2ltcGxlV3JhcHBlciwgSlNDOjpKU09i
amVjdCY+Ojp0eXBlIGNyZWF0ZUpTT2JqZWN0KEpTRE9NQnVpbHRpbkNvbnN0cnVjdG9yPEpTQ2xh
c3M+JiBjb25zdHJ1Y3RvcikKIHsKLSAgICBhdXRvJiBnbG9iYWxPYmplY3QgPSAqY29uc3RydWN0
b3IuZ2xvYmFsT2JqZWN0KCk7Ci0gICAgcmV0dXJuICpKU0NsYXNzOjpjcmVhdGUoZ2V0RE9NU3Ry
dWN0dXJlPEpTQ2xhc3M+KGdsb2JhbE9iamVjdC52bSgpLCBnbG9iYWxPYmplY3QpLCAmZ2xvYmFs
T2JqZWN0LCBKU0NsYXNzOjpET01XcmFwcGVkOjpjcmVhdGUoKSk7CisgICAgcmV0dXJuICpjcmVh
dGVXcmFwcGVyPHR5cGVuYW1lIEpTQ2xhc3M6OkRPTVdyYXBwZWQ+KGNvbnN0cnVjdG9yLmdsb2Jh
bE9iamVjdCgpLCBKU0NsYXNzOjpET01XcmFwcGVkOjpjcmVhdGUoKSk7CiB9CiAKLXRlbXBsYXRl
PHR5cGVuYW1lIEpTQ2xhc3M+IGlubGluZQordGVtcGxhdGU8dHlwZW5hbWUgSlNDbGFzcz4KIHR5
cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmPEpTRE9NT2JqZWN0SW5zcGVjdG9yPEpTQ2xhc3M+Ojppc0J1
aWx0aW4sIEpTQzo6SlNPYmplY3QmPjo6dHlwZSBjcmVhdGVKU09iamVjdChKU0RPTUJ1aWx0aW5D
b25zdHJ1Y3RvcjxKU0NsYXNzPiYgY29uc3RydWN0b3IpCiB7CiAgICAgYXV0byYgZ2xvYmFsT2Jq
ZWN0ID0gKmNvbnN0cnVjdG9yLmdsb2JhbE9iamVjdCgpOwogICAgIHJldHVybiAqSlNDbGFzczo6
Y3JlYXRlKGdldERPTVN0cnVjdHVyZTxKU0NsYXNzPihnbG9iYWxPYmplY3Qudm0oKSwgZ2xvYmFs
T2JqZWN0KSwgJmdsb2JhbE9iamVjdCk7CiB9CiAKLXRlbXBsYXRlPHR5cGVuYW1lIEpTQ2xhc3M+
IGlubGluZQordGVtcGxhdGU8dHlwZW5hbWUgSlNDbGFzcz4KIHR5cGVuYW1lIHN0ZDo6ZW5hYmxl
X2lmPEpTRE9NT2JqZWN0SW5zcGVjdG9yPEpTQ2xhc3M+Ojppc0NvbXBsZXhXcmFwcGVyLCBKU0M6
OkpTT2JqZWN0Kj46OnR5cGUgY3JlYXRlSlNPYmplY3QoSlNET01CdWlsdGluQ29uc3RydWN0b3I8
SlNDbGFzcz4mIGNvbnN0cnVjdG9yKQogewotICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNv
bnRleHQgPSBjb25zdHJ1Y3Rvci5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7Ci0gICAgaWYgKCFj
b250ZXh0KQotICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICBhdXRvJiBnbG9iYWxPYmplY3Qg
PSAqY29uc3RydWN0b3IuZ2xvYmFsT2JqZWN0KCk7Ci0gICAgcmV0dXJuIEpTQ2xhc3M6OmNyZWF0
ZShnZXRET01TdHJ1Y3R1cmU8SlNDbGFzcz4oZ2xvYmFsT2JqZWN0LnZtKCksIGdsb2JhbE9iamVj
dCksICZnbG9iYWxPYmplY3QsIEpTQ2xhc3M6OkRPTVdyYXBwZWQ6OmNyZWF0ZSgqY29udGV4dCkp
OworICAgIGF1dG8qIGNvbnRleHQgPSBjb25zdHJ1Y3Rvci5zY3JpcHRFeGVjdXRpb25Db250ZXh0
KCk7CisgICAgcmV0dXJuIGNvbnRleHQgPyBjcmVhdGVXcmFwcGVyPHR5cGVuYW1lIEpTQ2xhc3M6
OkRPTVdyYXBwZWQ+KGNvbnN0cnVjdG9yLmdsb2JhbE9iamVjdCgpLCBKU0NsYXNzOjpET01XcmFw
cGVkOjpjcmVhdGUoKmNvbnRleHQpKSA6IG51bGxwdHI7CiB9CiAKIHRlbXBsYXRlPHR5cGVuYW1l
IEpTQ2xhc3M+IGlubGluZSBKU0M6OkVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgSlNET01C
dWlsdGluQ29uc3RydWN0b3I8SlNDbGFzcz46OmNvbnN0cnVjdChKU0M6OkV4ZWNTdGF0ZSogc3Rh
dGUpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggNTE2NmFhMjc3N2NkZmZlMjgzZGI1MDExZDEzYTVlNWQ3ZjAwYzBhZS4uZDVl
MjBiODdiMmE5ZDQwMmQ0MTczMDk1MGJhYzk2YTEwYjQwNzA1MCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEz
IEBACisyMDE5LTA4LTA0ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAg
ICAgICBXZWJSVEM6IGdvdCBpbmNvcnJlY3QgYHRoaXNgIGluIG5lZ290aWF0aW9ubmVlZGVkIGV2
ZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDA0
MjcKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICAqIHdlYnJ0
Yy9vbm5lZ290aWF0aW9ubmVlZGVkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2Vi
cnRjL29ubmVnb3RpYXRpb25uZWVkZWQuaHRtbDogQWRkZWQuCisKIDIwMTktMDctMzEgIFlvdWVu
biBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFVzZXJNZWRpYVBlcm1pc3Np
b25SZXF1ZXN0TWFuYWdlclByb3h5IHNob3VsZCBub3QgdXNlIGF1ZGlvK3ZpZGVvIGRlbmllZCBy
ZXF1ZXN0cyB0byBkZW55IGF1ZGlvLW9ubHkgb3IgdmlkZW8tb25seSByZXF1ZXN0cwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvd2VicnRjL29ubmVnb3RpYXRpb25uZWVkZWQtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvd2VicnRjL29ubmVnb3RpYXRpb25uZWVkZWQtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmQ3NmMxN2UyY2IzN2MzYmRhNDRlYWQ1NzE0YjE4YWE2OTMyYTIzOTkKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJydGMvb25uZWdvdGlhdGlvbm5lZWRlZC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgTWFrZSBzdXJlIGV2ZW50IHRhcmdldCBp
cyB0aGUgY29ubmVjdGlvbiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2VicnRjL29ubmVn
b3RpYXRpb25uZWVkZWQuaHRtbCBiL0xheW91dFRlc3RzL3dlYnJ0Yy9vbm5lZ290aWF0aW9ubmVl
ZGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMDkxZTFkYjNiOTIzY2E3YWUxM2MxOTEzZDRkZjFjMjgyYzIw
NDU3ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYnJ0Yy9vbm5lZ290aWF0aW9u
bmVlZGVkLmh0bWwKQEAgLTAsMCArMSwyNSBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgorICAgICAgICA8dGl0bGU+
VGVzdGluZyBvbm5lZ290aWF0aW9ubmVlZGVkPC90aXRsZT4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorICAgIDwv
aGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHNjcmlwdD4KK3Byb21pc2VfdGVzdCgoKSA9PiB7
CisgICAgbGV0IGRvbmU7CisgICAgY29uc3QgcHJvbWlzZSA9IG5ldyBQcm9taXNlKHJlc29sdmUg
PT4gZG9uZSA9IHJlc29sdmUpOworCisgICAgY29uc3QgcGMgPSBuZXcgUlRDUGVlckNvbm5lY3Rp
b24oKTsKKyAgICBwYy5vbm5lZ290aWF0aW9ubmVlZGVkID0gZnVuY3Rpb24oZSkgeworICAgICAg
ICBhc3NlcnRfZXF1YWxzKHBjLCB0aGlzKTsKKyAgICAgICAgZG9uZSgpOworICAgIH0KKyAgICBw
Yy5jcmVhdGVEYXRhQ2hhbm5lbCgneCcpOworICAgIHJldHVybiBwcm9taXNlOworfSwgIk1ha2Ug
c3VyZSBldmVudCB0YXJnZXQgaXMgdGhlIGNvbm5lY3Rpb24iKTsKKyAgICAgICAgPC9zY3JpcHQ+
CisgICAgPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>