This site will have limited functionality while we undergo maintenance to improve your experience. If an article doesn't solve your issue and you want to ask a question, we have our support community waiting to help you at @FirefoxSupport on Twitter and/r/firefox on Reddit.

Search Support

Avoid support scams. We will never ask you to call or text a phone number or share personal information. Please report suspicious activity using the “Report Abuse” option.

Learn More

getUserMedia behavior

more options

Hi all,

First time posting so apologies if I mess anything up. My company has created an inbound calling service using twilio under the hood. We utilize webworkers to send cross tab messaging around call actions to the twilio service that manages a particular call. One specific feature that is critical to us is the ability to answer a phone call from any tab that our service is running on.

With one of the recent updates to firefox we noticed that this feature no longer works because the calls to navigator.mediaDevices.getUserMedia() would not resolve until you clicked on the page where this action was being called. This effectively means that you can only answer the phone call on the page that actually houses the twilio logic for answering the phone call (via a button action).

Is this an intended security improvement? If not, is there anyway to prevent this from happening other than holding on to an open mic stream for the entire time the application is open?

Thank you for reading!

Hi all, First time posting so apologies if I mess anything up. My company has created an inbound calling service using twilio under the hood. We utilize webworkers to send cross tab messaging around call actions to the twilio service that manages a particular call. One specific feature that is critical to us is the ability to answer a phone call from any tab that our service is running on. With one of the recent updates to firefox we noticed that this feature no longer works because the calls to navigator.mediaDevices.getUserMedia() would not resolve until you clicked on the page where this action was being called. This effectively means that you can only answer the phone call on the page that actually houses the twilio logic for answering the phone call (via a button action). Is this an intended security improvement? If not, is there anyway to prevent this from happening other than holding on to an open mic stream for the entire time the application is open? Thank you for reading!

All Replies (2)

more options

You can use mozregression to find the change responsible which might shed some light on the situation.

more options

The biggest thing im looking for is clarification on whether or not this is intentional:

Does firefox only want to grant access to a media stream if you explicitly clicked a button (aka, a user gesture)?

To me, it seems odd that firefox would restrict this for a window that has microphone permissions granted already. My company needs to make a decision about whether or not we are going to support firefox users at all and this issue is at the crux of that debate.

Modified by Erik Johnson