<?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>226446</bug_id>
          
          <creation_ts>2021-05-30 19:32:05 -0700</creation_ts>
          <short_desc>Stop using WTF_IGNORES_THREAD_SAFETY_ANALYSIS in MediaRecorderPrivateWriter code</short_desc>
          <delta_ts>2021-05-31 17:05:20 -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="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>darin</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>peng.liu6</cc>
    
    <cc>philipj</cc>
    
    <cc>sam</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>1765296</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-05-30 19:32:05 -0700</bug_when>
    <thetext>Stop using WTF_IGNORES_THREAD_SAFETY_ANALYSIS in MediaRecorderPrivateWriter code by refactoring the code slightly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1765297</commentid>
    <comment_count>1</comment_count>
      <attachid>430165</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-05-30 19:33:25 -0700</bug_when>
    <thetext>Created attachment 430165
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1765456</commentid>
    <comment_count>2</comment_count>
      <attachid>430165</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-05-31 16:51:30 -0700</bug_when>
    <thetext>Comment on attachment 430165
Patch

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

&gt; Source/WebCore/ChangeLog:10
&gt; +        this thread safety checks do not apply to destructors.

&quot;this&quot; -&gt; &quot;since&quot;

Seems like this doesn’t really make anything safer! Just quiets the compiler.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1765459</commentid>
    <comment_count>3</comment_count>
      <attachid>430165</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-05-31 17:01:32 -0700</bug_when>
    <thetext>Comment on attachment 430165
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:10
&gt;&gt; +        this thread safety checks do not apply to destructors.
&gt; 
&gt; &quot;this&quot; -&gt; &quot;since&quot;
&gt; 
&gt; Seems like this doesn’t really make anything safer! Just quiets the compiler.

I think it makes the code look safer. There is a reason clang doesn&apos;t apply threading checks to constructors and destructors: there is usually a single thread when those are executed.
I much prefer this than having a separate clear() function annotated with WTF_IGNORES_THREAD_SAFETY_ANALYSIS, which might get called from outside the destructor in the future, in an unsafe way.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1765464</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-05-31 17:05:01 -0700</bug_when>
    <thetext>Committed r278286 (238323@main): &lt;https://commits.webkit.org/238323@main&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1765465</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-05-31 17:05:20 -0700</bug_when>
    <thetext>&lt;rdar://problem/78695299&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430165</attachid>
            <date>2021-05-30 19:33:25 -0700</date>
            <delta_ts>2021-05-31 17:01:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226446-20210530193324.patch</filename>
            <type>text/plain</type>
            <size>3996</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4MjY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODk5ZWVjNjJhNmIxMWZk
