<?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>209950</bug_id>
          
          <creation_ts>2020-04-02 20:14:24 -0700</creation_ts>
          <short_desc>WebCore::HTMLMediaElement::mediaCanStart crashes</short_desc>
          <delta_ts>2020-04-03 00:21:10 -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>Media</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="Peng Liu">peng.liu6</reporter>
          <assigned_to name="Peng Liu">peng.liu6</assigned_to>
          <cc>cdumez</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>hta</cc>
    
    <cc>jer.noble</cc>
    
    <cc>kangil.han</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>tommyw</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1637214</commentid>
    <comment_count>0</comment_count>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-04-02 20:14:24 -0700</bug_when>
    <thetext>WebCore::HTMLMediaElement::mediaCanStart crashes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1637215</commentid>
    <comment_count>1</comment_count>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-04-02 20:22:34 -0700</bug_when>
    <thetext>&lt;rdar://problem/49677331&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1637227</commentid>
    <comment_count>2</comment_count>
      <attachid>395343</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-04-02 21:10:29 -0700</bug_when>
    <thetext>Created attachment 395343
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1637231</commentid>
    <comment_count>3</comment_count>
      <attachid>395343</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2020-04-02 21:25:21 -0700</bug_when>
    <thetext>Comment on attachment 395343
Patch

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

r=me, with nits.

