<?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>206929</bug_id>
          
          <creation_ts>2020-01-29 07:15:36 -0800</creation_ts>
          <short_desc>Make sure MediaRecorder.requestData returns data with the new writer backend</short_desc>
          <delta_ts>2020-06-16 10:02: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>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="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>darin</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>majo</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1612430</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-01-29 07:15:36 -0800</bug_when>
    <thetext>Make sure MediaRecorder.requestData returns data with the new writer backend</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612431</commentid>
    <comment_count>1</comment_count>
      <attachid>389134</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-01-29 07:20:22 -0800</bug_when>
    <thetext>Created attachment 389134
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662585</commentid>
    <comment_count>2</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-06-15 02:02:37 -0700</bug_when>
    <thetext>*** Bug 212275 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662586</commentid>
    <comment_count>3</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-06-15 02:03:01 -0700</bug_when>
    <thetext>&lt;rdar://problem/63601261&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662597</commentid>
    <comment_count>4</comment_count>
      <attachid>401889</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-06-15 02:29:00 -0700</bug_when>
    <thetext>Created attachment 401889
Adding deprecation macros</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662660</commentid>
    <comment_count>5</comment_count>
      <attachid>401889</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-06-15 08:38:19 -0700</bug_when>
    <thetext>Comment on attachment 401889
Adding deprecation macros

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

&gt; Source/WebCore/platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm:489
&gt; +            ALLOW_DEPRECATED_DECLARATIONS_BEGIN
&gt; +            [m_writer flush];
&gt; +            ALLOW_DEPRECATED_DECLARATIONS_END

Do we have to write code using a deprecated function? What’s the long term strategy for the deprecation? Why can’t we take advantage of it now?

&gt; Source/WebCore/platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm:496
&gt; +                RefPtr&lt;SharedBuffer&gt; buffer;
&gt; +                if (weakThis)
&gt; +                    buffer = WTFMove(m_data);
&gt; +
&gt; +                completionHandler(WTFMove(buffer));

How about this version?

    if (!weakThis)
        return completionHandler({ });

    completionHandler(WTFMove(m_data));

Seems easier to read than the one with the local variable and double WTFMove? And has the same early exit here as above. I probably would have written it with nullptr and without using a &quot;void return&quot;, but I figured we could stay consistent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1663000</commentid>
    <comment_count>6</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-06-16 00:27:14 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #5)
&gt; Comment on attachment 401889 [details]
&gt; Adding deprecation macros
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=401889&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm:489
&gt; &gt; +            ALLOW_DEPRECATED_DECLARATIONS_BEGIN
&gt; &gt; +            [m_writer flush];
&gt; &gt; +            ALLOW_DEPRECATED_DECLARATIONS_END
&gt; 
&gt; Do we have to write code using a deprecated function? What’s the long term
&gt; strategy for the deprecation? Why can’t we take advantage of it now?

The replacement method is not available yet everywhere.
Plan is to switch at some point.

&gt; &gt; Source/WebCore/platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm:496
&gt; &gt; +                RefPtr&lt;SharedBuffer&gt; buffer;
&gt; &gt; +                if (weakThis)
&gt; &gt; +                    buffer = WTFMove(m_data);
&gt; &gt; +
&gt; &gt; +                completionHandler(WTFMove(buffer));
&gt; 
&gt; How about this version?
&gt; 
&gt;     if (!weakThis)
&gt;         return completionHandler({ });
&gt; 
&gt;     completionHandler(WTFMove(m_data));
&gt; 
&gt; Seems easier to read than the one with the local variable and double
&gt; WTFMove? And has the same early exit here as above. I probably would have
&gt; written it with nullptr and without using a &quot;void return&quot;, but I figured we
&gt; could stay consistent.

I wrote the double move to ensure m_data gets cleared.
I&apos;ll do the early return.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1663015</commentid>
    <comment_count>7</comment_count>
      <attachid>401986</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-06-16 01:02:12 -0700</bug_when>
    <thetext>Created attachment 401986
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1663016</commentid>
    <comment_count>8</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-06-16 01:03:30 -0700</bug_when>
    <thetext>Went with sd::exchange</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1663027</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-06-16 02:18:13 -0700</bug_when>
    <thetext>Committed r263084: &lt;https://trac.webkit.org/changeset/263084&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 401986.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1663113</commentid>
    <comment_count>10</comment_count>
      <attachid>401889</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-06-16 09:25:10 -0700</bug_when>
    <thetext>Comment on attachment 401889
Adding deprecation macros

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

&gt;&gt;&gt; Source/WebCore/platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm:496
&gt;&gt;&gt; +                completionHandler(WTFMove(buffer));
&gt;&gt; 
&gt;&gt; How about this version?
&gt;&gt; 
&gt;&gt;     if (!weakThis)
&gt;&gt;         return completionHandler({ });
&gt;&gt; 
&gt;&gt;     completionHandler(WTFMove(m_data));
&gt;&gt; 
&gt;&gt; Seems easier to read than the one with the local variable and double WTFMove? And has the same early exit here as above. I probably would have written it with nullptr and without using a &quot;void return&quot;, but I figured we could stay consistent.
&gt; 
&gt; I wrote the double move to ensure m_data gets cleared.
&gt; I&apos;ll do the early return.

If you want to ensure m_data gets cleared, then we should write std::exchange(m_data, {}) instead of WTFMove(m_data).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1663130</commentid>
    <comment_count>11</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-06-16 10:02:57 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #10)