YjczNzIzNzkzNzdiNWUzOTk1MTllMmMwYy4uOWY1ZmMzMzg0NDM4ZDM5YTljNTlhMzI0MzlmMGY2
YThjMTI1YzNiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIxLTA1LTMwICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgU3RvcCB1c2luZyBXVEZfSUdO
T1JFU19USFJFQURfU0FGRVRZX0FOQUxZU0lTIGluIE1lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVy
IGNvZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
NjQ0NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZv
bGQgTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXI6OmNsZWFyKCkgaW50byB0aGUgZGVzdHJ1Y3Rv
ciBzaW5jZSB0aGlzIGlzIHRoZQorICAgICAgICBvbmx5IHBsYWNlIGl0IGlzIGNhbGxlZC4gVGhp
cyBhbGxvd3MgdXMgdG8gc3RvcCB1c2luZyBXVEZfSUdOT1JFU19USFJFQURfU0FGRVRZX0FOQUxZ
U0lTCisgICAgICAgIHRoaXMgdGhyZWFkIHNhZmV0eSBjaGVja3MgZG8gbm90IGFwcGx5IHRvIGRl
c3RydWN0b3JzLgorCisgICAgICAgICogcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9jb2NvYS9NZWRp
YVJlY29yZGVyUHJpdmF0ZVdyaXRlckNvY29hLmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFy
ZWNvcmRlci9jb2NvYS9NZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlckNvY29hLm1tOgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXI6On5NZWRpYVJlY29yZGVyUHJp
dmF0ZVdyaXRlcik6CisgICAgICAgICgpOiBEZWxldGVkLgorCiAyMDIxLTA1LTMwICBDaHJpcyBE
dW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIHNvbWUgZGVhZCBjb2Rl
IGZyb20gQmFzZUF1ZGlvQ29udGV4dCAvIEF1ZGlvQ29udGV4dApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9jb2NvYS9NZWRpYVJlY29yZGVyUHJpdmF0
ZVdyaXRlckNvY29hLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2Nv
Y29hL01lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyQ29jb2EuaAppbmRleCA0NjU1Y2NlMDJhNmVm
NWNiZDg2NWM0Yzg5ZTJkMGMxOWEzY2Q4YWM3Li4xM2EyMzJjMTI4YTk3NWUwY2IwYzM1NzliODUw
ZGMyODdmMmVkZWEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJl
Y29yZGVyL2NvY29hL01lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyQ29jb2EuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL01lZGlhUmVjb3JkZXJQcml2
YXRlV3JpdGVyQ29jb2EuaApAQCAtODMsNyArODMsNiBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAg
ICAgTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXIoYm9vbCBoYXNBdWRpbywgYm9vbCBoYXNWaWRl
byk7Ci0gICAgdm9pZCBjbGVhcigpOwogCiAgICAgYm9vbCBpbml0aWFsaXplKGNvbnN0IE1lZGlh
UmVjb3JkZXJQcml2YXRlT3B0aW9ucyYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL01lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyQ29j
b2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL01lZGlh
UmVjb3JkZXJQcml2YXRlV3JpdGVyQ29jb2EubW0KaW5kZXggMWQ0NzU1M2RkMjY0N2M1NjhmZGRm
OTU5OWVjMWFhMjBmZTQzMGJjZS4uZDcxMDVjMmZhNDAwY2FmZTg4M2QyYjZiNzUxZDk3MjVhZmNl
OTdiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9j
b2NvYS9NZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlckNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvY29jb2EvTWVkaWFSZWNvcmRlclByaXZhdGVXcml0
ZXJDb2NvYS5tbQpAQCAtMTI3LDcgKzEyNywyMCBAQCBNZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRl
cjo6TWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXIoYm9vbCBoYXNBdWRpbywgYm9vbCBoYXNWaQog
CiBNZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlcjo6fk1lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVy
KCkKIHsKLSAgICBjbGVhcigpOworICAgIG1fcGVuZGluZ0F1ZGlvU2FtcGxlUXVldWUuY2xlYXIo
KTsKKyAgICBtX3BlbmRpbmdWaWRlb1NhbXBsZVF1ZXVlLmNsZWFyKCk7CisgICAgaWYgKG1fd3Jp
dGVyKSB7CisgICAgICAgIFttX3dyaXRlciBjYW5jZWxXcml0aW5nXTsKKyAgICAgICAgbV93cml0
ZXIuY2xlYXIoKTsKKyAgICB9CisKKyAgICAvLyBBdCB0aGlzIHBvaW50ZXIsIHdlIHNob3VsZCBu
byBsb25nZXIgYmUgd3JpdGluZyBhbnkgZGF0YSwgc28gaXQgc2hvdWxkIGJlIHNhZmUgdG8gY2xv
c2UgYW5kIG51bGxpZnkgbV9kYXRhIHdpdGhvdXQgbG9ja2luZy4KKyAgICBpZiAobV93cml0ZXJE
ZWxlZ2F0ZSkKKyAgICAgICAgW21fd3JpdGVyRGVsZWdhdGUgY2xvc2VdOworICAgIG1fZGF0YSA9
IG51bGxwdHI7CisKKyAgICBpZiAoYXV0byBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUobV9m
ZXRjaERhdGFDb21wbGV0aW9uSGFuZGxlcikpCisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKG51
bGxwdHIsIDApOwogfQogCiBib29sIE1lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyOjppbml0aWFs
aXplKGNvbnN0IE1lZGlhUmVjb3JkZXJQcml2YXRlT3B0aW9ucyYgb3B0aW9ucykKQEAgLTM2Niwy
NiArMzc5LDYgQEAgdm9pZCBNZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlcjo6Zmx1c2hDb21wcmVz
c2VkU2FtcGxlQnVmZmVycyhGdW5jdGlvbjx2b2lkKCk+JiYKICAgICAgICAgW21fdmlkZW9Bc3Nl
dFdyaXRlcklucHV0IHJlcXVlc3RNZWRpYURhdGFXaGVuUmVhZHlPblF1ZXVlOmRpc3BhdGNoX2dl
dF9tYWluX3F1ZXVlKCkgdXNpbmdCbG9jazpibG9jay5nZXQoKV07CiB9CiAKLS8vIEZJWE1FOiBU
aGlzIG1vZGlmaWVzIG1fZGF0YSB3aXRob3V0IGdyYWJiaW5nIG1fZGF0YUxvY2suCi12b2lkIE1l
ZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyOjpjbGVhcigpIFdURl9JR05PUkVTX1RIUkVBRF9TQUZF
VFlfQU5BTFlTSVMKLXsKLSAgICBtX3BlbmRpbmdBdWRpb1NhbXBsZVF1ZXVlLmNsZWFyKCk7Ci0g
ICAgbV9wZW5kaW5nVmlkZW9TYW1wbGVRdWV1ZS5jbGVhcigpOwotICAgIGlmIChtX3dyaXRlcikg
ewotICAgICAgICBbbV93cml0ZXIgY2FuY2VsV3JpdGluZ107Ci0gICAgICAgIG1fd3JpdGVyLmNs
ZWFyKCk7Ci0gICAgfQotCi0gICAgLy8gQXQgdGhpcyBwb2ludGVyLCB3ZSBzaG91bGQgbm8gbG9u
Z2VyIGJlIHdyaXRpbmcgYW55IGRhdGEsIHNvIGl0IHNob3VsZCBiZSBzYWZlIHRvIGNsb3NlIGFu
ZCBudWxsaWZ5IG1fZGF0YSB3aXRob3V0IGxvY2tpbmcuCi0gICAgaWYgKG1fd3JpdGVyRGVsZWdh
dGUpCi0gICAgICAgIFttX3dyaXRlckRlbGVnYXRlIGNsb3NlXTsKLSAgICBtX2RhdGEgPSBudWxs
cHRyOwotCi0gICAgaWYgKGF1dG8gY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKG1fZmV0Y2hE
YXRhQ29tcGxldGlvbkhhbmRsZXIpKQotICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihudWxscHRy
LCAwKTsKLX0KLQotCiBzdGF0aWMgaW5saW5lIFJldGFpblB0cjxDTVNhbXBsZUJ1ZmZlclJlZj4g
Y29weVNhbXBsZUJ1ZmZlcldpdGhDdXJyZW50VGltZVN0YW1wKENNU2FtcGxlQnVmZmVyUmVmIG9y
aWdpbmFsQnVmZmVyLCBDTVRpbWUgc3RhcnRUaW1lKQogewogICAgIENNSXRlbUNvdW50IGNvdW50
ID0gMDsK
</data>
<flag name="review"
          id="451546"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>