Bug 1169290 - Guard navigator.webdriver behind dom.webdriver.enabled pref. r?bz,maja_zf draft
authorAndreas Tolfsen <ato@sny.no>
Fri, 09 Feb 2018 14:57:32 +0000
changeset 753899 ac2ca0f234a2268b68420caf876c84331f9017e6
parent 753898 9a6c619f6f3390750efa286162f461c0e0192d1c
push id98715
push userbmo:ato@sny.no
push dateMon, 12 Feb 2018 16:37:16 +0000
reviewersbz, maja_zf
bugs1169290
milestone60.0a1
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
dom/webidl/Navigator.webidl
modules/libpref/init/all.js
--- 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);