&gt; Comment on attachment 401889 [details]
&gt; Adding deprecation macros
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=401889&amp;action=review
&gt; 
&gt; &gt;&gt;&gt; Source/WebCore/platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm:496
&gt; &gt;&gt;&gt; +                completionHandler(WTFMove(buffer));
&gt; &gt;&gt; 
&gt; &gt;&gt; How about this version?
&gt; &gt;&gt; 
&gt; &gt;&gt;     if (!weakThis)
&gt; &gt;&gt;         return completionHandler({ });
&gt; &gt;&gt; 
&gt; &gt;&gt;     completionHandler(WTFMove(m_data));
&gt; &gt;&gt; 
&gt; &gt;&gt; Seems easier to read than the one with the local variable and double WTFMove? And has the same early exit here as above. I probably would have written it with nullptr and without using a &quot;void return&quot;, but I figured we could stay consistent.
&gt; &gt; 
&gt; &gt; I wrote the double move to ensure m_data gets cleared.
&gt; &gt; I&apos;ll do the early return.
&gt; 
&gt; If you want to ensure m_data gets cleared, then we should write
&gt; std::exchange(m_data, {}) instead of WTFMove(m_data).

Yes, that is what I ended up landing.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>389134</attachid>
            <date>2020-01-29 07:20:22 -0800</date>
            <delta_ts>2020-06-15 02:28:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206929-20200129162021.patch</filename>
            <type>text/plain</type>
            <size>6502</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU1MzU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTA2YTE1ZDMxN2E4MmU3
