<?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>194805</bug_id>
          
          <creation_ts>2019-02-18 19:45:33 -0800</creation_ts>
          <short_desc>[GTK] UserMediaPermissionRequest does not occur</short_desc>
          <delta_ts>2021-04-14 09:33:40 -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>WebKitGTK</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="James Cameron">quozl</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>dhitchcock.webkit</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>pnormand</cc>
    
    <cc>tsaunier</cc>
    
    <cc>webkit-bugzilla</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1507581</commentid>
    <comment_count>0</comment_count>
    <who name="James Cameron">quozl</who>
    <bug_when>2019-02-18 19:45:33 -0800</bug_when>
    <thetext>Asking on behalf of One Laptop per Child and Sugar Labs.  Audio recording does not happen on https://scratch.mit.edu/ apparently because a UserMediaPermissionRequest does not occur.

Steps to reproduce:
* start Epiphany, open https://scratch.mit.edu/, click on Create, await loading,
* click on Sound (purple circle),
* click on Meow in play sound, and select Record ...

Observed result: popup message dialog &quot;Could not start recording&quot;.

Expected result: as with Firefox and Safari, some sort of user media permission dialog, &quot;Would Like to Access the Microphone&quot;, or &quot;Will you allow scratch.mit.edu to use your microphone?&quot;,

Tested on:
* Fedora Rawhide 20190113, Epiphany 3.31.90 and WebKitGTK 2.23.3,
* Ubuntu 18.04, Epiphany 3.28.1 and WebKitGTK 2.22.6.

Also occurs on
* http://webaudiodemos.appspot.com/AudioRecorder/index.html
* Sugar Browse, which is also based on WebKitGTK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1507640</commentid>
    <comment_count>1</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2019-02-19 02:22:10 -0800</bug_when>
    <thetext>Hi James,

I don&apos;t think WebRTC/mediastream is enabled at runtime in Epiphany.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1507678</commentid>
    <comment_count>2</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-02-19 08:55:12 -0800</bug_when>
    <thetext>Well no surprise, since WebKitGTK releases do not support WebRTC. Is this page using WebRTC?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1508008</commentid>
    <comment_count>3</comment_count>
    <who name="James Cameron">quozl</who>
    <bug_when>2019-02-19 22:29:12 -0800</bug_when>
    <thetext>Thanks.  I don&apos;t know enough about JavaScript ecosystem to answer, but both URLs given do call getUserMedia and the response in console is;

TypeError: undefined is not an object (evaluating &apos;navigator.mediaDevices.getUserMedia&apos;)

Are there any plans to support this?  What&apos;s the nature of the non-support?  So I can explain to others what is needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1513954</commentid>
    <comment_count>4</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2019-03-08 02:24:48 -0800</bug_when>
    <thetext>There is a libwebrtc/GStreamer backend implemented in WebKit trunk but it can&apos;t be enabled for WebKitGTK releases and used in GPL apps like Epiphany because libwebrtc depends on BoringSSL, licensed under BSD (with advertising clause), which, AFAIK (but IANAL) is considered incompatible with the GPL.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1514000</commentid>
    <comment_count>5</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-03-08 08:10:28 -0800</bug_when>
    <thetext>(In reply to Philippe Normand from comment #4)
&gt; licensed under BSD (with advertising clause)

Sort of, OpenSSL license is similar to old BSD licenses and has an advertising clause. Details here: https://boringssl.googlesource.com/boringssl.git/+/3390fd88d716ea599d659c2b72b9a6cd4bb36442/LICENSE. Anyway, that&apos;s more or less right.

FWIW: I&apos;m going to try Real Soon Now to see if I can do a GDtlsConnection backend for libwebrtc. If it&apos;s not too hard, I might even be successful. We need it for Librem 5, so it&apos;s become rather urgent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1514001</commentid>
    <comment_count>6</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-03-08 08:12:18 -0800</bug_when>
    <thetext>BTW WebKitUserMediaPermissionRequest has been public API since 2.8, so if it really requires WebRTC to work, then it&apos;s been broken since added? Do I misunderstand?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1514003</commentid>
    <comment_count>7</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2019-03-08 08:20:50 -0800</bug_when>
    <thetext>Well, it&apos;s not broken per-se imho, just useless if the mediastream websetting is toggled off at runtime.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1555057</commentid>
    <comment_count>8</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2019-07-23 09:46:03 -0700</bug_when>
    <thetext>*** Bug 197871 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1750161</commentid>
    <comment_count>9</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-04-14 09:33:40 -0700</bug_when>
    <thetext>Not much we can do here. You would need to enable MEDIA_STREAM in your build but this is currently not supported in tarballs.

We plan to ship a new WebRTC backend based on GstWebRTC but there is no ETA yet.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>