Bug 1372073 - Suppress devicechange event.
MozReview-Commit-ID: JxxFbOMBQvY
--- a/dom/media/MediaDevices.cpp
+++ b/dom/media/MediaDevices.cpp
@@ -4,16 +4,17 @@
#include "mozilla/dom/MediaDevices.h"
#include "mozilla/dom/MediaStreamBinding.h"
#include "mozilla/dom/MediaDeviceInfo.h"
#include "mozilla/dom/MediaDevicesBinding.h"
#include "mozilla/dom/Promise.h"
#include "mozilla/MediaManager.h"
#include "MediaTrackConstraints.h"
+#include "nsContentUtils.h"
#include "nsIEventTarget.h"
#include "nsINamed.h"
#include "nsIScriptGlobalObject.h"
#include "nsIPermissionManager.h"
#include "nsPIDOMWindow.h"
#include "nsQueryObject.h"
#define DEVICECHANGE_HOLD_TIME_IN_MS 1000
@@ -227,16 +228,22 @@ MediaDevices::OnDeviceChange()
return;
}
if (!(MediaManager::Get()->IsActivelyCapturingOrHasAPermission(GetOwner()->WindowID()) ||
Preferences::GetBool("media.navigator.permission.disabled", false))) {
return;
}
+ // Do not fire event to content script when
+ // privacy.resistFingerprinting is true.
+ if (nsContentUtils::ShouldResistFingerprinting()) {
+ return;
+ }
+
if (!mFuzzTimer)
{
mFuzzTimer = NS_NewTimer();
}
if (!mFuzzTimer) {
MOZ_ASSERT(false);
return;