&gt; Source/WebCore/dom/Document.cpp:6426
&gt;  void Document::addMediaCanStartListener(MediaCanStartListener&amp; listener)
&gt;  {
&gt; -    ASSERT(!m_mediaCanStartListeners.contains(&amp;listener));
&gt; -    m_mediaCanStartListeners.add(&amp;listener);
&gt; +    ASSERT(!m_mediaCanStartListeners.contains(listener));
&gt; +    m_mediaCanStartListeners.add(listener);

The way I&apos;d do this would be:

void Document::addMediaCanStartListener(WeakPtr&lt;MediaCanStartListener&gt;&amp;&amp; listener)
{
    ASSERT(!m_mediaCanStartListeners.contains(listener));
    m_mediaCanStartListeners.add(WTFMove(listener));
}

This way, MediaCanStartListener doesn&apos;t need to directly inherit from CanMakeWeakPtr.

&gt; Source/WebCore/dom/Document.cpp:6437
&gt; +    if (!m_mediaCanStartListeners.computeSize())

I think this could be: `if (m_mediaCanStartListeners.computeEmpty())`.

&gt; Source/WebKit/WebProcess/MediaStream/UserMediaPermissionRequestManager.h:37
&gt; -class UserMediaPermissionRequestManager : public CanMakeWeakPtr&lt;UserMediaPermissionRequestManager&gt;, private WebCore::MediaCanStartListener {
&gt; +class UserMediaPermissionRequestManager : private WebCore::MediaCanStartListener {

Then this could get reverted. 

It would mean all the call sites to addMediaCanStartListener() would have to change, though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1637234</commentid>
    <comment_count>4</comment_count>
      <attachid>395343</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-04-02 21:54:25 -0700</bug_when>
    <thetext>Comment on attachment 395343
Patch

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

&gt;&gt; Source/WebCore/dom/Document.cpp:6426
&gt;&gt; +    m_mediaCanStartListeners.add(listener);
&gt; 
&gt; The way I&apos;d do this would be:
&gt; 
&gt; void Document::addMediaCanStartListener(WeakPtr&lt;MediaCanStartListener&gt;&amp;&amp; listener)
&gt; {
&gt;     ASSERT(!m_mediaCanStartListeners.contains(listener));
&gt;     m_mediaCanStartListeners.add(WTFMove(listener));
&gt; }
&gt; 
&gt; This way, MediaCanStartListener doesn&apos;t need to directly inherit from CanMakeWeakPtr.

That&apos;s a good idea! Unfortunately it requires us to add WeakHashSet::add(WeakPtr&lt;U&gt;&amp;&amp; value) to the current implementation.

&gt;&gt; Source/WebCore/dom/Document.cpp:6437
&gt;&gt; +    if (!m_mediaCanStartListeners.computeSize())
&gt; 
&gt; I think this could be: `if (m_mediaCanStartListeners.computeEmpty())`.

Yes, that will work. I chose to use computeSize() because it will clean up nullptrs.

&gt;&gt; Source/WebKit/WebProcess/MediaStream/UserMediaPermissionRequestManager.h:37
&gt;&gt; +class UserMediaPermissionRequestManager : private WebCore::MediaCanStartListener {
&gt; 
&gt; Then this could get reverted. 
&gt; 
&gt; It would mean all the call sites to addMediaCanStartListener() would have to change, though.

Maybe we can do it later after extending WeakHashSet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1637241</commentid>
    <comment_count>5</comment_count>
      <attachid>395349</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-04-02 22:29:36 -0700</bug_when>
    <thetext>Created attachment 395349
Patch for landing (replace computeSize() with computesEmpty())</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1637258</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-04-03 00:21:09 -0700</bug_when>
    <thetext>Committed r259447: &lt;https://trac.webkit.org/changeset/259447&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 395349.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>395343</attachid>
            <date>2020-04-02 21:10:29 -0700</date>
            <delta_ts>2020-04-02 22:32:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209950-20200402211028.patch</filename>
            <type>text/plain</type>
            <size>5105</size>
            <attacher name="Peng Liu">peng.liu6</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU5NDE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjYyNjFkYzkxMzRhMGM3
OWFmZjFjMWE3NzMwZDU5NWY2YTg3MTUzYS4uZTE1N2EwMjgzZmRmNzc5MDNkMzU4MDUyNmM2ZmY5
OWZjMTE0NzYwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIwLTA0LTAyICBQZW5n
IExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViQ29yZTo6SFRNTE1lZGlh
RWxlbWVudDo6bWVkaWFDYW5TdGFydCBjcmFzaGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDk5NTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBVc2UgV2Vha0hhc2hTZXQgaW5zdGVhZCBvZiBIYXNoU2V0
IHRvIHJlY29yZCBNZWRpYUNhblN0YXJ0TGlzdGVuZXJzIGluIERvY3VtZW50LgorCisgICAgICAg
ICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjphZGRNZWRp
YUNhblN0YXJ0TGlzdGVuZXIpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnJlbW92ZU1l
ZGlhQ2FuU3RhcnRMaXN0ZW5lcik6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6dGFrZUFu
eU1lZGlhQ2FuU3RhcnRMaXN0ZW5lcik6CisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAg
ICAgICogcGFnZS9NZWRpYUNhblN0YXJ0TGlzdGVuZXIuaDoKKwogMjAyMC0wNC0wMiAgRGFuaWVs
IEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CiAKICAgICAgICAgVHJhdmVyc2UgZmxvYXQgZGVz
Y2VuZGFudHMgd2hlbiBjb21wdXRpbmcgZXZlbnQgYW5kIHRvdWNoLWFjdGlvbiByZWdpb25zCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCmluZGV4IDUzOTllZTI0ZjMzODM5ZWIxN2ExMDk3Yjg1MzNjMDA2NWJkYTljMzkuLmE5ZjM0
MjE0NTU3NTFiNDExNDk1YjI2MTFlYzEyNTQwOGY4M2QxNWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTYgQEAKKzIwMjAtMDQtMDIgIFBlbmcgTGl1ICA8cGVuZy5saXU2QGFwcGxlLmNvbT4KKworICAg
ICAgICBXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjptZWRpYUNhblN0YXJ0IGNyYXNoZXMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwOTk1MAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVzZXJNZWRpYVBl
cm1pc3Npb25SZXF1ZXN0TWFuYWdlciBkb2VzIG5vdCBuZWVkIHRvIGluaGVyaXQgZnJvbQorICAg
ICAgICBDYW5NYWtlV2Vha1B0cjxVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXI+IGJl
Y2F1c2UgaXRzCisgICAgICAgIHBhcmVudCBjbGFzcyBNZWRpYUNhblN0YXJ0TGlzdGVuZXIgc3Vw
cG9ydHMgV2Vha1B0ciBub3cuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL01lZGlhU3RyZWFtL1Vz
ZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5oOgorCiAyMDIwLTA0LTAyICBDaHJpcyBE
dW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gUmVwbGFjZSBVSUtpdCBi
YWNrZ3JvdW5kIHRhc2sgd2l0aCBhIFJ1bm5pbmdCb2FyZCBGaW5pc2hUYXNrSW50ZXJydXB0YWJs
ZSBhc3NlcnRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDVmODgyNTJjNjhmOWI2MDY3
M2IyYmVlZGQ3NjY0YmNkNzE2MzNmYmMuLjAzNGEwMDRiN2RmNTA5NDM3YWYyOTFmYThkYTVhYWMx
NjViMTI2MDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtNjQyMiwxOSArNjQyMiwyNSBA
QCB2b2lkIERvY3VtZW50OjpkaXNwYXRjaFBvcHN0YXRlRXZlbnQoUmVmUHRyPFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZT4mJiBzdGF0ZU9iamVjdAogCiB2b2lkIERvY3VtZW50OjphZGRNZWRpYUNhblN0
YXJ0TGlzdGVuZXIoTWVkaWFDYW5TdGFydExpc3RlbmVyJiBsaXN0ZW5lcikKIHsKLSAgICBBU1NF
UlQoIW1fbWVkaWFDYW5TdGFydExpc3RlbmVycy5jb250YWlucygmbGlzdGVuZXIpKTsKLSAgICBt
X21lZGlhQ2FuU3RhcnRMaXN0ZW5lcnMuYWRkKCZsaXN0ZW5lcik7CisgICAgQVNTRVJUKCFtX21l
ZGlhQ2FuU3RhcnRMaXN0ZW5lcnMuY29udGFpbnMobGlzdGVuZXIpKTsKKyAgICBtX21lZGlhQ2Fu
U3RhcnRMaXN0ZW5lcnMuYWRkKGxpc3RlbmVyKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6cmVtb3Zl
TWVkaWFDYW5TdGFydExpc3RlbmVyKE1lZGlhQ2FuU3RhcnRMaXN0ZW5lciYgbGlzdGVuZXIpCiB7
Ci0gICAgQVNTRVJUKG1fbWVkaWFDYW5TdGFydExpc3RlbmVycy5jb250YWlucygmbGlzdGVuZXIp
KTsKLSAgICBtX21lZGlhQ2FuU3RhcnRMaXN0ZW5lcnMucmVtb3ZlKCZsaXN0ZW5lcik7CisgICAg
QVNTRVJUKG1fbWVkaWFDYW5TdGFydExpc3RlbmVycy5jb250YWlucyhsaXN0ZW5lcikpOworICAg
IG1fbWVkaWFDYW5TdGFydExpc3RlbmVycy5yZW1vdmUobGlzdGVuZXIpOwogfQogCiBNZWRpYUNh
blN0YXJ0TGlzdGVuZXIqIERvY3VtZW50Ojp0YWtlQW55TWVkaWFDYW5TdGFydExpc3RlbmVyKCkK
IHsKLSAgICByZXR1cm4gbV9tZWRpYUNhblN0YXJ0TGlzdGVuZXJzLnRha2VBbnkoKTsKKyAgICBp
ZiAoIW1fbWVkaWFDYW5TdGFydExpc3RlbmVycy5jb21wdXRlU2l6ZSgpKQorICAgICAgICByZXR1
cm4gbnVsbHB0cjsKKworICAgIE1lZGlhQ2FuU3RhcnRMaXN0ZW5lciogbGlzdGVuZXIgPSBtX21l
ZGlhQ2FuU3RhcnRMaXN0ZW5lcnMuYmVnaW4oKS5nZXQoKTsKKyAgICBtX21lZGlhQ2FuU3RhcnRM
aXN0ZW5lcnMucmVtb3ZlKCpsaXN0ZW5lcik7CisKKyAgICByZXR1cm4gbGlzdGVuZXI7CiB9CiAK
ICNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKSAmJiBQTEFURk9STShJT1NfRkFNSUxZKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuaAppbmRleCA0ZjZlMDg5NmE5NmJiMTNjNDJjMjc1ODk4NTZmMGU3ZDYy
ZTM1NjczLi44MzlhZmNkNThiYWEzMWE3MmU5ZmE1ZjFlNjU3OTI2M2Y4N2YyYmMxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuaApAQCAtMTgyNSw3ICsxODI1LDcgQEAgcHJpdmF0ZToKIAogICAgIFJlbmRl
clB0cjxSZW5kZXJWaWV3PiBtX3JlbmRlclZpZXc7CiAKLSAgICBIYXNoU2V0PE1lZGlhQ2FuU3Rh
cnRMaXN0ZW5lcio+IG1fbWVkaWFDYW5TdGFydExpc3RlbmVyczsKKyAgICBXZWFrSGFzaFNldDxN
ZWRpYUNhblN0YXJ0TGlzdGVuZXI+IG1fbWVkaWFDYW5TdGFydExpc3RlbmVyczsKIAogI2lmIEVO
QUJMRShGVUxMU0NSRUVOX0FQSSkKICAgICBVbmlxdWVSZWY8RnVsbHNjcmVlbk1hbmFnZXI+IG1f
ZnVsbHNjcmVlbk1hbmFnZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lZGlh
Q2FuU3RhcnRMaXN0ZW5lci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9NZWRpYUNhblN0YXJ0TGlz
dGVuZXIuaAppbmRleCA5NzVhM2FkNDVjNGFhNzRlZTcxZDJlZTdjY2UzM2UwMjgyNGExNDU5Li41
YTZjOWIyNTc0MjVlYjgwYWYwNmMyOTE5OWE2NTk0ZjgwNzI0Mjk2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL01lZGlhQ2FuU3RhcnRMaXN0ZW5lci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvTWVkaWFDYW5TdGFydExpc3RlbmVyLmgKQEAgLTI1LDExICsyNSwxMyBAQAogCiAj
cHJhZ21hIG9uY2UKIAorI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CisKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgRG9jdW1lbnQ7CiAKLWNsYXNzIE1lZGlhQ2FuU3RhcnRMaXN0ZW5lciB7
CitjbGFzcyBNZWRpYUNhblN0YXJ0TGlzdGVuZXIgOiBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8TWVk
aWFDYW5TdGFydExpc3RlbmVyPiB7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIG1lZGlhQ2Fu
U3RhcnQoRG9jdW1lbnQmKSA9IDA7CiBwcm90ZWN0ZWQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvTWVkaWFTdHJlYW0vVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5h
Z2VyLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTWVkaWFTdHJlYW0vVXNlck1lZGlhUGVy
bWlzc2lvblJlcXVlc3RNYW5hZ2VyLmgKaW5kZXggM2NlNDE5MWQxODgwOGNiZmUyMDdmNWU0MTI5
ZTA0ZWZlNWQ1NThlNS4uMDQ3YWZhMjFjZmNlZTNkMDA5YmRlMzYxNzc2YzgyMTkzMGE0ZGRjYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01lZGlhU3RyZWFtL1VzZXJNZWRp
YVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9NZWRpYVN0cmVhbS9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuaApAQCAtMzQs
NyArMzQsNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgV2ViUGFnZTsKIAotY2xhc3Mg
VXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyIDogcHVibGljIENhbk1ha2VXZWFrUHRy
PFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcj4sIHByaXZhdGUgV2ViQ29yZTo6TWVk
aWFDYW5TdGFydExpc3RlbmVyIHsKK2NsYXNzIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFu
YWdlciA6IHByaXZhdGUgV2ViQ29yZTo6TWVkaWFDYW5TdGFydExpc3RlbmVyIHsKICAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBVc2VyTWVkaWFQZXJt
aXNzaW9uUmVxdWVzdE1hbmFnZXIoV2ViUGFnZSYpOwo=
</data>
<flag name="review"
          id="410747"
          type_id="1"
          status="+"
          setter="jer.noble"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>395349</attachid>
            <date>2020-04-02 22:29:36 -0700</date>
            <delta_ts>2020-04-03 00:21:10 -0700</delta_ts>
            <desc>Patch for landing (replace computeSize() with computesEmpty())</desc>
            <filename>bug-209950-20200402222935.patch</filename>
            <type>text/plain</type>
            <size>5096</size>
            <attacher name="Peng Liu">peng.liu6</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU5NDE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjYyNjFkYzkxMzRhMGM3
OWFmZjFjMWE3NzMwZDU5NWY2YTg3MTUzYS4uMWMyNjcxNjlmN2M5YTRmNTQ5MzE2ZWJlY2I2MWUz
ZDg4NzZmYjM0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIwLTA0LTAyICBQZW5n
IExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViQ29yZTo6SFRNTE1lZGlh
RWxlbWVudDo6bWVkaWFDYW5TdGFydCBjcmFzaGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDk5NTAKKworICAgICAgICBSZXZpZXdlZCBieSBKZXIg
Tm9ibGUuCisKKyAgICAgICAgVXNlIFdlYWtIYXNoU2V0IGluc3RlYWQgb2YgSGFzaFNldCB0byBy
ZWNvcmQgTWVkaWFDYW5TdGFydExpc3RlbmVycyBpbiBEb2N1bWVudC4KKworICAgICAgICAqIGRv
bS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6YWRkTWVkaWFDYW5T
dGFydExpc3RlbmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpyZW1vdmVNZWRpYUNh
blN0YXJ0TGlzdGVuZXIpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnRha2VBbnlNZWRp
YUNhblN0YXJ0TGlzdGVuZXIpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAq
IHBhZ2UvTWVkaWFDYW5TdGFydExpc3RlbmVyLmg6CisKIDIwMjAtMDQtMDIgIERhbmllbCBCYXRl
cyAgPGRhYmF0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFRyYXZlcnNlIGZsb2F0IGRlc2NlbmRh
bnRzIHdoZW4gY29tcHV0aW5nIGV2ZW50IGFuZCB0b3VjaC1hY3Rpb24gcmVnaW9ucwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpp
bmRleCA1Mzk5ZWUyNGYzMzgzOWViMTdhMTA5N2I4NTMzYzAwNjViZGE5YzM5Li5lNTE3NjlmYTY0
NTk5YjUzNTY2Yzg4NWEyNzRlZjQ4OWYzNzNjMWI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBA
CisyMDIwLTA0LTAyICBQZW5nIExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAg
V2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6bWVkaWFDYW5TdGFydCBjcmFzaGVzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDk5NTAKKworICAgICAg
ICBSZXZpZXdlZCBieSBKZXIgTm9ibGUuCisKKyAgICAgICAgVXNlck1lZGlhUGVybWlzc2lvblJl
cXVlc3RNYW5hZ2VyIGRvZXMgbm90IG5lZWQgdG8gaW5oZXJpdCBmcm9tCisgICAgICAgIENhbk1h
a2VXZWFrUHRyPFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcj4gYmVjYXVzZSBpdHMK
KyAgICAgICAgcGFyZW50IGNsYXNzIE1lZGlhQ2FuU3RhcnRMaXN0ZW5lciBzdXBwb3J0cyBXZWFr
UHRyIG5vdy4KKworICAgICAgICAqIFdlYlByb2Nlc3MvTWVkaWFTdHJlYW0vVXNlck1lZGlhUGVy
bWlzc2lvblJlcXVlc3RNYW5hZ2VyLmg6CisKIDIwMjAtMDQtMDIgIENocmlzIER1bWV6ICA8Y2R1
bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBSZXBsYWNlIFVJS2l0IGJhY2tncm91bmQg
dGFzayB3aXRoIGEgUnVubmluZ0JvYXJkIEZpbmlzaFRhc2tJbnRlcnJ1cHRhYmxlIGFzc2VydGlv
bgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggNWY4ODI1MmM2OGY5YjYwNjczYjJiZWVkZDc2
NjRiY2Q3MTYzM2ZiYy4uM2VmOTQ1OTAwYmE4ZjI0ZTAyZjVlY2YyMGRlY2ZjNzA4YmZkODJhMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC02NDIyLDE5ICs2NDIyLDI1IEBAIHZvaWQgRG9j
dW1lbnQ6OmRpc3BhdGNoUG9wc3RhdGVFdmVudChSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVl
PiYmIHN0YXRlT2JqZWN0CiAKIHZvaWQgRG9jdW1lbnQ6OmFkZE1lZGlhQ2FuU3RhcnRMaXN0ZW5l
cihNZWRpYUNhblN0YXJ0TGlzdGVuZXImIGxpc3RlbmVyKQogewotICAgIEFTU0VSVCghbV9tZWRp
YUNhblN0YXJ0TGlzdGVuZXJzLmNvbnRhaW5zKCZsaXN0ZW5lcikpOwotICAgIG1fbWVkaWFDYW5T
dGFydExpc3RlbmVycy5hZGQoJmxpc3RlbmVyKTsKKyAgICBBU1NFUlQoIW1fbWVkaWFDYW5TdGFy
dExpc3RlbmVycy5jb250YWlucyhsaXN0ZW5lcikpOworICAgIG1fbWVkaWFDYW5TdGFydExpc3Rl
bmVycy5hZGQobGlzdGVuZXIpOwogfQogCiB2b2lkIERvY3VtZW50OjpyZW1vdmVNZWRpYUNhblN0
YXJ0TGlzdGVuZXIoTWVkaWFDYW5TdGFydExpc3RlbmVyJiBsaXN0ZW5lcikKIHsKLSAgICBBU1NF
UlQobV9tZWRpYUNhblN0YXJ0TGlzdGVuZXJzLmNvbnRhaW5zKCZsaXN0ZW5lcikpOwotICAgIG1f
bWVkaWFDYW5TdGFydExpc3RlbmVycy5yZW1vdmUoJmxpc3RlbmVyKTsKKyAgICBBU1NFUlQobV9t
ZWRpYUNhblN0YXJ0TGlzdGVuZXJzLmNvbnRhaW5zKGxpc3RlbmVyKSk7CisgICAgbV9tZWRpYUNh
blN0YXJ0TGlzdGVuZXJzLnJlbW92ZShsaXN0ZW5lcik7CiB9CiAKIE1lZGlhQ2FuU3RhcnRMaXN0
ZW5lciogRG9jdW1lbnQ6OnRha2VBbnlNZWRpYUNhblN0YXJ0TGlzdGVuZXIoKQogewotICAgIHJl
dHVybiBtX21lZGlhQ2FuU3RhcnRMaXN0ZW5lcnMudGFrZUFueSgpOworICAgIGlmIChtX21lZGlh
Q2FuU3RhcnRMaXN0ZW5lcnMuY29tcHV0ZXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gbnVsbHB0
cjsKKworICAgIE1lZGlhQ2FuU3RhcnRMaXN0ZW5lciogbGlzdGVuZXIgPSBtX21lZGlhQ2FuU3Rh
cnRMaXN0ZW5lcnMuYmVnaW4oKS5nZXQoKTsKKyAgICBtX21lZGlhQ2FuU3RhcnRMaXN0ZW5lcnMu
cmVtb3ZlKCpsaXN0ZW5lcik7CisKKyAgICByZXR1cm4gbGlzdGVuZXI7CiB9CiAKICNpZiBFTkFC
TEUoREVWSUNFX09SSUVOVEFUSU9OKSAmJiBQTEFURk9STShJT1NfRkFNSUxZKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuaAppbmRleCA0ZjZlMDg5NmE5NmJiMTNjNDJjMjc1ODk4NTZmMGU3ZDYyZTM1NjczLi44
MzlhZmNkNThiYWEzMWE3MmU5ZmE1ZjFlNjU3OTI2M2Y4N2YyYmMxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuaApAQCAtMTgyNSw3ICsxODI1LDcgQEAgcHJpdmF0ZToKIAogICAgIFJlbmRlclB0cjxSZW5k
ZXJWaWV3PiBtX3JlbmRlclZpZXc7CiAKLSAgICBIYXNoU2V0PE1lZGlhQ2FuU3RhcnRMaXN0ZW5l
cio+IG1fbWVkaWFDYW5TdGFydExpc3RlbmVyczsKKyAgICBXZWFrSGFzaFNldDxNZWRpYUNhblN0
YXJ0TGlzdGVuZXI+IG1fbWVkaWFDYW5TdGFydExpc3RlbmVyczsKIAogI2lmIEVOQUJMRShGVUxM
U0NSRUVOX0FQSSkKICAgICBVbmlxdWVSZWY8RnVsbHNjcmVlbk1hbmFnZXI+IG1fZnVsbHNjcmVl
bk1hbmFnZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhQ2FuU3RhcnRM
aXN0ZW5lci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9NZWRpYUNhblN0YXJ0TGlzdGVuZXIuaApp
bmRleCA5NzVhM2FkNDVjNGFhNzRlZTcxZDJlZTdjY2UzM2UwMjgyNGExNDU5Li41YTZjOWIyNTc0
MjVlYjgwYWYwNmMyOTE5OWE2NTk0ZjgwNzI0Mjk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL01lZGlhQ2FuU3RhcnRMaXN0ZW5lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
TWVkaWFDYW5TdGFydExpc3RlbmVyLmgKQEAgLTI1LDExICsyNSwxMyBAQAogCiAjcHJhZ21hIG9u
Y2UKIAorI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Y2xhc3MgRG9jdW1lbnQ7CiAKLWNsYXNzIE1lZGlhQ2FuU3RhcnRMaXN0ZW5lciB7CitjbGFzcyBN
ZWRpYUNhblN0YXJ0TGlzdGVuZXIgOiBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8TWVkaWFDYW5TdGFy
dExpc3RlbmVyPiB7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIG1lZGlhQ2FuU3RhcnQoRG9j
dW1lbnQmKSA9IDA7CiBwcm90ZWN0ZWQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvTWVkaWFTdHJlYW0vVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmggYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTWVkaWFTdHJlYW0vVXNlck1lZGlhUGVybWlzc2lvblJl
cXVlc3RNYW5hZ2VyLmgKaW5kZXggM2NlNDE5MWQxODgwOGNiZmUyMDdmNWU0MTI5ZTA0ZWZlNWQ1
NThlNS4uMDQ3YWZhMjFjZmNlZTNkMDA5YmRlMzYxNzc2YzgyMTkzMGE0ZGRjYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01lZGlhU3RyZWFtL1VzZXJNZWRpYVBlcm1pc3Np
b25SZXF1ZXN0TWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9NZWRpYVN0
cmVhbS9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuaApAQCAtMzQsNyArMzQsNyBA
QCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgV2ViUGFnZTsKIAotY2xhc3MgVXNlck1lZGlh
UGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyIDogcHVibGljIENhbk1ha2VXZWFrUHRyPFVzZXJNZWRp
YVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcj4sIHByaXZhdGUgV2ViQ29yZTo6TWVkaWFDYW5TdGFy
dExpc3RlbmVyIHsKK2NsYXNzIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlciA6IHBy
aXZhdGUgV2ViQ29yZTo6TWVkaWFDYW5TdGFydExpc3RlbmVyIHsKICAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBVc2VyTWVkaWFQZXJtaXNzaW9uUmVx
dWVzdE1hbmFnZXIoV2ViUGFnZSYpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>