OTUxNjhmNDNiZTNiMWFmOTVjNDYxMGQ5Mi4uNjA3NzM3OWFkNmY2ZTAxYzYzZjY2ZGZmZGM2MmJi
YTZkMGFhZjIzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIwLTAxLTI5ICB5b3Vl
bm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIHN1cmUgTWVkaWFS
ZWNvcmRlci5yZXF1ZXN0RGF0YSByZXR1cm5zIGRhdGEgd2l0aCB0aGUgbmV3IHdyaXRlciBiYWNr
ZW5kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDY5
MjkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0
OiBodHRwL3dwdC9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXItcmVxdWVzdERhdGEuaHRtbAor
CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9jb2NvYS9NZWRpYVJlY29yZGVyUHJp
dmF0ZVdyaXRlckNvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFSZWNvcmRlclByaXZh
dGVXcml0ZXI6OmZldGNoRGF0YSk6CisgICAgICAgIEZsdXNoIGRhdGEgd2hlbmV2ZXIgY2FsbGlu
ZyBmZXRjaERhdGEuCisKIDIwMjAtMDEtMjkgIHlvdWVubiBmYWJsZXQgIDx5b3Vlbm5AYXBwbGUu
Y29tPgogCiAgICAgICAgIEJsb2IgbWVkaWEgbG9hZGluZyBkb2VzIG5vdCB3b3JrIHdpdGggR1BV
UHJvY2VzcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRl
ci9jb2NvYS9NZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlckNvY29hLm1tIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9jb2NvYS9NZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRl
ckNvY29hLm1tCmluZGV4IGY4NDU1N2MwMzU5YmI3MGFkMTI0Nzg2NzgwMDk0MzE5NjFkYzRkMzAu
LjVhNmIyY2RkMWNiMWEzM2EyOTYwMTlhMGQ5YzE5ZTlmMDZlZmFlMjMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvY29jb2EvTWVkaWFSZWNvcmRlclBy
aXZhdGVXcml0ZXJDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJl
Y29yZGVyL2NvY29hL01lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyQ29jb2EubW0KQEAgLTQ4Myw2
ICs0ODMsMjMgQEAgdm9pZCBNZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlcjo6ZmV0Y2hEYXRhKENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoUmVmUHRyPFNoYXJlZEIKICAgICAgICAgcmV0dXJuOwogICAg
IH0KIAorICAgIGlmIChtX2hhc1N0YXJ0ZWRXcml0aW5nKSB7CisgICAgICAgIGZsdXNoQ29tcHJl
c3NlZFNhbXBsZUJ1ZmZlcnMoW3RoaXMsIHdlYWtUaGlzID0gbWFrZVdlYWtQdHIodGhpcyksIGNv
bXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKCkgbXV0YWJsZSB7
CisgICAgICAgICAgICBpZiAoIXdlYWtUaGlzKQorICAgICAgICAgICAgICAgIHJldHVybjsKKwor
ICAgICAgICAgICAgW21fd3JpdGVyIGZsdXNoXTsKKyAgICAgICAgICAgIGNhbGxPbk1haW5UaHJl
YWQoW3RoaXMsIHdlYWtUaGlzID0gV1RGTW92ZSh3ZWFrVGhpcyksIGNvbXBsZXRpb25IYW5kbGVy
ID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKCkgbXV0YWJsZSB7CisgICAgICAgICAgICAg
ICAgaWYgKCF3ZWFrVGhpcykKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAg
ICAgICAgICAgYXV0byBidWZmZXIgPSBXVEZNb3ZlKG1fZGF0YSk7CisgICAgICAgICAgICAgICAg
Y29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZShidWZmZXIpKTsKKyAgICAgICAgICAgIH0pOworICAg
ICAgICB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIGF1dG8gYnVmZmVyID0gV1RG
TW92ZShtX2RhdGEpOwogICAgIGNvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUoYnVmZmVyKSk7CiB9
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKaW5kZXggZmQ0MDNkMTI3NzYzYWE1YzRhYjlkNjk3NWE2MGYxYTg5N2JkMjViMi4uMzIxOGY3
ZDBjMGM0MjY3NTA5ZmEzZGZlMTQ4N2M4M2YzZGZhN2RhMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBA
CisyMDIwLTAxLTI5ICB5b3Vlbm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAg
ICBNYWtlIHN1cmUgTWVkaWFSZWNvcmRlci5yZXF1ZXN0RGF0YSByZXR1cm5zIGRhdGEgd2l0aCB0
aGUgbmV3IHdyaXRlciBiYWNrZW5kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMDY5MjkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIGh0dHAvd3B0L21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci1yZXF1
ZXN0RGF0YS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L21lZGlhcmVj
b3JkZXIvTWVkaWFSZWNvcmRlci1yZXF1ZXN0RGF0YS5odG1sOiBBZGRlZC4KKwogMjAyMC0wMS0y
OSAgQ2FybG9zIEFsYmVydG8gTG9wZXogUGVyZXogIDxjbG9wZXpAaWdhbGlhLmNvbT4KIAogICAg
ICAgICBbQ1NTIEZvbnRzXSBJbXBvcnQgY3NzLWZvbnRzIFdQVCB0ZXN0cwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC93cHQvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLXJlcXVlc3RE
YXRhLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L21lZGlhcmVjb3JkZXIvTWVk
aWFSZWNvcmRlci1yZXF1ZXN0RGF0YS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjhjZmI4Yjg5
NTRmNjJiOTY2Yzc2NjdhMzQ4NjU5NzdmNWUxYmI3MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2h0dHAvd3B0L21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci1yZXF1ZXN0RGF0YS1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACisKKworUEFTUyBWZXJpZnkgTWVkaWFSZWNvcmRl
ciByZXF1ZXN0RGF0YSByZXR1cm5zIGRhdGEgcHJvZ3Jlc3NpdmVseSAKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC93cHQvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLXJlcXVlc3RE
YXRhLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3Jk
ZXItcmVxdWVzdERhdGEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMWY5N2FhM2NjYWM1ZGY0NWVlMjk3N2Yw
MjJiYmEyZjMwYmUxZmY2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQv
bWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLXJlcXVlc3REYXRhLmh0bWwKQEAgLTAsMCArMSw5
NSBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDx0aXRsZT5NZWRpYVJl
Y29yZGVyIERhdGFhdmFpbGFibGU8L3RpdGxlPgorICAgIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0i
aHR0cHM6Ly93M2MuZ2l0aHViLmlvL21lZGlhY2FwdHVyZS1yZWNvcmQvTWVkaWFSZWNvcmRlci5o
dG1sI21lZGlhcmVjb3JkZXIiPgorICAgIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4v
Y29tbW9uL2NhbnZhcy10ZXN0cy5jc3MiPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PgorICAgIDx2
aWRlbyBpZD0icGxheWVyIj4KKyAgICA8L3ZpZGVvPgorPC9kaXY+Cis8ZGl2PgorICAgIDxjYW52
YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiPgorICAgIDwvY2FudmFzPgor
ICAgIDxjYW52YXMgaWQ9ImZyYW1lIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+CisgICAgPC9j
YW52YXM+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAg
ICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0VXNlR1BVUHJvY2Vzc0ZvcldlYlJUQyh0cnVlKTsKKwor
ICAgIHZhciBjb250ZXh0OworICAgIHZhciBkcmF3U3RhcnRUaW1lOworCisgICAgZnVuY3Rpb24g
Y3JlYXRlVmlkZW9TdHJlYW0oKSB7CisgICAgICAgIGNvbnN0IGNhbnZhcyA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKKyAgICAgICAgY29udGV4dCA9IGNhbnZhcy5nZXRDb250
ZXh0KCcyZCcpOworICAgICAgICByZXR1cm4gY2FudmFzLmNhcHR1cmVTdHJlYW0oKTsKKyAgICB9
CisKKyAgICBmdW5jdGlvbiBkb1JlZEltYWdlRHJhdygpIHsKKyAgICAgICAgaWYgKGNvbnRleHQp
IHsKKyAgICAgICAgICAgIGNvbnRleHQuZmlsbFN0eWxlID0gIiNmZjAwMDAiOworICAgICAgICAg
ICAgY29udGV4dC5maWxsUmVjdCgwLCAwLCAyMDAsIDIwMCk7CisgICAgICAgICAgICBpZiAoRGF0
ZS5ub3coKSAtIGRyYXdTdGFydFRpbWUgPCA1MDApIHsKKyAgICAgICAgICAgICAgICB3aW5kb3cu
cmVxdWVzdEFuaW1hdGlvbkZyYW1lKGRvUmVkSW1hZ2VEcmF3KTsKKyAgICAgICAgICAgIH0gZWxz
ZSB7CisgICAgICAgICAgICAgICAgZHJhd1N0YXJ0VGltZSA9IERhdGUubm93KCk7CisgICAgICAg
ICAgICAgICAgZG9HcmVlbkltYWdlRHJhdygpOworICAgICAgICAgICAgfQorICAgICAgICB9Cisg
ICAgfQorCisgICAgZnVuY3Rpb24gZG9HcmVlbkltYWdlRHJhdygpIHsKKyAgICAgICAgaWYgKGNv
bnRleHQpIHsKKyAgICAgICAgICAgIGNvbnRleHQuZmlsbFN0eWxlID0gIiMwMGZmMDAiOworICAg
ICAgICAgICAgY29udGV4dC5maWxsUmVjdCgwLCAwLCAyMDAsIDIwMCk7CisgICAgICAgICAgICBp
ZiAoRGF0ZS5ub3coKSAtIGRyYXdTdGFydFRpbWUgPCAyMDAwKSB7CisgICAgICAgICAgICAgICAg
d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShkb0dyZWVuSW1hZ2VEcmF3KTsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgfQorICAgIH0KKworICAgIGZ1bmN0aW9uIGNoZWNrRm9yRW1wdHlCbG9i
Q291bnQoKSB7CisgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgcmV0
dXJuIGludGVybmFscy51c2luZ0FwcGxlSW50ZXJuYWxTREsoKTsKKyAgICAgICAgcmV0dXJuIHRy
dWU7CisgICAgfQorCisgICAgYXN5bmNfdGVzdCh0ID0+IHsKKyAgICAgICAgY29uc3QgdmlkZW8g
PSBjcmVhdGVWaWRlb1N0cmVhbSgpOworICAgICAgICBjb25zdCByZWNvcmRlciA9IG5ldyBNZWRp
YVJlY29yZGVyKHZpZGVvKTsKKyAgICAgICAgbGV0IG5vbkVtcHR5QmxvYkNvdW50ID0gMDsKKyAg
ICAgICAgcmVjb3JkZXIub25kYXRhYXZhaWxhYmxlID0gdC5zdGVwX2Z1bmMoYmxvYkV2ZW50ID0+
IHsKKyAgICAgICAgICAgIGlmIChibG9iRXZlbnQuZGF0YS5zaXplIDw9IDAgJiYgY2hlY2tGb3JF
bXB0eUJsb2JDb3VudCgpKQorICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIGlm
ICgrK25vbkVtcHR5QmxvYkNvdW50IDw9IDEpCisgICAgICAgICAgICAgICAgcmV0dXJuOworICAg
ICAgICAgICAgcmVjb3JkZXIuc3RvcCgpOworICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVv
dXQpOworICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChpbnRlcnZhbCk7CisgICAgICAgICAgICB0
LmRvbmUoKTsKKyAgICAgICAgfSk7CisgICAgICAgIGRyYXdTdGFydFRpbWUgPSBEYXRlLm5vdygp
OworICAgICAgICBkb1JlZEltYWdlRHJhdygpOworCisgICAgICAgIHJlY29yZGVyLnN0YXJ0KCk7
CisKKyAgICAgICAgbGV0IGludGVydmFsID0gc2V0SW50ZXJ2YWwoKCkgPT4geworICAgICAgICAg
ICAgIHJlY29yZGVyLnJlcXVlc3REYXRhKCk7CisgICAgICAgIH0sIDUwMCk7CisKKyAgICAgICAg
bGV0IHRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHsKKyAgICAgICAgICAgIGNvbnNvbGUubG9n
KCJHb3Qgbm9uIGVtcHR5IGJsb2JzOiAiICsgbm9uRW1wdHlCbG9iQ291bnQpOworICAgICAgICAg
ICAgcmVjb3JkZXIuc3RvcCgpOworICAgICAgICAgICAgYXNzZXJ0X25vdF9yZWFjaGVkKCk7Cisg
ICAgICAgIH0sIDUwMDApOworICAgIH0sICdWZXJpZnkgTWVkaWFSZWNvcmRlciByZXF1ZXN0RGF0
YSByZXR1cm5zIGRhdGEgcHJvZ3Jlc3NpdmVseScpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>401889</attachid>
            <date>2020-06-15 02:29:00 -0700</date>
            <delta_ts>2020-06-16 01:02:06 -0700</delta_ts>
            <desc>Adding deprecation macros</desc>
            <filename>bug-206929-20200615112859.patch</filename>
            <type>text/plain</type>
            <size>6645</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzMDE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjgxMzIzYmQzYmRhNDFk
MGUzYWZiYTBlZjNmYjJmYWY3NjllNjEyYS4uYjNkNjI0ZGExNTNlZjY3OTg4ZmMxYzM5ZGVlZDA2
ODY3MDc1ODMyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIwLTA2LTE1ICB5b3Vl
bm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIHN1cmUgTWVkaWFS
ZWNvcmRlci5yZXF1ZXN0RGF0YSByZXR1cm5zIGRhdGEgd2l0aCB0aGUgbmV3IHdyaXRlciBiYWNr
ZW5kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDY5
MjkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0
OiBodHRwL3dwdC9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXItcmVxdWVzdERhdGEuaHRtbAor
CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9jb2NvYS9NZWRpYVJlY29yZGVyUHJp
dmF0ZVdyaXRlckNvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFSZWNvcmRlclByaXZh
dGVXcml0ZXI6OmZldGNoRGF0YSk6CisgICAgICAgIEZsdXNoIGRhdGEgd2hlbmV2ZXIgY2FsbGlu
ZyBmZXRjaERhdGEuCisKIDIwMjAtMDYtMTUgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUu
Y29tPgogCiAgICAgICAgIEFkZCBhIHF1aXJrIHRvIGFsbG93IHN0YXJ0aW5nIEF1ZGlvQ29udGV4
dCBpZiBkb2N1bWVudCB3YXMgaW50ZXJhY3RlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFyZWNvcmRlci9jb2NvYS9NZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlckNv
Y29hLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9jb2NvYS9NZWRp
YVJlY29yZGVyUHJpdmF0ZVdyaXRlckNvY29hLm1tCmluZGV4IDliNWJiOGNmNmE0NmEyY2QwMGYy
MmFlZDY2ODY0MTExZTJiM2FkNTAuLmJhOWFjODYyNGVhMTA2YTBkOTJiYmE3NGMwN2NlNzUwM2Y5
NTI4OGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIv
Y29jb2EvTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXJDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL01lZGlhUmVjb3JkZXJQcml2YXRlV3Jp
dGVyQ29jb2EubW0KQEAgLTQ3OSw2ICs0NzksMjYgQEAgdm9pZCBNZWRpYVJlY29yZGVyUHJpdmF0
ZVdyaXRlcjo6ZmV0Y2hEYXRhKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoUmVmUHRyPFNoYXJlZEIK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KIAorICAgIGlmIChtX2hhc1N0YXJ0ZWRXcml0aW5nKSB7
CisgICAgICAgIGZsdXNoQ29tcHJlc3NlZFNhbXBsZUJ1ZmZlcnMoW3RoaXMsIHdlYWtUaGlzID0g
bWFrZVdlYWtQdHIodGhpcyksIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9u
SGFuZGxlcildKCkgbXV0YWJsZSB7CisgICAgICAgICAgICBpZiAoIXdlYWtUaGlzKQorICAgICAg
ICAgICAgICAgIHJldHVybiBjb21wbGV0aW9uSGFuZGxlcih7IH0pOworCisgICAgICAgICAgICBB
TExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19CRUdJTgorICAgICAgICAgICAgW21fd3JpdGVy
IGZsdXNoXTsKKyAgICAgICAgICAgIEFMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0VORAor
CisgICAgICAgICAgICBjYWxsT25NYWluVGhyZWFkKFt0aGlzLCB3ZWFrVGhpcyA9IFdURk1vdmUo
d2Vha1RoaXMpLCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIp
XSgpIG11dGFibGUgeworICAgICAgICAgICAgICAgIFJlZlB0cjxTaGFyZWRCdWZmZXI+IGJ1ZmZl
cjsKKyAgICAgICAgICAgICAgICBpZiAod2Vha1RoaXMpCisgICAgICAgICAgICAgICAgICAgIGJ1
ZmZlciA9IFdURk1vdmUobV9kYXRhKTsKKworICAgICAgICAgICAgICAgIGNvbXBsZXRpb25IYW5k
bGVyKFdURk1vdmUoYnVmZmVyKSk7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgfSk7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisKICAgICBhdXRvIGJ1ZmZlciA9IFdURk1vdmUobV9kYXRhKTsK
ICAgICBjb21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKGJ1ZmZlcikpOwogfQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDhiNTgw
YjE0NDYyMTg5MmYwZWQ5MTc2NjU0OTJjYzFiN2MzZWMwMDIuLjY5NGMyZThiNjRjNmQ2ZmJmMGFl
ZjgwMjgwOTA3MzM4ZDg1YWU0YjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMC0wNi0xNSAg
eW91ZW5uIGZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBzdXJlIE1l
ZGlhUmVjb3JkZXIucmVxdWVzdERhdGEgcmV0dXJucyBkYXRhIHdpdGggdGhlIG5ldyB3cml0ZXIg
YmFja2VuZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjA2OTI5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBodHRwL3dwdC9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXItcmVxdWVzdERhdGEtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC9tZWRpYXJlY29yZGVyL01lZGlhUmVj
b3JkZXItcmVxdWVzdERhdGEuaHRtbDogQWRkZWQuCisKIDIwMjAtMDYtMTQgIFNlcmdpbyBWaWxs
YXIgU2VuaW4gIDxzdmlsbGFyQGlnYWxpYS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcmV2
ZXJ0aW5nIHIyNjIxMjQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9tZWRpYXJl
Y29yZGVyL01lZGlhUmVjb3JkZXItcmVxdWVzdERhdGEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaHR0cC93cHQvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLXJlcXVlc3REYXRhLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yOGNmYjhiODk1NGY2MmI5NjZjNzY2N2EzNDg2NTk3N2Y1ZTFi
YjcyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvbWVkaWFyZWNvcmRl
ci9NZWRpYVJlY29yZGVyLXJlcXVlc3REYXRhLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAK
KworCitQQVNTIFZlcmlmeSBNZWRpYVJlY29yZGVyIHJlcXVlc3REYXRhIHJldHVybnMgZGF0YSBw
cm9ncmVzc2l2ZWx5IAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9tZWRpYXJl
Y29yZGVyL01lZGlhUmVjb3JkZXItcmVxdWVzdERhdGEuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
d3B0L21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci1yZXF1ZXN0RGF0YS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjAxZjk3YWEzY2NhYzVkZjQ1ZWUyOTc3ZjAyMmJiYTJmMzBiZTFmZjYKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXIt
cmVxdWVzdERhdGEuaHRtbApAQCAtMCwwICsxLDk1IEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+CisgICAgPHRpdGxlPk1lZGlhUmVjb3JkZXIgRGF0YWF2YWlsYWJsZTwvdGl0bGU+
CisgICAgPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3czYy5naXRodWIuaW8vbWVkaWFj
YXB0dXJlLXJlY29yZC9NZWRpYVJlY29yZGVyLmh0bWwjbWVkaWFyZWNvcmRlciI+CisgICAgPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorICAgIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKyAgICA8
c2NyaXB0IHNyYz0iLi4vY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CisgICAgPGxp
bmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi9jb21tb24vY2FudmFzLXRlc3RzLmNzcyI+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+CisgICAgPHZpZGVvIGlkPSJwbGF5ZXIiPgorICAgIDwvdmlk
ZW8+Cis8L2Rpdj4KKzxkaXY+CisgICAgPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iMjAwIiBo
ZWlnaHQ9IjIwMCI+CisgICAgPC9jYW52YXM+CisgICAgPGNhbnZhcyBpZD0iZnJhbWUiIHdpZHRo
PSIyMDAiIGhlaWdodD0iMjAwIj4KKyAgICA8L2NhbnZhcz4KKzwvZGl2PgorPHNjcmlwdD4KKyAg
ICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgd2luZG93LmludGVybmFscy5zZXRVc2VH
UFVQcm9jZXNzRm9yV2ViUlRDKHRydWUpOworCisgICAgdmFyIGNvbnRleHQ7CisgICAgdmFyIGRy
YXdTdGFydFRpbWU7CisKKyAgICBmdW5jdGlvbiBjcmVhdGVWaWRlb1N0cmVhbSgpIHsKKyAgICAg
ICAgY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOworICAg
ICAgICBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoJzJkJyk7CisgICAgICAgIHJldHVybiBj
YW52YXMuY2FwdHVyZVN0cmVhbSgpOworICAgIH0KKworICAgIGZ1bmN0aW9uIGRvUmVkSW1hZ2VE
cmF3KCkgeworICAgICAgICBpZiAoY29udGV4dCkgeworICAgICAgICAgICAgY29udGV4dC5maWxs
U3R5bGUgPSAiI2ZmMDAwMCI7CisgICAgICAgICAgICBjb250ZXh0LmZpbGxSZWN0KDAsIDAsIDIw
MCwgMjAwKTsKKyAgICAgICAgICAgIGlmIChEYXRlLm5vdygpIC0gZHJhd1N0YXJ0VGltZSA8IDUw
MCkgeworICAgICAgICAgICAgICAgIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZG9SZWRJ
bWFnZURyYXcpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBkcmF3U3Rh
cnRUaW1lID0gRGF0ZS5ub3coKTsKKyAgICAgICAgICAgICAgICBkb0dyZWVuSW1hZ2VEcmF3KCk7
CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisKKyAgICBmdW5jdGlvbiBkb0dyZWVu
SW1hZ2VEcmF3KCkgeworICAgICAgICBpZiAoY29udGV4dCkgeworICAgICAgICAgICAgY29udGV4
dC5maWxsU3R5bGUgPSAiIzAwZmYwMCI7CisgICAgICAgICAgICBjb250ZXh0LmZpbGxSZWN0KDAs
IDAsIDIwMCwgMjAwKTsKKyAgICAgICAgICAgIGlmIChEYXRlLm5vdygpIC0gZHJhd1N0YXJ0VGlt
ZSA8IDIwMDApIHsKKyAgICAgICAgICAgICAgICB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1l
KGRvR3JlZW5JbWFnZURyYXcpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorCisg
ICAgZnVuY3Rpb24gY2hlY2tGb3JFbXB0eUJsb2JDb3VudCgpIHsKKyAgICAgICAgaWYgKHdpbmRv
dy5pbnRlcm5hbHMpCisgICAgICAgICAgICByZXR1cm4gaW50ZXJuYWxzLnVzaW5nQXBwbGVJbnRl
cm5hbFNESygpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICBhc3luY190ZXN0
KHQgPT4geworICAgICAgICBjb25zdCB2aWRlbyA9IGNyZWF0ZVZpZGVvU3RyZWFtKCk7CisgICAg
ICAgIGNvbnN0IHJlY29yZGVyID0gbmV3IE1lZGlhUmVjb3JkZXIodmlkZW8pOworICAgICAgICBs
ZXQgbm9uRW1wdHlCbG9iQ291bnQgPSAwOworICAgICAgICByZWNvcmRlci5vbmRhdGFhdmFpbGFi
bGUgPSB0LnN0ZXBfZnVuYyhibG9iRXZlbnQgPT4geworICAgICAgICAgICAgaWYgKGJsb2JFdmVu
dC5kYXRhLnNpemUgPD0gMCAmJiBjaGVja0ZvckVtcHR5QmxvYkNvdW50KCkpCisgICAgICAgICAg
ICAgICAgcmV0dXJuOworICAgICAgICAgICAgaWYgKCsrbm9uRW1wdHlCbG9iQ291bnQgPD0gMSkK
KyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICByZWNvcmRlci5zdG9wKCk7Cisg
ICAgICAgICAgICBjbGVhclRpbWVvdXQodGltZW91dCk7CisgICAgICAgICAgICBjbGVhckludGVy
dmFsKGludGVydmFsKTsKKyAgICAgICAgICAgIHQuZG9uZSgpOworICAgICAgICB9KTsKKyAgICAg
ICAgZHJhd1N0YXJ0VGltZSA9IERhdGUubm93KCk7CisgICAgICAgIGRvUmVkSW1hZ2VEcmF3KCk7
CisKKyAgICAgICAgcmVjb3JkZXIuc3RhcnQoKTsKKworICAgICAgICBsZXQgaW50ZXJ2YWwgPSBz
ZXRJbnRlcnZhbCgoKSA9PiB7CisgICAgICAgICAgICAgcmVjb3JkZXIucmVxdWVzdERhdGEoKTsK
KyAgICAgICAgfSwgNTAwKTsKKworICAgICAgICBsZXQgdGltZW91dCA9IHNldFRpbWVvdXQoKCkg
PT4geworICAgICAgICAgICAgY29uc29sZS5sb2coIkdvdCBub24gZW1wdHkgYmxvYnM6ICIgKyBu
b25FbXB0eUJsb2JDb3VudCk7CisgICAgICAgICAgICByZWNvcmRlci5zdG9wKCk7CisgICAgICAg
ICAgICBhc3NlcnRfbm90X3JlYWNoZWQoKTsKKyAgICAgICAgfSwgNTAwMCk7CisgICAgfSwgJ1Zl
cmlmeSBNZWRpYVJlY29yZGVyIHJlcXVlc3REYXRhIHJldHVybnMgZGF0YSBwcm9ncmVzc2l2ZWx5
Jyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>401986</attachid>
            <date>2020-06-16 01:02:12 -0700</date>
            <delta_ts>2020-06-16 02:18:13 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-206929-20200616100210.patch</filename>
            <type>text/plain</type>
            <size>6834</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzMDE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjgxMzIzYmQzYmRhNDFk
