<?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>200289</bug_id>
          
          <creation_ts>2019-07-30 17:17:16 -0700</creation_ts>
          <short_desc>ObjC RTCCVPixelBuffer should be prefixed to not conflict with other apps</short_desc>
          <delta_ts>2019-08-01 15:51:49 -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>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=200365</see_also>
          <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>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>ddkilzer</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>1557142</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-07-30 17:17:16 -0700</bug_when>
    <thetext>ObjC RTCCVPixelBuffer should be prefixed to not conflict with other apps</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1557143</commentid>
    <comment_count>1</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-07-30 17:17:42 -0700</bug_when>
    <thetext>&lt;rdar://problem/49554670&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1557314</commentid>
    <comment_count>2</comment_count>
      <attachid>375231</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-07-31 11:38:41 -0700</bug_when>
    <thetext>Created attachment 375231
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1557395</commentid>
    <comment_count>3</comment_count>
      <attachid>375231</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2019-07-31 14:52:23 -0700</bug_when>
    <thetext>Comment on attachment 375231
Patch

Why only this class? What about all the other classes defined in libwebrtc?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1557399</commentid>
    <comment_count>4</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-07-31 14:57:05 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #3)
&gt; Comment on attachment 375231 [details]
&gt; Patch
&gt; 
&gt; Why only this class? What about all the other classes defined in libwebrtc?

The other classes are prefixed.
I missed that one when switching the implementation to use the ObjC libwebrtc factories.
It would be nice to have some kind of build checks that enforces that libwebrtc does not define any ObjC RTCXX interface.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1557417</commentid>
    <comment_count>5</comment_count>
      <attachid>375231</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-07-31 15:26:49 -0700</bug_when>
    <thetext>Comment on attachment 375231
Patch

Clearing flags on attachment: 375231

