Bug 1390486 - Add "dom.file.createInChild" preference to recommended prefs. draft
authorHenrik Skupin <mail@hskupin.info>
Tue, 15 Aug 2017 17:47:15 +0200
changeset 646667 c1d45ccb7e290e8c9ddff28b8036f0a61446d471
parent 646498 564e82f0f289af976da01c2d50507017bbc152b5
child 726322 527de135d8690345d76cdad7013d598f2bb150ac
push id74204
push userbmo:hskupin@gmail.com
push dateTue, 15 Aug 2017 17:00:32 +0000
bugs1390486
milestone57.0a1
Bug 1390486 - Add "dom.file.createInChild" preference to recommended prefs. To allow geckodriver to create file objects in child processes, this preference has to be set to true. As such it needs to be recommended in Marionette and set as default preference for geckodriver. MozReview-Commit-ID: 8bdbi5jH6Vc
testing/geckodriver/CHANGES.md
testing/geckodriver/src/prefs.rs
testing/marionette/server.js
--- a/testing/geckodriver/CHANGES.md
+++ b/testing/geckodriver/CHANGES.md
@@ -1,15 +1,16 @@
 # Change log
 
 All notable changes to this program is documented in this file.
 
 ## Unreleased
 
 ### Added
+- Added preference `dom.file.createInChild` set to true to allow file object creation in content processes.
 - New window `state` field on the window rect response object, returned from [`GetWindowRect`], [`SetWindowRect`], [`MinimizeWindow`], [`MaximizeWindow`], and [`FullscreenWindow`] commands
 
 [`FullscreenWindow`]: https://docs.rs/webdriver/0.29.0/webdriver/command/enum.WebDriverCommand.html#variant.FullscreenWindow
 [`GetWindowRect`]: https://docs.rs/webdriver/0.29.0/webdriver/command/enum.WebDriverCommand.html#variant.GetWindowRect
 [`MaximizeWindow`]: https://docs.rs/webdriver/0.29.0/webdriver/command/enum.WebDriverCommand.html#variant.MaximizeWindow
 [`MinimizeWindow`]: https://docs.rs/webdriver/0.29.0/webdriver/command/enum.WebDriverCommand.html#variant.MinimizeWindow
 [`SetWindowRect`]: https://docs.rs/webdriver/0.29.0/webdriver/command/enum.WebDriverCommand.html#variant.SetWindowRect
 
--- a/testing/geckodriver/src/prefs.rs
+++ b/testing/geckodriver/src/prefs.rs
@@ -1,12 +1,12 @@
 use mozprofile::preferences::Pref;
 
 lazy_static! {
-    pub static ref DEFAULT: [(&'static str, Pref); 79] = [
+    pub static ref DEFAULT: [(&'static str, Pref); 80] = [
         // Disable automatic downloading of new releases
         ("app.update.auto", Pref::new(false)),
 
         // Disable automatically upgrading Firefox
         ("app.update.enabled", Pref::new(false)),
 
         // Increase the APZ content response timeout in tests to 1
         // minute.  This is to accommodate the fact that test environments
@@ -119,16 +119,19 @@ lazy_static! {
         ("datareporting.healthreport.uploadEnabled", Pref::new(false)),
         ("datareporting.policy.dataSubmissionEnabled", Pref::new(false)),
         ("datareporting.policy.dataSubmissionPolicyAccepted", Pref::new(false)),
         ("datareporting.policy.dataSubmissionPolicyBypassNotification", Pref::new(true)),
 
         // Disable popup-blocker
         ("dom.disable_open_during_load", Pref::new(false)),
 
+        // Enabling the support for File object creation in the content process
+        ("dom.file.createInChild", Pref::new(true)),
+
         // Disable the ProcessHangMonitor
         ("dom.ipc.reportProcessHangs", Pref::new(false)),
 
         // Disable slow script dialogues
         ("dom.max_chrome_script_run_time", Pref::new(0)),
         ("dom.max_script_run_time", Pref::new(0)),
 
         // Only load extensions from the application and user profile
--- a/testing/marionette/server.js
+++ b/testing/marionette/server.js
@@ -177,16 +177,19 @@ const RECOMMENDED_PREFS = new Map([
   ["datareporting.healthreport.uploadEnabled", false],
   ["datareporting.policy.dataSubmissionEnabled", false],
   ["datareporting.policy.dataSubmissionPolicyAccepted", false],
   ["datareporting.policy.dataSubmissionPolicyBypassNotification", true],
 
   // Disable popup-blocker
   ["dom.disable_open_during_load", false],
 
+  // Enabling the support for File object creation in the content process
+  ["dom.file.createInChild", true],
+
   // Disable the ProcessHangMonitor
   ["dom.ipc.reportProcessHangs", false],
 
   // Disable slow script dialogues
   ["dom.max_chrome_script_run_time", 0],
   ["dom.max_script_run_time", 0],
 
   // Only load extensions from the application and user profile