diff --git a/browser/installer/windows/nsis/installer.nsi b/browser/installer/windows/nsis/installer.nsi index f7a009faf7..2dc30ba447 100644 --- a/browser/installer/windows/nsis/installer.nsi +++ b/browser/installer/windows/nsis/installer.nsi @@ -125,9 +125,9 @@ VIAddVersionKey "OriginalFilename" "setup.exe" Name "${BrandFullName}" OutFile "setup.exe" !ifdef HAVE_64BIT_BUILD - InstallDir "$PROGRAMFILES64\${BrandShortName}\" + InstallDir "$PROGRAMFILES64\${CompanyName}\${BrandShortName}\" !else - InstallDir "$PROGRAMFILES32\${BrandShortName}\" + InstallDir "$PROGRAMFILES32\${CompanyName}\${BrandShortName}\" !endif ShowInstDetails nevershow @@ -246,10 +246,10 @@ Section "-InstallStartCleanup" ${EndIf} ; setup the application model id registration value - ${InitHashAppModelId} "$INSTDIR" "Software\${BrandShortName}\TaskBarIDs" + ${InitHashAppModelId} "$INSTDIR" "Software\${CompanyName}\${BrandShortName}\TaskBarIDs" ; Remove the updates directory for Vista and above - ${CleanUpdateDirectories} "${BrandShortName}" "${CompanyName}\updates" + ${CleanUpdateDirectories} "${CompanyName}\${BrandShortName}" "${CompanyName}\updates" ${RemoveDeprecatedFiles} ${RemovePrecompleteEntries} "false" @@ -355,9 +355,9 @@ Section "-Application" APP_IDX ${RegCleanUninstall} ${UpdateProtocolHandlers} - ReadRegStr $0 HKLM "Software\${BrandShortName}" "CurrentVersion" + ReadRegStr $0 HKLM "Software\${CompanyName}\${BrandShortName}" "CurrentVersion" ${If} "$0" != "${GREVersion}" - WriteRegStr HKLM "Software\${BrandShortName}" "CurrentVersion" "${GREVersion}" + WriteRegStr HKLM "Software\${CompanyName}\${BrandShortName}" "CurrentVersion" "${GREVersion}" ${EndIf} ${EndIf} @@ -584,7 +584,7 @@ Section "-InstallEndCleanup" ; If we have something other than empty string now, write the value. ${If} "$0" != "" ClearErrors - WriteRegStr HKCU "Software\${BrandShortName}" "OldDefaultBrowserCommand" "$0" + WriteRegStr HKCU "Software\${CompanyName}\${BrandShortName}" "OldDefaultBrowserCommand" "$0" ${EndIf} ${LogHeader} "Setting as the default browser" @@ -600,7 +600,7 @@ Section "-InstallEndCleanup" ${ElseIfNot} ${Errors} ${LogHeader} "Writing default-browser opt-out" ClearErrors - WriteRegStr HKCU "Software\${BrandShortName}" "DefaultBrowserOptOut" "True" + WriteRegStr HKCU "Software\${CompanyName}\${BrandShortName}" "DefaultBrowserOptOut" "True" ${If} ${Errors} ${LogMsg} "Error writing default-browser opt-out" ${EndIf} diff --git a/browser/installer/windows/nsis/uninstaller.nsi b/browser/installer/windows/nsis/uninstaller.nsi index af9c518a16..0ed6958e27 100644 --- a/browser/installer/windows/nsis/uninstaller.nsi +++ b/browser/installer/windows/nsis/uninstaller.nsi @@ -121,9 +121,9 @@ VIAddVersionKey "OriginalFilename" "helper.exe" Name "${BrandFullName}" OutFile "helper.exe" !ifdef HAVE_64BIT_BUILD - InstallDir "$PROGRAMFILES64\${BrandShortName}\" + InstallDir "$PROGRAMFILES64\${CompanyName}\${BrandShortName}\" !else - InstallDir "$PROGRAMFILES32\${BrandShortName}\" + InstallDir "$PROGRAMFILES32\${CompanyName}\${BrandShortName}\" !endif ShowUnInstDetails nevershow @@ -193,7 +193,7 @@ Section "Uninstall" ${EndIf} ; setup the application model id registration value - ${un.InitHashAppModelId} "$INSTDIR" "Software\${BrandShortName}\TaskBarIDs" + ${un.InitHashAppModelId} "$INSTDIR" "Software\${CompanyName}\${BrandShortName}\TaskBarIDs" SetShellVarContext current ; Set SHCTX to HKCU ${un.RegCleanMain} "Software\${CompanyName}" @@ -207,11 +207,11 @@ Section "Uninstall" ${EndIf} ; Remove the updates directory for Vista and above - ${un.CleanUpdateDirectories} "${BrandShortName}" "${CompanyName}\updates" + ${un.CleanUpdateDirectories} "${CompanyName}\${BrandShortName}" "${CompanyName}\updates" ; Remove any app model id's stored in the registry for this install path - DeleteRegValue HKCU "Software\${BrandShortName}\TaskBarIDs" "$INSTDIR" - DeleteRegValue HKLM "Software\${BrandShortName}\TaskBarIDs" "$INSTDIR" + DeleteRegValue HKCU "Software\${CompanyName}\${BrandShortName}\TaskBarIDs" "$INSTDIR" + DeleteRegValue HKLM "Software\${CompanyName}\${BrandShortName}\TaskBarIDs" "$INSTDIR" ClearErrors WriteRegStr HKLM "Software\${CompanyName}" "${BrandShortName}InstallerTest" "Write Test" @@ -397,7 +397,7 @@ Section "Uninstall" ; subsequently deleted after checking. If the value is found during startup ; the browser will offer to Reset Basilisk. We use the UpdateChannel to match ; uninstalls of Basilisk-release with reinstalls of Basilisk-release, for example. - WriteRegStr HKCU "Software\${BrandShortName}" "Uninstalled-${UpdateChannel}" "True" + WriteRegStr HKCU "Software\${CompanyName}\${BrandShortName}" "Uninstalled-${UpdateChannel}" "True" ${un.IsFirewallSvcRunning} Pop $0 diff --git a/dom/base/nsDOMWindowUtils.cpp b/dom/base/nsDOMWindowUtils.cpp index 07b2beeb76..be9c16d0ec 100644 --- a/dom/base/nsDOMWindowUtils.cpp +++ b/dom/base/nsDOMWindowUtils.cpp @@ -30,9 +30,6 @@ #ifdef MOZ_FMP4 #include "MP4Decoder.h" #endif -#include "WMFDecoderModule.h" -#include "MediaPrefs.h" -#include "mozilla/gfx/gfxVars.h" #include "CubebUtils.h" #include "nsIScrollableFrame.h" @@ -2363,39 +2360,6 @@ nsDOMWindowUtils::GetSupportsHardwareH264Decoding(JS::MutableHandle a return NS_OK; } -NS_IMETHODIMP -nsDOMWindowUtils::GetSupportsHardwareVP9Decoding(JS::MutableHandle aPromise) -{ - nsCOMPtr window = do_QueryReferent(mWindow); - NS_ENSURE_STATE(window); - nsCOMPtr parentObject = - do_QueryInterface(window->GetCurrentInnerWindow()); - NS_ENSURE_STATE(parentObject); - - ErrorResult rv; - RefPtr promise = Promise::Create(parentObject, rv); - if (rv.Failed()) { - return rv.StealNSResult(); - } - -#if defined(XP_WIN) && defined(MOZ_WMF) - if (!MediaPrefs::PDMWMFVP9DecoderEnabled()) { - promise->MaybeResolve(NS_LITERAL_STRING("No; media.wmf.vp9.enabled is false")); - } else if (!gfx::gfxVars::CanUseHardwareVideoDecoding()) { - promise->MaybeResolve(NS_LITERAL_STRING("No; hardware video decoding disabled")); - } else if (WMFDecoderModule::HasVP9()) { - promise->MaybeResolve(NS_LITERAL_STRING("Yes")); - } else { - promise->MaybeResolve(NS_LITERAL_STRING("No; MFT unavailable")); - } -#else - promise->MaybeResolve(NS_LITERAL_STRING("No; not supported on this platform")); -#endif - - aPromise.setObject(*promise->PromiseObj()); - return NS_OK; -} - NS_IMETHODIMP nsDOMWindowUtils::GetCurrentAudioBackend(nsAString& aBackend) { diff --git a/dom/interfaces/base/nsIDOMWindowUtils.idl b/dom/interfaces/base/nsIDOMWindowUtils.idl index baf886f347..cd695cf186 100644 --- a/dom/interfaces/base/nsIDOMWindowUtils.idl +++ b/dom/interfaces/base/nsIDOMWindowUtils.idl @@ -1419,13 +1419,6 @@ interface nsIDOMWindowUtils : nsISupports { * in hardware. */ readonly attribute jsval supportsHardwareH264Decoding; - /** - * Returns a Promise that will be resolved with a string once the capabilities - * of the vp9 decoder have been determined. - * Success does not mean that all vp9 video decoding will be done - * in hardware. - */ - readonly attribute jsval supportsHardwareVP9Decoding; /** * Returns the current audio backend as a free-form string. diff --git a/dom/media/platforms/wmf/DXVA2Manager.cpp b/dom/media/platforms/wmf/DXVA2Manager.cpp index 69de2be84f..304b91ed36 100644 --- a/dom/media/platforms/wmf/DXVA2Manager.cpp +++ b/dom/media/platforms/wmf/DXVA2Manager.cpp @@ -185,10 +185,6 @@ static const GUID DXVA2_Intel_ModeH264_E = { 0x604F8E68, 0x4951, 0x4c54, { 0x88, 0xFE, 0xAB, 0xD2, 0x5C, 0x15, 0xB3, 0xD6 } }; -static const GUID DXVA2_ModeVP9_VLD_Profile0 = { - 0x463707f8, 0xa1d0, 0x4585, { 0x87, 0x6d, 0x83, 0xaa, 0x6d, 0x60, 0xb8, 0x9e } -}; - // This tests if a DXVA video decoder can be created for the given media type/resolution. // It uses the same decoder device (DXVA2_ModeH264_E - DXVA2_ModeH264_VLD_NoFGT) as the H264 // decoder MFT provided by windows (CLSID_CMSH264DecoderMFT) uses, so we can use it to determine @@ -389,10 +385,10 @@ D3D9DXVA2Manager::Init(layers::KnowsCompositor* aKnowsCompositor, bool found = false; for (UINT i = 0; i < deviceCount; i++) { if (decoderDevices[i] == DXVA2_ModeH264_E || - decoderDevices[i] == DXVA2_Intel_ModeH264_E || - decoderDevices[i] == DXVA2_ModeVP9_VLD_Profile0) { + decoderDevices[i] == DXVA2_Intel_ModeH264_E) { mDecoderGUID = decoderDevices[i]; found = true; + break; } } CoTaskMemFree(decoderDevices); @@ -694,11 +690,10 @@ D3D11DXVA2Manager::Init(layers::KnowsCompositor* aKnowsCompositor, for (UINT i = 0; i < profileCount; i++) { GUID id; hr = videoDevice->GetVideoDecoderProfile(i, &id); - if (SUCCEEDED(hr)) { - if (id == DXVA2_ModeH264_E || id == DXVA2_Intel_ModeH264_E || id == DXVA2_ModeVP9_VLD_Profile0) { - mDecoderGUID = id; - found = true; - } + if (SUCCEEDED(hr) && (id == DXVA2_ModeH264_E || id == DXVA2_Intel_ModeH264_E)) { + mDecoderGUID = id; + found = true; + break; } } if (!found) { diff --git a/dom/media/platforms/wmf/WMFDecoderModule.cpp b/dom/media/platforms/wmf/WMFDecoderModule.cpp index 045977d2e6..46e78fb17f 100644 --- a/dom/media/platforms/wmf/WMFDecoderModule.cpp +++ b/dom/media/platforms/wmf/WMFDecoderModule.cpp @@ -191,12 +191,6 @@ WMFDecoderModule::HasH264() return CanCreateWMFDecoder(); } -/* static */ bool -WMFDecoderModule::HasVP9() -{ - return CanCreateWMFDecoder(); -} - /* static */ bool WMFDecoderModule::HasAAC() { diff --git a/dom/media/platforms/wmf/WMFDecoderModule.h b/dom/media/platforms/wmf/WMFDecoderModule.h index 92b977031a..0cb4e86310 100644 --- a/dom/media/platforms/wmf/WMFDecoderModule.h +++ b/dom/media/platforms/wmf/WMFDecoderModule.h @@ -43,7 +43,6 @@ public: // require a "Media Feature Pack" to be installed. static bool HasAAC(); static bool HasH264(); - static bool HasVP9(); private: bool mWMFInitialized; diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js index 3c86d48351..9fbcbcab9c 100644 --- a/modules/libpref/init/all.js +++ b/modules/libpref/init/all.js @@ -404,7 +404,11 @@ pref("media.wmf.enabled", true); pref("media.wmf.decoder.thread-count", -1); pref("media.wmf.low-latency.enabled", false); pref("media.wmf.skip-blacklist", false); +#ifdef NIGHTLY_BUILD pref("media.wmf.vp9.enabled", true); +#else +pref("media.wmf.vp9.enabled", false); +#endif pref("media.windows-media-foundation.allow-d3d11-dxva", true); pref("media.wmf.disable-d3d11-for-dlls", "igd11dxva64.dll: 20.19.15.4463, 20.19.15.4454, 20.19.15.4444, 20.19.15.4416, 20.19.15.4404, 20.19.15.4390, 20.19.15.4380, 20.19.15.4377, 20.19.15.4364, 20.19.15.4360, 20.19.15.4352, 20.19.15.4331, 20.19.15.4326, 20.19.15.4300; igd10iumd32.dll: 20.19.15.4444, 20.19.15.4424, 20.19.15.4409, 20.19.15.4390, 20.19.15.4380, 20.19.15.4360, 10.18.10.4358, 20.19.15.4331, 20.19.15.4312, 20.19.15.4300, 10.18.15.4281, 10.18.15.4279, 10.18.10.4276, 10.18.15.4268, 10.18.15.4256, 10.18.10.4252, 10.18.15.4248, 10.18.14.4112, 10.18.10.3958, 10.18.10.3496, 10.18.10.3431, 10.18.10.3412, 10.18.10.3355, 9.18.10.3234, 9.18.10.3071, 9.18.10.3055, 9.18.10.3006; igd10umd32.dll: 9.17.10.4229, 9.17.10.3040, 9.17.10.2857, 8.15.10.2274, 8.15.10.2272, 8.15.10.2246, 8.15.10.1840, 8.15.10.1808; igd10umd64.dll: 9.17.10.4229, 9.17.10.2857, 10.18.10.3496; isonyvideoprocessor.dll: 4.1.2247.8090, 4.1.2153.6200; tosqep.dll: 1.2.15.526, 1.1.12.201, 1.0.11.318, 1.0.11.215, 1.0.10.1224; tosqep64.dll: 1.1.12.201, 1.0.11.215; nvwgf2um.dll: 22.21.13.8253, 22.21.13.8233, 22.21.13.8205, 22.21.13.8189, 22.21.13.8178, 22.21.13.8165, 21.21.13.7892, 21.21.13.7878, 21.21.13.7866, 21.21.13.7849, 21.21.13.7654, 21.21.13.7653, 21.21.13.7633, 21.21.13.7619, 21.21.13.7563, 21.21.13.7306, 21.21.13.7290, 21.21.13.7270, 21.21.13.7254, 21.21.13.6939, 21.21.13.6926, 21.21.13.6909, 21.21.13.4201, 21.21.13.4200, 10.18.13.6881, 10.18.13.6839, 10.18.13.6510, 10.18.13.6472, 10.18.13.6143, 10.18.13.5946, 10.18.13.5923, 10.18.13.5921, 10.18.13.5891, 10.18.13.5887, 10.18.13.5582, 10.18.13.5445, 10.18.13.5382, 10.18.13.5362, 9.18.13.4788, 9.18.13.4752, 9.18.13.4725, 9.18.13.4709, 9.18.13.4195, 9.18.13.4192, 9.18.13.4144, 9.18.13.4052, 9.18.13.3788, 9.18.13.3523, 9.18.13.3235, 9.18.13.3165, 9.18.13.2723, 9.18.13.2702, 9.18.13.1422, 9.18.13.1407, 9.18.13.1106, 9.18.13.546; atidxx32.dll: 21.19.151.3, 21.19.142.257, 21.19.137.514, 21.19.137.1, 21.19.134.1, 21.19.128.7, 21.19.128.4, 20.19.0.32837, 20.19.0.32832, 8.17.10.682, 8.17.10.671, 8.17.10.661, 8.17.10.648, 8.17.10.644, 8.17.10.625, 8.17.10.605, 8.17.10.581, 8.17.10.569, 8.17.10.560, 8.17.10.545, 8.17.10.539, 8.17.10.531, 8.17.10.525, 8.17.10.520, 8.17.10.519, 8.17.10.514, 8.17.10.511, 8.17.10.494, 8.17.10.489, 8.17.10.483, 8.17.10.453, 8.17.10.451, 8.17.10.441, 8.17.10.436, 8.17.10.432, 8.17.10.425, 8.17.10.418, 8.17.10.414, 8.17.10.401, 8.17.10.395, 8.17.10.385, 8.17.10.378, 8.17.10.362, 8.17.10.355, 8.17.10.342, 8.17.10.331, 8.17.10.318, 8.17.10.310, 8.17.10.286, 8.17.10.269, 8.17.10.261, 8.17.10.247, 8.17.10.240, 8.15.10.212; atidxx64.dll: 21.19.151.3, 21.19.142.257, 21.19.137.514, 21.19.137.1, 21.19.134.1, 21.19.128.7, 21.19.128.4, 20.19.0.32832, 8.17.10.682, 8.17.10.661, 8.17.10.644, 8.17.10.625; nvumdshim.dll: 10.18.13.6822"); pref("media.wmf.disable-d3d9-for-dlls", "igdumd64.dll: 8.15.10.2189, 8.15.10.2119, 8.15.10.2104, 8.15.10.2102, 8.771.1.0; atiumd64.dll: 7.14.10.833, 7.14.10.867, 7.14.10.885, 7.14.10.903, 7.14.10.911, 8.14.10.768, 9.14.10.1001, 9.14.10.1017, 9.14.10.1080, 9.14.10.1128, 9.14.10.1162, 9.14.10.1171, 9.14.10.1183, 9.14.10.1197, 9.14.10.945, 9.14.10.972, 9.14.10.984, 9.14.10.996"); diff --git a/toolkit/content/aboutSupport.js b/toolkit/content/aboutSupport.js index 7026b651cc..9684e80ba7 100644 --- a/toolkit/content/aboutSupport.js +++ b/toolkit/content/aboutSupport.js @@ -336,7 +336,6 @@ var snapshotFormatters = { addRowFromKey("features", "webgl2DriverExtensions"); addRowFromKey("features", "webgl2Extensions"); addRowFromKey("features", "supportsHardwareH264", "hardwareH264"); - addRowFromKey("features", "supportsHardwareVP9", "hardwareVP9"); addRowFromKey("features", "currentAudioBackend", "audioBackend"); addRowFromKey("features", "direct2DEnabled", "#Direct2D"); diff --git a/toolkit/locales/en-US/chrome/global/aboutSupport.properties b/toolkit/locales/en-US/chrome/global/aboutSupport.properties index e2836d6afb..b452514158 100644 --- a/toolkit/locales/en-US/chrome/global/aboutSupport.properties +++ b/toolkit/locales/en-US/chrome/global/aboutSupport.properties @@ -59,7 +59,6 @@ clearTypeParameters = ClearType Parameters compositing = Compositing hardwareH264 = Hardware H264 Decoding -hardwareVP9 = Hardware VP9 Decoding audioBackend = Audio Backend mainThreadNoOMTC = main thread, no OMTC yes = Yes diff --git a/toolkit/modules/Troubleshoot.jsm b/toolkit/modules/Troubleshoot.jsm index d2f2b09cf2..c25cbce433 100644 --- a/toolkit/modules/Troubleshoot.jsm +++ b/toolkit/modules/Troubleshoot.jsm @@ -357,15 +357,6 @@ var dataProviders = { promises.push(promise); } catch (e) {} - data.supportsHardwareVP9 = "Unknown"; - try { - let promise = winUtils.supportsHardwareVP9Decoding; - promise.then(function(v) { - data.supportsHardwareVP9 = v; - }); - promises.push(promise); - } catch (e) {} - data.currentAudioBackend = winUtils.currentAudioBackend; if (!data.numAcceleratedWindows && gfxInfo) {