Committed r248077: &lt;https://trac.webkit.org/changeset/248077&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1557418</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-07-31 15:26:50 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1557436</commentid>
    <comment_count>7</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2019-07-31 16:01:00 -0700</bug_when>
    <thetext>(In reply to youenn fablet from comment #4) 
&gt; It would be nice to have some kind of build checks that enforces that
&gt; libwebrtc does not define any ObjC RTCXX interface.

Should be easy to add that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1557493</commentid>
    <comment_count>8</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2019-07-31 19:08:53 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #7)
&gt; (In reply to youenn fablet from comment #4) 
&gt; &gt; It would be nice to have some kind of build checks that enforces that
&gt; &gt; libwebrtc does not define any ObjC RTCXX interface.
&gt; 
&gt; Should be easy to add that.

You should be able to do something like this in a build phase script that only runs for Engineering builds (other build phase scripts do this in WebCore):

$ xcrun nm -U /System/Library/Frameworks/WebKit.framework/Versions/A/Frameworks/WebCore.framework/Versions/A/Frameworks/libwebrtc.dylib | grep _OBJC_CLASS_ | grep -v &apos;_OBJC_CLASS_$_WK_&apos;
000000000063b360 s _OBJC_CLASS_$_RTCCVPixelBuffer
000000000063b748 s _OBJC_CLASS_$_RTCVideoDecoderVP8
000000000063b9f0 s _OBJC_CLASS_$_RTCWrappedNativeVideoDecoder
000000000063ba40 s _OBJC_CLASS_$_RTCWrappedNativeVideoEncoder

That was from macOS 10.4.4 Mojave.  Looks like we missed four classes there.

If the output from that shell command is empty, we&apos;re good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1557495</commentid>
    <comment_count>9</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-07-31 19:27:21 -0700</bug_when>
    <thetext>&gt; You should be able to do something like this in a build phase script that
&gt; only runs for Engineering builds (other build phase scripts do this in
&gt; WebCore):

Thanks

&gt; $ xcrun nm -U
&gt; /System/Library/Frameworks/WebKit.framework/Versions/A/Frameworks/WebCore.
&gt; framework/Versions/A/Frameworks/libwebrtc.dylib | grep _OBJC_CLASS_ | grep
&gt; -v &apos;_OBJC_CLASS_$_WK_&apos;
&gt; 000000000063b360 s _OBJC_CLASS_$_RTCCVPixelBuffer
&gt; 000000000063b748 s _OBJC_CLASS_$_RTCVideoDecoderVP8
&gt; 000000000063b9f0 s _OBJC_CLASS_$_RTCWrappedNativeVideoDecoder
&gt; 000000000063ba40 s _OBJC_CLASS_$_RTCWrappedNativeVideoEncoder
&gt; 
&gt; That was from macOS 10.4.4 Mojave.  Looks like we missed four classes there.
&gt; 
&gt; If the output from that shell command is empty, we&apos;re good.

It only includes RTCCVPixelBuffer in recent builds so we should be good.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>375231</attachid>
            <date>2019-07-31 11:38:41 -0700</date>
            <delta_ts>2019-07-31 15:26:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-200289-20190731113841.patch</filename>
            <type>text/plain</type>
            <size>1639</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3NjQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvQ2hhbmdlTG9nIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NoYW5n
ZUxvZwppbmRleCBkZWYxMDIxM2IwZDY0MjBiNjIwNzNkYTJiMDNlOTcxNTliZTM1ZGE1Li5kMTM2
N2JlODQ4MGE1NWQ5MmVhYTUzMTNkNzE5MzZkOWU5MzQ2NjU2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxOS0wNy0zMSAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgT2JqQyBSVENDVlBpeGVsQnVmZmVy
IHNob3VsZCBiZSBwcmVmaXhlZCB0byBub3QgY29uZmxpY3Qgd2l0aCBvdGhlciBhcHBzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDAyODkKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzQ5NTU0NjcwPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogU291cmNlL3dlYnJ0Yy9zZGsvb2JqYy9jb21wb25lbnRz
L3ZpZGVvX2ZyYW1lX2J1ZmZlci9SVENDVlBpeGVsQnVmZmVyLmg6CisKIDIwMTktMDctMTcgIFlv
dWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFVzZSBWQ1AgU1BJIGlu
IGNhc2UgY3JlYXRpb24gb2YgYSBjb21wcmVzc2lvbiBzZXNzaW9uIHdpdGggVlRCIGZvciAnaDI2
NC5ydHZjJyBmYWlscwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS93ZWJydGMvc2RrL29iamMvY29tcG9uZW50cy92aWRlb19mcmFtZV9idWZmZXIvUlRDQ1ZQ
aXhlbEJ1ZmZlci5oIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMv
c2RrL29iamMvY29tcG9uZW50cy92aWRlb19mcmFtZV9idWZmZXIvUlRDQ1ZQaXhlbEJ1ZmZlci5o
CmluZGV4IDQzMmEzODI1NzQ2NGIyNmNiNTMyMzRjOGEzN2FmNjdkNThlZjgwYjEuLmFiZTlkZmNh
OTNiMDRiZjU1MmVjMDMwMmI4MDc1OTdkZjI2MWVkYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9vYmpjL2NvbXBvbmVudHMvdmlkZW9f
ZnJhbWVfYnVmZmVyL1JUQ0NWUGl4ZWxCdWZmZXIuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvb2JqYy9jb21wb25lbnRzL3ZpZGVvX2ZyYW1lX2J1
ZmZlci9SVENDVlBpeGVsQnVmZmVyLmgKQEAgLTE3LDYgKzE3LDcgQEAgTlNfQVNTVU1FX05PTk5V
TExfQkVHSU4KIAogLyoqIFJUQ1ZpZGVvRnJhbWVCdWZmZXIgY29udGFpbmluZyBhIENWUGl4ZWxC
dWZmZXJSZWYgKi8KIFJUQ19PQkpDX0VYUE9SVAorX19hdHRyaWJ1dGVfXygob2JqY19ydW50aW1l
X25hbWUoIldLX1JUQ0NWUGl4ZWxCdWZmZXIiKSkpCiBAaW50ZXJmYWNlIFJUQ0NWUGl4ZWxCdWZm
ZXIgOiBOU09iamVjdCA8UlRDVmlkZW9GcmFtZUJ1ZmZlcj4KIAogQHByb3BlcnR5KG5vbmF0b21p
YywgcmVhZG9ubHkpIENWUGl4ZWxCdWZmZXJSZWYgcGl4ZWxCdWZmZXI7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>