Bug 1318833 - Part 3: Remove unused Silverlight checks from Decoder Doctor. r=gerald
--- a/dom/locales/en-US/chrome/dom/dom.properties
+++ b/dom/locales/en-US/chrome/dom/dom.properties
@@ -119,17 +119,17 @@ MediaLoadInvalidURI=Invalid URI. Load of
# LOCALIZATION NOTE: %1$S is the media resource's format/codec type (basically equivalent to the file type, e.g. MP4,AVI,WMV,MOV etc), %2$S is the URL of the media resource which failed to load.
MediaLoadUnsupportedTypeAttribute=Specified “type” attribute of “%1$S” is not supported. Load of media resource %2$S failed.
# LOCALIZATION NOTE: %1$S is the "media" attribute value of the <source> element. It is a media query. %2$S is the URL of the media resource which failed to load.
MediaLoadSourceMediaNotMatched=Specified “media” attribute of “%1$S” does not match the environment. Load of media resource %2$S failed.
# LOCALIZATION NOTE: %1$S is the MIME type HTTP header being sent by the web server, %2$S is the URL of the media resource which failed to load.
MediaLoadUnsupportedMimeType=HTTP “Content-Type” of “%1$S” is not supported. Load of media resource %2$S failed.
# LOCALIZATION NOTE: %S is the URL of the media resource which failed to load because of error in decoding.
MediaLoadDecodeError=Media resource %S could not be decoded.
-MediaWidevineNoWMFNoSilverlight=Trying to play Widevine with no Windows Media Foundation (nor Silverlight fallback), see https://support.mozilla.org/kb/fix-video-audio-problems-firefox-windows
+MediaWidevineNoWMF=Trying to play Widevine with no Windows Media Foundation. See https://support.mozilla.org/kb/fix-video-audio-problems-firefox-windows
# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
MediaWMFNeeded=To play video formats %S, you need to install extra Microsoft software, see https://support.mozilla.org/kb/fix-video-audio-problems-firefox-windows
# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
MediaUnsupportedBeforeWindowsVista=Video formats %S unsupported by Microsoft before Windows Vista
# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
MediaPlatformDecoderNotFound=The video on this page can’t be played. Your system may not have the required video codecs for: %S
MediaUnsupportedLibavcodec=The video on this page can’t be played. Your system has an unsupported version of libavcodec
# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
--- a/dom/media/DecoderDoctorDiagnostics.cpp
+++ b/dom/media/DecoderDoctorDiagnostics.cpp
@@ -245,19 +245,19 @@ DecoderDoctorDocumentWatcher::EnsureTime
if (NS_WARN_IF(NS_FAILED(
mTimer->InitWithCallback(
this, sAnalysisPeriod_ms, nsITimer::TYPE_ONE_SHOT)))) {
mTimer = nullptr;
}
}
}
-static const NotificationAndReportStringId sMediaWidevineNoWMFNoSilverlight =
+static const NotificationAndReportStringId sMediaWidevineNoWMF=
{ dom::DecoderDoctorNotificationType::Platform_decoder_not_found,
- "MediaWidevineNoWMFNoSilverlight" };
+ "MediaWidevineNoWMF" };
static const NotificationAndReportStringId sMediaWMFNeeded =
{ dom::DecoderDoctorNotificationType::Platform_decoder_not_found,
"MediaWMFNeeded" };
static const NotificationAndReportStringId sMediaUnsupportedBeforeWindowsVista =
{ dom::DecoderDoctorNotificationType::Platform_decoder_not_found,
"MediaUnsupportedBeforeWindowsVista" };
static const NotificationAndReportStringId sMediaPlatformDecoderNotFound =
{ dom::DecoderDoctorNotificationType::Platform_decoder_not_found,
@@ -270,20 +270,20 @@ static const NotificationAndReportString
"MediaNoDecoders" };
static const NotificationAndReportStringId sCannotInitializePulseAudio =
{ dom::DecoderDoctorNotificationType::Cannot_initialize_pulseaudio,
"MediaCannotInitializePulseAudio" };
static const NotificationAndReportStringId sUnsupportedLibavcodec =
{ dom::DecoderDoctorNotificationType::Unsupported_libavcodec,
"MediaUnsupportedLibavcodec" };
-static const NotificationAndReportStringId*
+static const NotificationAndReportStringId *const
sAllNotificationsAndReportStringIds[] =
{
- &sMediaWidevineNoWMFNoSilverlight,
+ &sMediaWidevineNoWMF,
&sMediaWMFNeeded,
&sMediaUnsupportedBeforeWindowsVista,
&sMediaPlatformDecoderNotFound,
&sMediaCannotPlayNoDecoders,
&sMediaNoDecoders,
&sCannotInitializePulseAudio,
&sUnsupportedLibavcodec,
};
@@ -370,43 +370,16 @@ ReportAnalysis(nsIDocument* aDocument,
filter.StripWhitespace();
if (filter.EqualsLiteral("*")
|| StringListContains(filter, aNotification.mReportStringId)) {
DispatchNotification(
aDocument->GetInnerWindow(), aNotification, aIsSolved, aParams);
}
}
-enum SilverlightPresence {
- eNoSilverlight,
- eSilverlightDisabled,
- eSilverlightEnabled
-};
-static SilverlightPresence
-CheckSilverlight()
-{
- MOZ_ASSERT(NS_IsMainThread());
- RefPtr<nsPluginHost> pluginHost = nsPluginHost::GetInst();
- if (!pluginHost) {
- return eNoSilverlight;
- }
- nsTArray<nsCOMPtr<nsIInternalPluginTag>> plugins;
- pluginHost->GetPlugins(plugins, /*aIncludeDisabled*/ true);
- for (const auto& plugin : plugins) {
- for (const auto& mime : plugin->MimeTypes()) {
- if (mime.LowerCaseEqualsLiteral("application/x-silverlight")
- || mime.LowerCaseEqualsLiteral("application/x-silverlight-2")) {
- return plugin->IsEnabled() ? eSilverlightEnabled : eSilverlightDisabled;
- }
- }
- }
-
- return eNoSilverlight;
-}
-
static nsString
CleanItemForFormatsList(const nsAString& aItem)
{
nsString item(aItem);
// Remove commas from item, as commas are used to separate items. It's fine
// to have a one-way mapping, it's only used for comparisons and in
// console display (where formats shouldn't contain commas in the first place)
item.ReplaceChar(',', ' ');
@@ -549,24 +522,21 @@ DecoderDoctorDocumentWatcher::Synthesize
}
}
// Look at Key System issues first, as they take precedence over format checks.
if (!unsupportedKeySystems.IsEmpty() && supportedKeySystems.IsEmpty()) {
// No supported key systems!
switch (lastKeySystemIssue) {
case DecoderDoctorDiagnostics::eWidevineWithNoWMF:
- if (CheckSilverlight() != eSilverlightEnabled) {
- DD_INFO("DecoderDoctorDocumentWatcher[%p, doc=%p]::SynthesizeAnalysis() - unsupported key systems: %s, widevine without WMF nor Silverlight",
- this, mDocument, NS_ConvertUTF16toUTF8(unsupportedKeySystems).get());
- ReportAnalysis(mDocument, sMediaWidevineNoWMFNoSilverlight,
- false, unsupportedKeySystems);
- return;
- }
- break;
+ DD_INFO("DecoderDoctorDocumentWatcher[%p, doc=%p]::SynthesizeAnalysis() - unsupported key systems: %s, Widevine without WMF",
+ this, mDocument, NS_ConvertUTF16toUTF8(unsupportedKeySystems).get());
+ ReportAnalysis(mDocument, sMediaWidevineNoWMF, false,
+ unsupportedKeySystems);
+ return;
default:
break;
}
}
// Next, check playability of requested formats.
if (!unplayableFormats.IsEmpty()) {
// Some requested formats cannot be played.
--- a/modules/libpref/init/all.js
+++ b/modules/libpref/init/all.js
@@ -396,17 +396,17 @@ pref("media.apple.mp4.enabled", true);
// media.gmp.storage.version.observed, and if the versions don't match,
// we clear storage and set media.gmp.storage.version.observed=expected.
// This provides a mechanism to clear GMP storage when non-compatible
// changes are made.
pref("media.gmp.storage.version.expected", 1);
// Filter what triggers user notifications.
// See DecoderDoctorDocumentWatcher::ReportAnalysis for details.
-pref("media.decoder-doctor.notifications-allowed", "MediaWMFNeeded,MediaWidevineNoWMFNoSilverlight,MediaCannotInitializePulseAudio,MediaCannotPlayNoDecoders,MediaUnsupportedLibavcodec");
+pref("media.decoder-doctor.notifications-allowed", "MediaWMFNeeded,MediaWidevineNoWMF,MediaCannotInitializePulseAudio,MediaCannotPlayNoDecoders,MediaUnsupportedLibavcodec");
// Whether we report partial failures.
pref("media.decoder-doctor.verbose", false);
// Whether DD should consider WMF-disabled a WMF failure, useful for testing.
pref("media.decoder-doctor.wmf-disabled-is-failure", false);
// Whether to suspend decoding of videos in background tabs.
#ifdef NIGHTLY_BUILD
pref("media.suspend-bkgnd-video.enabled", true);