A toolbar button for SeaMonkey to override the missing WebRTC permissions dialog and allow media capture automatically.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
chrome
components Reduce number of prompts; add View License button instead of showing … Apr 16, 2018
defaults/preferences (#1) Add option to hide Tools menu item Jun 22, 2017
COPYING Add MPL 2.0 text Jan 6, 2017
README.md
chrome.manifest
icon-override.svg Use only one size of icons Apr 17, 2017
icon.svg
install.rdf (#4) Add support for downloading and installing OpenH264 Apr 15, 2018

README.md

WebRTC Permissions UI Toggle

This extension provides a UI to enable the WebRTC support in SeaMonkey. When you activate it (from a toolbar button or from the Tools menu in the browser), it does three things:

  • Enables WebRTC (if currently disabled)
  • Turns on the setting media.navigator.permission.disabled, which allows all WebRTC connections without prompting
  • Checks the status of OpenH264; if it's enabled but not installed, the user will be asked if they want to install or disable it

SeaMonkey does not have a permissions dialog to let the user select a camera and microphone (see bug 956854), so using media.navigator.permission.disabled to override the dialog is the only way to enable WebRTC support.

Of course, leaving this setting on is insecure, since any web site that's open will be able to get access to your microphone, camera, and screen! So be sure to only turn it on when you need to use WebRTC, and turn it off once you're done with it.

Instructions

  1. Install the extension. You can get the newest version from the releases page or use the SeaMonkey Add-ons site. After you install the extension, you will need to restart SeaMonkey.

  2. Before visiting a website that needs to use WebRTC, open the Tools menu and select "Enable WebRTC." A box will appear asking if you want to share your camera, microphone, and screen with all open websites. Clicking OK will enable the override until you turn it off or close your browser.

  3. If you do not have OpenH264 installed yet (and you haven't disabled it), the extension will offer to install it for you.

  4. If you are on a page that uses WebRTC and you have just enabled the override, you may need to refresh the page for it to work.

Notes for Web Developers

In SeaMonkey (2.49.1 and later), WebRTC is typically disabled, which means the navigator.mediaDevices object will be undefined. When this extension is activated, navigator.mediaDevices will be present.

In Firefox, the user is prompted to select a camera/microphone device. In SeaMonkey, however, the user's default camera/microphone will always be used unless you specify a device. navigator.mediaDevices.enumerateDevices will get you a list of devices, but the device labels will only be included if there is already an active MediaStream from getUserMedia. One possible workaround is to start a stream, grab the list of devices, and then stop the stream.

Notes

Closing the entire application, or disabling or removing the extension, will always turn off the override. If you want, you can also have it turn off whenever a new browser window is opened.

If the SeaMonkey Add-ons site is down, check the Releases section on GitHub for the most recent .xpi file.