--- a/dom/html/HTMLTrackElement.cpp
+++ b/dom/html/HTMLTrackElement.cpp
@@ -45,20 +45,16 @@ static mozilla::LazyLogModule gTrackElem
#define LOG(type, msg) MOZ_LOG(gTrackElementLog, type, msg)
// Replace the usual NS_IMPL_NS_NEW_HTML_ELEMENT(Track) so
// we can return an UnknownElement instead when pref'd off.
nsGenericHTMLElement*
NS_NewHTMLTrackElement(already_AddRefed<mozilla::dom::NodeInfo>&& aNodeInfo,
mozilla::dom::FromParser aFromParser)
{
- if (!mozilla::dom::HTMLTrackElement::IsWebVTTEnabled()) {
- return new mozilla::dom::HTMLUnknownElement(aNodeInfo);
- }
-
return new mozilla::dom::HTMLTrackElement(aNodeInfo);
}
namespace mozilla {
namespace dom {
// Map html attribute string values to TextTrackKind enums.
static constexpr nsAttrValue::EnumTable kKindTable[] = {
@@ -172,23 +168,16 @@ HTMLTrackElement::OnChannelRedirect(nsIC
}
JSObject*
HTMLTrackElement::WrapNode(JSContext* aCx, JS::Handle<JSObject*> aGivenProto)
{
return HTMLTrackElementBinding::Wrap(aCx, this, aGivenProto);
}
-bool
-HTMLTrackElement::IsWebVTTEnabled()
-{
- // Our callee does not use its arguments.
- return HTMLTrackElementBinding::ConstructorEnabled(nullptr, nullptr);
-}
-
TextTrack*
HTMLTrackElement::GetTrack()
{
if (!mTrack) {
CreateTextTrack();
}
return mTrack;
--- a/dom/html/HTMLTrackElement.h
+++ b/dom/html/HTMLTrackElement.h
@@ -101,19 +101,16 @@ public:
// Override BindToTree() so that we can trigger a load when we become
// the child of a media element.
virtual nsresult BindToTree(nsIDocument* aDocument,
nsIContent* aParent,
nsIContent* aBindingParent,
bool aCompileEventHandlers) override;
virtual void UnbindFromTree(bool aDeep, bool aNullParent) override;
- // Check enabling preference.
- static bool IsWebVTTEnabled();
-
void DispatchTrackRunnable(const nsString& aEventName);
void DispatchTrustedEvent(const nsAString& aName);
void DropChannel();
void NotifyShutdown();
protected:
--- a/dom/html/test/mochitest.ini
+++ b/dom/html/test/mochitest.ini
@@ -536,17 +536,16 @@ skip-if = buildapp == 'mulet' || buildap
[test_param_attributes_reflection.html]
[test_q_attributes_reflection.html]
[test_restore_from_parser_fragment.html]
[test_rowscollection.html]
[test_srcdoc-2.html]
[test_srcdoc.html]
[test_style_attributes_reflection.html]
[test_track.html]
-[test_track_disabled.html]
[test_ul_attributes_reflection.html]
[test_undoManager.html]
[test_input_files_not_nsIFile.html]
[test_ignoreuserfocus.html]
[test_fragment_form_pointer.html]
[test_bug1682.html]
[test_bug1823.html]
[test_bug57600.html]
@@ -628,9 +627,9 @@ skip-if = (os != 'win' && os != 'linux')
skip-if = (os != 'win' && os != 'linux')
[test_bug1261674-2.html]
skip-if = (os != 'win' && os != 'linux')
[test_bug1260704.html]
[test_allowMedia.html]
[test_bug1292522_same_domain_with_different_port_number.html]
[test_bug1295719_event_sequence_for_arrow_keys.html]
skip-if = os == "android" || appname == "b2g" # up/down arrow keys not supported on android/b2g
-[test_bug1295719_event_sequence_for_number_keys.html]
\ No newline at end of file
+[test_bug1295719_event_sequence_for_number_keys.html]
deleted file mode 100644
--- a/dom/html/test/test_track_disabled.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=833386
--->
-<head>
- <meta charset='utf-8'>
- <title>Test for Bug 833386 - HTMLTrackElement</title>
- <script type="text/javascript" src="/MochiKit/MochiKit.js"></script>
- <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
-</head>
-<body>
-<p id="display"></p>
-<div id="content" style="display: none">
-</div>
-<pre id="test">
-<script class="testbody" type="text/javascript">
-SimpleTest.waitForExplicitFinish();
-SpecialPowers.pushPrefEnv({"set": [["media.webvtt.enabled", false]]},
- function() {
- var track = document.createElement("track");
- is(track.constructor, HTMLUnknownElement, "Track should actually be an HTMLUnknownElement.");
- SimpleTest.finish();
- }
-);
-</script>
-</pre>
-</body>
-</html>
--- a/dom/media/TextTrackRegion.h
+++ b/dom/media/TextTrackRegion.h
@@ -23,22 +23,16 @@ class TextTrack;
class TextTrackRegion final : public nsISupports,
public nsWrapperCache
{
public:
NS_DECL_CYCLE_COLLECTING_ISUPPORTS
NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_CLASS(TextTrackRegion)
- static bool RegionsEnabled(JSContext* cx, JSObject* obj)
- {
- return Preferences::GetBool("media.webvtt.enabled") &&
- Preferences::GetBool("media.webvtt.regions.enabled");
- }
-
JSObject* WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto) override;
nsISupports* GetParentObject() const
{
return mParent;
}
explicit TextTrackRegion(nsISupports* aGlobal);
--- a/dom/media/WebVTTListener.cpp
+++ b/dom/media/WebVTTListener.cpp
@@ -48,21 +48,16 @@ WebVTTListener::GetInterface(const nsIID
void** aResult)
{
return QueryInterface(aIID, aResult);
}
nsresult
WebVTTListener::LoadResource()
{
- if (!HTMLTrackElement::IsWebVTTEnabled()) {
- NS_WARNING("WebVTT support disabled."
- " See media.webvtt.enabled in about:config. ");
- return NS_ERROR_FAILURE;
- }
nsresult rv;
mParserWrapper = do_CreateInstance(NS_WEBVTTPARSERWRAPPER_CONTRACTID, &rv);
NS_ENSURE_SUCCESS(rv, rv);
nsPIDOMWindowInner* window = mElement->OwnerDoc()->GetInnerWindow();
rv = mParserWrapper->LoadParser(window);
NS_ENSURE_SUCCESS(rv, rv);
--- a/dom/media/test/mochitest.ini
+++ b/dom/media/test/mochitest.ini
@@ -881,18 +881,16 @@ skip-if = toolkit == 'gonk' # bug 112884
[test_video_to_canvas.html]
[test_video_in_audio_element.html]
[test_videoDocumentTitle.html]
[test_VideoPlaybackQuality.html]
[test_VideoPlaybackQuality_disabled.html]
[test_volume.html]
[test_vttparser.html]
tags = webvtt
-[test_webvtt_disabled.html]
-tags = webvtt
[test_webvtt_empty_displaystate.html]
tags = webvtt
[test_webvtt_positionalign.html]
tags = webvtt
# The tests below contain backend-specific tests. Write backend independent
# tests rather than adding to this list.
[test_can_play_type_webm.html]
--- a/dom/media/test/test_texttrackevents_video.html
+++ b/dom/media/test/test_texttrackevents_video.html
@@ -9,85 +9,82 @@
</head>
<body>
<p id="display"></p>
<div id="content">
</div>
<pre id="test">
<script class="testbody" type="text/javascript">
SimpleTest.waitForExplicitFinish();
-SpecialPowers.pushPrefEnv({"set": [["media.webvtt.enabled", true]]},
- function() {
- var video = document.createElement("video");
- video.src = "vp9cake.webm";
- video.preload = "auto";
- video.controls = true;
- var trackElement = document.createElement("track");
- trackElement.src = "sequential.vtt";
- trackElement.kind = "subtitles";
- trackElement.default = true;
- document.getElementById("content").appendChild(video);
- video.appendChild(trackElement);
+
+var video = document.createElement("video");
+video.src = "vp9cake.webm";
+video.preload = "auto";
+video.controls = true;
+var trackElement = document.createElement("track");
+trackElement.src = "sequential.vtt";
+trackElement.kind = "subtitles";
+trackElement.default = true;
+document.getElementById("content").appendChild(video);
+video.appendChild(trackElement);
- var trackElementCueChangeCount = 0;
- var trackCueChangeCount = 0;
- var cueEnterCount = 0;
- var cueExitCount = 0;
+var trackElementCueChangeCount = 0;
+var trackCueChangeCount = 0;
+var cueEnterCount = 0;
+var cueExitCount = 0;
- video.addEventListener("loadedmetadata", function run_tests() {
- // Re-queue run_tests() at the end of the event loop until the track
- // element has loaded its data.
- if (trackElement.readyState == 1) {
- return setTimeout(run_tests, 0);
- }
- is(trackElement.readyState, 2, "Track::ReadyState should be set to LOADED.");
- ok('oncuechange' in trackElement.track, "Track::OnCueChange should exist.");
+video.addEventListener("loadedmetadata", function run_tests() {
+ // Re-queue run_tests() at the end of the event loop until the track
+ // element has loaded its data.
+ if (trackElement.readyState == 1) {
+ return setTimeout(run_tests, 0);
+ }
+ is(trackElement.readyState, 2, "Track::ReadyState should be set to LOADED.");
+ ok('oncuechange' in trackElement.track, "Track::OnCueChange should exist.");
- var textTrack = trackElement.track;
- is(textTrack.cues.length, 3, "textTrack.cues.length should 3.");
- textTrack.cues[0].onenter = function() {
- ++cueEnterCount;
- };
- textTrack.cues[0].onexit = function() {
- ++cueExitCount;
- };
- textTrack.cues[1].onenter = function() {
- ++cueEnterCount;
- };
- textTrack.cues[1].onexit = function() {
- ++cueExitCount;
- };
- textTrack.cues[2].onenter = function() {
- ++cueEnterCount;
- };
- textTrack.cues[2].onexit = function() {
- ++cueExitCount;
- };
+ var textTrack = trackElement.track;
+ is(textTrack.cues.length, 3, "textTrack.cues.length should 3.");
+ textTrack.cues[0].onenter = function() {
+ ++cueEnterCount;
+ };
+ textTrack.cues[0].onexit = function() {
+ ++cueExitCount;
+ };
+ textTrack.cues[1].onenter = function() {
+ ++cueEnterCount;
+ };
+ textTrack.cues[1].onexit = function() {
+ ++cueExitCount;
+ };
+ textTrack.cues[2].onenter = function() {
+ ++cueEnterCount;
+ };
+ textTrack.cues[2].onexit = function() {
+ ++cueExitCount;
+ };
- trackElement.track.oncuechange = function() {
- ++trackElementCueChangeCount;
- };
+ trackElement.track.oncuechange = function() {
+ ++trackElementCueChangeCount;
+ };
- trackElement.addEventListener("cuechange", function() {
- ++trackCueChangeCount;
- });
+ trackElement.addEventListener("cuechange", function() {
+ ++trackCueChangeCount;
+ });
- video.play();
- });
+ video.play();
+});
- video.addEventListener('ended', function() {
- // Should be fired 1 to 6 times, as there are 3 cues,
- // with a change event for when it is activated/deactivated
- // (6 events at most).
- isnot(trackElementCueChangeCount, 0, "TrackElement should fire cue change at least one time.");
- ok(trackElementCueChangeCount <= 6, 'trackElementCueChangeCount should <= 6');
- isnot(trackCueChangeCount, 0, "TrackElement.track should fire cue change at least one time.");
- ok(trackCueChangeCount <= 6, 'trackCueChangeCount should <= 6');
- is(cueEnterCount, 3, "cueEnterCount should fire three times.");
- is(cueExitCount, 3, "cueExitCount should fire three times.");
- SimpleTest.finish()
- })
- }
-);
+video.addEventListener('ended', function() {
+ // Should be fired 1 to 6 times, as there are 3 cues,
+ // with a change event for when it is activated/deactivated
+ // (6 events at most).
+ isnot(trackElementCueChangeCount, 0, "TrackElement should fire cue change at least one time.");
+ ok(trackElementCueChangeCount <= 6, 'trackElementCueChangeCount should <= 6');
+ isnot(trackCueChangeCount, 0, "TrackElement.track should fire cue change at least one time.");
+ ok(trackCueChangeCount <= 6, 'trackCueChangeCount should <= 6');
+ is(cueEnterCount, 3, "cueEnterCount should fire three times.");
+ is(cueExitCount, 3, "cueExitCount should fire three times.");
+ SimpleTest.finish()
+});
</script>
</pre>
</body>
</html>
--- a/dom/media/test/test_trackelementsrc.html
+++ b/dom/media/test/test_trackelementsrc.html
@@ -10,46 +10,44 @@
<body>
<p id="display"></p>
<div id="content" style="display: none">
</div>
<pre id="test">
<script class="testbody" type="text/javascript">
SimpleTest.waitForExplicitFinish();
-SpecialPowers.pushPrefEnv({"set": [["media.webvtt.enabled", true],
- ["media.webvtt.regions.enabled", true]]}, function() {
+SpecialPowers.pushPrefEnv({"set": [["media.webvtt.regions.enabled", true]]},
+ function() {
+ var video = document.createElement("video");
+ video.src = "seek.webm";
+ video.preload = "metadata";
+ var trackElement = document.createElement("track");
+ trackElement.src = "basic.vtt";
+ trackElement.default = true;
-var video = document.createElement("video");
-video.src = "seek.webm";
-video.preload = "metadata";
-var trackElement = document.createElement("track");
-trackElement.src = "basic.vtt";
-trackElement.default = true;
-
-document.getElementById("content").appendChild(video);
-video.appendChild(trackElement);
+ document.getElementById("content").appendChild(video);
+ video.appendChild(trackElement);
-video.addEventListener("loadedmetadata", function metadata() {
- if (trackElement.readyState <= 1) {
- return setTimeout(metadata, 0);
- }
- is(video.textTracks.length, 1, "Length should be 1.");
- is(video.textTracks[0].cues.length, 6, "Cue length should be 6.");
+ video.addEventListener("loadedmetadata", function metadata() {
+ if (trackElement.readyState <= 1) {
+ return setTimeout(metadata, 0);
+ }
+ is(video.textTracks.length, 1, "Length should be 1.");
+ is(video.textTracks[0].cues.length, 6, "Cue length should be 6.");
- trackElement.src = "sequential.vtt";
- trackElement.track.mode = "showing";
- video.play();
-});
+ trackElement.src = "sequential.vtt";
+ trackElement.track.mode = "showing";
+ video.play();
+ });
-video.addEventListener("ended", function end() {
- is(trackElement.readyState, 2, "readyState should be 2.")
- is(video.textTracks.length, 1, "Length should be 1.");
- is(video.textTracks[0].cues.length, 3, "Cue length should be 3.");
- SimpleTest.finish();
-});
-
+ video.addEventListener("ended", function end() {
+ is(trackElement.readyState, 2, "readyState should be 2.")
+ is(video.textTracks.length, 1, "Length should be 1.");
+ is(video.textTracks[0].cues.length, 3, "Cue length should be 3.");
+ SimpleTest.finish();
+ });
});
</script>
</pre>
</body>
</html>
deleted file mode 100644
--- a/dom/media/test/test_webvtt_disabled.html
+++ /dev/null
@@ -1,35 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=833386
--->
-<head>
- <meta charset='utf-8'>
- <title>Test for Bug 833386 - TextTrackList Pref Off</title>
- <script type="text/javascript" src="/MochiKit/MochiKit.js"></script>
- <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
-</head>
-<body>
-<p id="display"></p>
-<div id="content" style="display: none">
-</div>
-<pre id="test">
-<script class="testbody" type="text/javascript">
-SimpleTest.waitForExplicitFinish();
-SpecialPowers.pushPrefEnv({"set": [["media.webvtt.enabled", false]]},
- function() {
- var video = document.createElement("video");
- is(video.textTracks, undefined, "HTMLMediaElement::TextTracks() function should be unavailable.");
- is(video.addTextTrack, undefined, "HTMLMediaElement::AddTextTrack() function should be unavailable.");
- is(typeof TextTrackList, "undefined", "TextTrackList should not be available.");
- is(typeof TextTrack, "undefined", "TextTrack should not be available.");
- is(typeof VTTCue, "undefined", "VTTCue should not be available.");
- is(typeof TextTrackCueList, "undefined", "TextTrackCueList should not be available.");
- SimpleTest.finish();
- }
-);
-</script>
-</pre>
-</body>
-</html>
--- a/dom/webidl/HTMLMediaElement.webidl
+++ b/dom/webidl/HTMLMediaElement.webidl
@@ -87,19 +87,17 @@ interface HTMLMediaElement : HTMLElement
attribute boolean defaultMuted;
// TODO: Bug 847379
// tracks
[Pref="media.track.enabled"]
readonly attribute AudioTrackList audioTracks;
[Pref="media.track.enabled"]
readonly attribute VideoTrackList videoTracks;
- [Pref="media.webvtt.enabled"]
readonly attribute TextTrackList? textTracks;
- [Pref="media.webvtt.enabled"]
TextTrack addTextTrack(TextTrackKind kind,
optional DOMString label = "",
optional DOMString language = "");
};
// Mozilla extensions:
partial interface HTMLMediaElement {
[ChromeOnly]
--- a/dom/webidl/HTMLTrackElement.webidl
+++ b/dom/webidl/HTMLTrackElement.webidl
@@ -2,17 +2,16 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/.
*
* The origin of this IDL file is
* http://www.whatwg.org/specs/web-apps/current-work/#the-track-element
*/
-[Pref="media.webvtt.enabled"]
interface HTMLTrackElement : HTMLElement {
[SetterThrows, Pure]
attribute DOMString kind;
[SetterThrows, Pure]
attribute DOMString src;
[SetterThrows, Pure]
attribute DOMString srclang;
[SetterThrows, Pure]
--- a/dom/webidl/TextTrack.webidl
+++ b/dom/webidl/TextTrack.webidl
@@ -16,17 +16,16 @@ enum TextTrackKind {
};
enum TextTrackMode {
"disabled",
"hidden",
"showing"
};
-[Pref="media.webvtt.enabled"]
interface TextTrack : EventTarget {
readonly attribute TextTrackKind kind;
readonly attribute DOMString label;
readonly attribute DOMString language;
readonly attribute DOMString id;
readonly attribute DOMString inBandMetadataTrackDispatchType;
--- a/dom/webidl/TextTrackCue.webidl
+++ b/dom/webidl/TextTrackCue.webidl
@@ -2,20 +2,19 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/.
*
* The origin of this IDL file is
* https://html.spec.whatwg.org/#texttrackcue
*/
-[Pref="media.webvtt.enabled"]
interface TextTrackCue : EventTarget {
readonly attribute TextTrack? track;
attribute DOMString id;
attribute double startTime;
attribute double endTime;
attribute boolean pauseOnExit;
attribute EventHandler onenter;
attribute EventHandler onexit;
-};
\ No newline at end of file
+};
--- a/dom/webidl/TextTrackCueList.webidl
+++ b/dom/webidl/TextTrackCueList.webidl
@@ -2,14 +2,13 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/.
*
* The origin of this IDL file is
* http://www.whatwg.org/specs/web-apps/current-work/#texttrackcuelist
*/
-[Pref="media.webvtt.enabled"]
interface TextTrackCueList {
readonly attribute unsigned long length;
getter VTTCue (unsigned long index);
VTTCue? getCueById(DOMString id);
};
--- a/dom/webidl/TextTrackList.webidl
+++ b/dom/webidl/TextTrackList.webidl
@@ -2,17 +2,16 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/.
*
* The origin of this IDL file is
* http://www.whatwg.org/specs/web-apps/current-work/#texttracklist
*/
-[Pref="media.webvtt.enabled"]
interface TextTrackList : EventTarget {
readonly attribute unsigned long length;
getter TextTrack (unsigned long index);
TextTrack? getTrackById(DOMString id);
attribute EventHandler onchange;
attribute EventHandler onaddtrack;
attribute EventHandler onremovetrack;
--- a/dom/webidl/VTTCue.webidl
+++ b/dom/webidl/VTTCue.webidl
@@ -31,18 +31,17 @@ enum AlignSetting {
};
enum DirectionSetting {
"",
"rl",
"lr"
};
-[Constructor(double startTime, double endTime, DOMString text),
- Pref="media.webvtt.enabled"]
+[Constructor(double startTime, double endTime, DOMString text)]
interface VTTCue : TextTrackCue {
[Pref="media.webvtt.regions.enabled"]
attribute VTTRegion? region;
attribute DirectionSetting vertical;
attribute boolean snapToLines;
attribute (double or AutoKeyword) line;
[SetterThrows]
attribute LineAlignSetting lineAlign;
--- a/dom/webidl/VTTRegion.webidl
+++ b/dom/webidl/VTTRegion.webidl
@@ -2,17 +2,17 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/.
*
* The origin of this IDL file is
* http://dev.w3.org/html5/webvtt/#extension-of-the-texttrack-interface-for-region-support
*/
-[Constructor, Func="TextTrackRegion::RegionsEnabled"]
+[Constructor, Pref="media.webvtt.regions.enabled"]
interface VTTRegion {
[SetterThrows]
attribute double width;
attribute long lines;
[SetterThrows]
attribute double regionAnchorX;
--- a/modules/libpref/init/all.js
+++ b/modules/libpref/init/all.js
@@ -540,18 +540,17 @@ pref("media.getusermedia.screensharing.a
// includes Mozilla's test domain: mozilla.github.io (not intended for release)
pref("media.getusermedia.screensharing.allowed_domains", "mozilla.github.io,webex.com,*.webex.com,ciscospark.com,*.ciscospark.com,projectsquared.com,*.projectsquared.com,*.room.co,room.co,beta.talky.io,talky.io,*.clearslide.com,appear.in,*.appear.in,tokbox.com,*.tokbox.com,*.sso.francetelecom.fr,*.si.francetelecom.fr,*.sso.infra.ftgroup,*.multimedia-conference.orange-business.com,*.espacecollaboration.orange-business.com,free.gotomeeting.com,g2m.me,*.g2m.me,*.mypurecloud.com,*.mypurecloud.com.au,spreed.me,*.spreed.me,*.spreed.com,air.mozilla.org,*.circuit.com,*.yourcircuit.com,circuit.siemens.com,yourcircuit.siemens.com,circuitsandbox.net,*.unify.com,tandi.circuitsandbox.net,*.ericsson.net,*.cct.ericsson.net,*.opentok.com,*.conf.meetecho.com,meet.jit.si,*.meet.jit.si,web.stage.speakeasyapp.net,web.speakeasyapp.net,*.hipchat.me,*.beta-wspbx.com,*.wspbx.com,*.unifiedcloudit.com,*.smartboxuc.com,*.smartbox-uc.com,*.panterranetworks.com,pexipdemo.com,*.pexipdemo.com,pex.me,*.pex.me,*.rd.pexip.com,1click.io,*.1click.io,*.fuze.com,*.fuzemeeting.com,*.thinkingphones.com,gotomeeting.com,*.gotomeeting.com,gotowebinar.com,*.gotowebinar.com,gototraining.com,*.gototraining.com,citrix.com,*.citrix.com,expertcity.com,*.expertcity.com,citrixonline.com,*.citrixonline.com,g2m.me,*.g2m.me,gotomeet.me,*.gotomeet.me,gotomeet.at,*.gotomeet.at,miriadaxdes.miriadax.net,certificacion.miriadax.net,miriadax.net,*.wire.com,sylaps.com,*.sylaps.com");
#endif
// OS/X 10.6 and XP have screen/window sharing off by default due to various issues - Caveat emptor
pref("media.getusermedia.screensharing.allow_on_old_platforms", false);
pref("media.getusermedia.audiocapture.enabled", false);
-// TextTrack support
-pref("media.webvtt.enabled", true);
+// TextTrack WebVTT Region extension support.
pref("media.webvtt.regions.enabled", false);
// AudioTrack and VideoTrack support
pref("media.track.enabled", false);
// Whether to enable MediaSource support.
pref("media.mediasource.enabled", true);