Bug 1169290 - Guard navigator.webdriver behind dom.webdriver.enabled pref. r?bz,maja_zf
On the off chance exposing navigator.webdriver turns out
to be catastrophic, this patch introduces a new preference
dom.webdriver.enabled that controls its exposure. This lets us
flip a pref on release without releasing an update.
MozReview-Commit-ID: KisaqPb0Y4V
--- a/dom/webidl/Navigator.webidl
+++ b/dom/webidl/Navigator.webidl
@@ -309,10 +309,11 @@ interface NavigatorConcurrentHardware {
partial interface Navigator {
[Pref="security.webauth.webauthn", SecureContext, SameObject]
readonly attribute CredentialsContainer credentials;
};
// https://w3c.github.io/webdriver/webdriver-spec.html#interface
[NoInterfaceObject]
interface NavigatorAutomationInformation {
+ [Pref="dom.webdriver.enabled"]
readonly attribute boolean webdriver;
};
--- a/modules/libpref/init/all.js
+++ b/modules/libpref/init/all.js
@@ -561,16 +561,19 @@ pref("media.navigator.audio.full_duplex"
#endif
// Use MediaDataDecoder API for WebRTC, this includes hardware acceleration for
// decoding.
pref("media.navigator.mediadatadecoder_enabled", false);
#endif
pref("dom.webaudio.enabled", true);
+// Exposes the navigator.webdriver attribute.
+pref("dom.webdriver.enabled", true);
+
#if !defined(ANDROID)
pref("media.getusermedia.screensharing.enabled", true);
#endif
pref("media.getusermedia.audiocapture.enabled", false);
// TextTrack WebVTT Region extension support.
pref("media.webvtt.regions.enabled", true);