MGUzYWZiYTBlZjNmYjJmYWY3NjllNjEyYS4uYTg0NTRjNGRlNjdkMDU5NzVmYmE2NTMzNmJiOWI5
OTc0MWZlZDlkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIwLTA2LTE1ICB5b3Vl
bm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIHN1cmUgTWVkaWFS
ZWNvcmRlci5yZXF1ZXN0RGF0YSByZXR1cm5zIGRhdGEgd2l0aCB0aGUgbmV3IHdyaXRlciBiYWNr
ZW5kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDY5
MjkKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBUZXN0OiBo
dHRwL3dwdC9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXItcmVxdWVzdERhdGEuaHRtbAorCisg
ICAgICAgICogcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9jb2NvYS9NZWRpYVJlY29yZGVyUHJpdmF0
ZVdyaXRlckNvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFSZWNvcmRlclByaXZhdGVX
cml0ZXI6OmZldGNoRGF0YSk6CisgICAgICAgIEZsdXNoIGRhdGEgd2hlbmV2ZXIgY2FsbGluZyBm
ZXRjaERhdGEuCisKIDIwMjAtMDYtMTUgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29t
PgogCiAgICAgICAgIEFkZCBhIHF1aXJrIHRvIGFsbG93IHN0YXJ0aW5nIEF1ZGlvQ29udGV4dCBp
ZiBkb2N1bWVudCB3YXMgaW50ZXJhY3RlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFyZWNvcmRlci9jb2NvYS9NZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlckNvY29h
Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9jb2NvYS9NZWRpYVJl
Y29yZGVyUHJpdmF0ZVdyaXRlckNvY29hLm1tCmluZGV4IDliNWJiOGNmNmE0NmEyY2QwMGYyMmFl
ZDY2ODY0MTExZTJiM2FkNTAuLjdmMzA4N2UwMWUwYzAxYjY3N2VmNDM0ZTEwYjY3OWVkYjRhOGU5
MDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvY29j
b2EvTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXJDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL01lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVy
Q29jb2EubW0KQEAgLTQ3OSw4ICs0NzksMzAgQEAgdm9pZCBNZWRpYVJlY29yZGVyUHJpdmF0ZVdy
aXRlcjo6ZmV0Y2hEYXRhKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoUmVmUHRyPFNoYXJlZEIKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGF1dG8gYnVmZmVyID0gV1RGTW92ZShtX2RhdGEp
OwotICAgIGNvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUoYnVmZmVyKSk7CisgICAgaWYgKG1faGFz
U3RhcnRlZFdyaXRpbmcpIHsKKyAgICAgICAgZmx1c2hDb21wcmVzc2VkU2FtcGxlQnVmZmVycyhb
dGhpcywgd2Vha1RoaXMgPSBtYWtlV2Vha1B0cih0aGlzKSwgY29tcGxldGlvbkhhbmRsZXIgPSBX
VEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0oKSBtdXRhYmxlIHsKKyAgICAgICAgICAgIGlmICgh
d2Vha1RoaXMpIHsKKyAgICAgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihudWxscHRyKTsK
KyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIEFM
TE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0JFR0lOCisgICAgICAgICAgICBbbV93cml0ZXIg
Zmx1c2hdOworICAgICAgICAgICAgQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfRU5ECisK
KyAgICAgICAgICAgIGNhbGxPbk1haW5UaHJlYWQoW3RoaXMsIHdlYWtUaGlzID0gV1RGTW92ZSh3
ZWFrVGhpcyksIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcild
KCkgbXV0YWJsZSB7CisgICAgICAgICAgICAgICAgaWYgKCF3ZWFrVGhpcykgeworICAgICAgICAg
ICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihudWxscHRyKTsKKyAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGNvbXBsZXRp
b25IYW5kbGVyKHN0ZDo6ZXhjaGFuZ2UobV9kYXRhLCBudWxscHRyKSk7CisgICAgICAgICAgICB9
KTsKKyAgICAgICAgfSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBjb21wbGV0aW9u
SGFuZGxlcihzdGQ6OmV4Y2hhbmdlKG1fZGF0YSwgbnVsbHB0cikpOwogfQogCiB2b2lkIE1lZGlh
UmVjb3JkZXJQcml2YXRlV3JpdGVyOjphcHBlbmREYXRhKGNvbnN0IGNoYXIqIGRhdGEsIHNpemVf
dCBzaXplKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCmluZGV4IDhiNTgwYjE0NDYyMTg5MmYwZWQ5MTc2NjU0OTJjYzFiN2MzZWMwMDIu
LjQ2Y2QyNmNhMDQ2MzY1NTg0OWU4MGY3ZDg0MDAyNDMzZjk4ZGM5M2MgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxMyBAQAorMjAyMC0wNi0xNSAgeW91ZW5uIGZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisK
KyAgICAgICAgTWFrZSBzdXJlIE1lZGlhUmVjb3JkZXIucmVxdWVzdERhdGEgcmV0dXJucyBkYXRh
IHdpdGggdGhlIG5ldyB3cml0ZXIgYmFja2VuZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2OTI5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4g
QWRsZXIuCisKKyAgICAgICAgKiBodHRwL3dwdC9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXIt
cmVxdWVzdERhdGEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC9tZWRp
YXJlY29yZGVyL01lZGlhUmVjb3JkZXItcmVxdWVzdERhdGEuaHRtbDogQWRkZWQuCisKIDIwMjAt
MDYtMTQgIFNlcmdpbyBWaWxsYXIgU2VuaW4gIDxzdmlsbGFyQGlnYWxpYS5jb20+CiAKICAgICAg
ICAgVW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyNjIxMjQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3dwdC9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXItcmVxdWVzdERhdGEtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVy
LXJlcXVlc3REYXRhLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yOGNmYjhiODk1NGY2MmI5NjZj
NzY2N2EzNDg2NTk3N2Y1ZTFiYjcyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC93cHQvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLXJlcXVlc3REYXRhLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDQgQEAKKworCitQQVNTIFZlcmlmeSBNZWRpYVJlY29yZGVyIHJlcXVlc3RE
YXRhIHJldHVybnMgZGF0YSBwcm9ncmVzc2l2ZWx5IAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3dwdC9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXItcmVxdWVzdERhdGEuaHRtbCBi
L0xheW91dFRlc3RzL2h0dHAvd3B0L21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci1yZXF1ZXN0
RGF0YS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAxZjk3YWEzY2NhYzVkZjQ1ZWUyOTc3ZjAyMmJiYTJmMzBi
ZTFmZjYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9tZWRpYXJlY29y
ZGVyL01lZGlhUmVjb3JkZXItcmVxdWVzdERhdGEuaHRtbApAQCAtMCwwICsxLDk1IEBACis8IWRv
Y3R5cGUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHRpdGxlPk1lZGlhUmVjb3JkZXIgRGF0
YWF2YWlsYWJsZTwvdGl0bGU+CisgICAgPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3cz
Yy5naXRodWIuaW8vbWVkaWFjYXB0dXJlLXJlY29yZC9NZWRpYVJlY29yZGVyLmh0bWwjbWVkaWFy
ZWNvcmRlciI+CisgICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CisgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi9jb21tb24vY2Fu
dmFzLXRlc3RzLmNzcyI+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+CisgICAgPHZpZGVvIGlkPSJw
bGF5ZXIiPgorICAgIDwvdmlkZW8+Cis8L2Rpdj4KKzxkaXY+CisgICAgPGNhbnZhcyBpZD0iY2Fu
dmFzIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+CisgICAgPC9jYW52YXM+CisgICAgPGNhbnZh
cyBpZD0iZnJhbWUiIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIj4KKyAgICA8L2NhbnZhcz4KKzwv
ZGl2PgorPHNjcmlwdD4KKyAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgd2luZG93
LmludGVybmFscy5zZXRVc2VHUFVQcm9jZXNzRm9yV2ViUlRDKHRydWUpOworCisgICAgdmFyIGNv
bnRleHQ7CisgICAgdmFyIGRyYXdTdGFydFRpbWU7CisKKyAgICBmdW5jdGlvbiBjcmVhdGVWaWRl
b1N0cmVhbSgpIHsKKyAgICAgICAgY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNhbnZhcyIpOworICAgICAgICBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoJzJkJyk7
CisgICAgICAgIHJldHVybiBjYW52YXMuY2FwdHVyZVN0cmVhbSgpOworICAgIH0KKworICAgIGZ1
bmN0aW9uIGRvUmVkSW1hZ2VEcmF3KCkgeworICAgICAgICBpZiAoY29udGV4dCkgeworICAgICAg
ICAgICAgY29udGV4dC5maWxsU3R5bGUgPSAiI2ZmMDAwMCI7CisgICAgICAgICAgICBjb250ZXh0
LmZpbGxSZWN0KDAsIDAsIDIwMCwgMjAwKTsKKyAgICAgICAgICAgIGlmIChEYXRlLm5vdygpIC0g
ZHJhd1N0YXJ0VGltZSA8IDUwMCkgeworICAgICAgICAgICAgICAgIHdpbmRvdy5yZXF1ZXN0QW5p
bWF0aW9uRnJhbWUoZG9SZWRJbWFnZURyYXcpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAg
ICAgICAgICAgICBkcmF3U3RhcnRUaW1lID0gRGF0ZS5ub3coKTsKKyAgICAgICAgICAgICAgICBk
b0dyZWVuSW1hZ2VEcmF3KCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisKKyAg
ICBmdW5jdGlvbiBkb0dyZWVuSW1hZ2VEcmF3KCkgeworICAgICAgICBpZiAoY29udGV4dCkgewor
ICAgICAgICAgICAgY29udGV4dC5maWxsU3R5bGUgPSAiIzAwZmYwMCI7CisgICAgICAgICAgICBj
b250ZXh0LmZpbGxSZWN0KDAsIDAsIDIwMCwgMjAwKTsKKyAgICAgICAgICAgIGlmIChEYXRlLm5v
dygpIC0gZHJhd1N0YXJ0VGltZSA8IDIwMDApIHsKKyAgICAgICAgICAgICAgICB3aW5kb3cucmVx
dWVzdEFuaW1hdGlvbkZyYW1lKGRvR3JlZW5JbWFnZURyYXcpOworICAgICAgICAgICAgfQorICAg
ICAgICB9CisgICAgfQorCisgICAgZnVuY3Rpb24gY2hlY2tGb3JFbXB0eUJsb2JDb3VudCgpIHsK
KyAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICByZXR1cm4gaW50ZXJu
YWxzLnVzaW5nQXBwbGVJbnRlcm5hbFNESygpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9
CisKKyAgICBhc3luY190ZXN0KHQgPT4geworICAgICAgICBjb25zdCB2aWRlbyA9IGNyZWF0ZVZp
ZGVvU3RyZWFtKCk7CisgICAgICAgIGNvbnN0IHJlY29yZGVyID0gbmV3IE1lZGlhUmVjb3JkZXIo
dmlkZW8pOworICAgICAgICBsZXQgbm9uRW1wdHlCbG9iQ291bnQgPSAwOworICAgICAgICByZWNv
cmRlci5vbmRhdGFhdmFpbGFibGUgPSB0LnN0ZXBfZnVuYyhibG9iRXZlbnQgPT4geworICAgICAg
ICAgICAgaWYgKGJsb2JFdmVudC5kYXRhLnNpemUgPD0gMCAmJiBjaGVja0ZvckVtcHR5QmxvYkNv
dW50KCkpCisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgaWYgKCsrbm9uRW1w
dHlCbG9iQ291bnQgPD0gMSkKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICBy
ZWNvcmRlci5zdG9wKCk7CisgICAgICAgICAgICBjbGVhclRpbWVvdXQodGltZW91dCk7CisgICAg
ICAgICAgICBjbGVhckludGVydmFsKGludGVydmFsKTsKKyAgICAgICAgICAgIHQuZG9uZSgpOwor
ICAgICAgICB9KTsKKyAgICAgICAgZHJhd1N0YXJ0VGltZSA9IERhdGUubm93KCk7CisgICAgICAg
IGRvUmVkSW1hZ2VEcmF3KCk7CisKKyAgICAgICAgcmVjb3JkZXIuc3RhcnQoKTsKKworICAgICAg
ICBsZXQgaW50ZXJ2YWwgPSBzZXRJbnRlcnZhbCgoKSA9PiB7CisgICAgICAgICAgICAgcmVjb3Jk
ZXIucmVxdWVzdERhdGEoKTsKKyAgICAgICAgfSwgNTAwKTsKKworICAgICAgICBsZXQgdGltZW91
dCA9IHNldFRpbWVvdXQoKCkgPT4geworICAgICAgICAgICAgY29uc29sZS5sb2coIkdvdCBub24g
ZW1wdHkgYmxvYnM6ICIgKyBub25FbXB0eUJsb2JDb3VudCk7CisgICAgICAgICAgICByZWNvcmRl
ci5zdG9wKCk7CisgICAgICAgICAgICBhc3NlcnRfbm90X3JlYWNoZWQoKTsKKyAgICAgICAgfSwg
NTAwMCk7CisgICAgfSwgJ1ZlcmlmeSBNZWRpYVJlY29yZGVyIHJlcXVlc3REYXRhIHJldHVybnMg
ZGF0YSBwcm9ncmVzc2l2ZWx5Jyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>