| OLD | NEW | 
| (Empty) |  | 
 |   1 /* | 
 |   2  * This file is part of Adblock Plus <https://adblockplus.org/>, | 
 |   3  * Copyright (C) 2006-present eyeo GmbH | 
 |   4  * | 
 |   5  * Adblock Plus is free software: you can redistribute it and/or modify | 
 |   6  * it under the terms of the GNU General Public License version 3 as | 
 |   7  * published by the Free Software Foundation. | 
 |   8  * | 
 |   9  * Adblock Plus is distributed in the hope that it will be useful, | 
 |  10  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
 |  11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
 |  12  * GNU General Public License for more details. | 
 |  13  * | 
 |  14  * You should have received a copy of the GNU General Public License | 
 |  15  * along with Adblock Plus.  If not, see <http://www.gnu.org/licenses/>. | 
 |  16  */ | 
 |  17  | 
 |  18 /* eslint-env node */ | 
 |  19  | 
 |  20 "use strict"; | 
 |  21  | 
 |  22 const {Builder} = require("selenium-webdriver"); | 
 |  23 const firefox = require("selenium-webdriver/firefox"); | 
 |  24 require("geckodriver"); | 
 |  25  | 
 |  26 const {executeScript} = require("./webdriver"); | 
 |  27 const {ensureFirefox} = require("./firefox_download"); | 
 |  28  | 
 |  29 const FIREFOX_VERSION = "60.0b4"; | 
 |  30  | 
 |  31 function runScript(firefoxPath, script, scriptName, scriptArgs) | 
 |  32 { | 
 |  33   let binary = new firefox.Binary(firefoxPath); | 
 |  34   binary.addArguments("-headless"); | 
 |  35  | 
 |  36   const options = new firefox.Options() | 
 |  37         .setBinary(binary); | 
 |  38  | 
 |  39   const driver = new Builder() | 
 |  40         .forBrowser("firefox") | 
 |  41         .setFirefoxOptions(options) | 
 |  42         .build(); | 
 |  43  | 
 |  44   return executeScript(driver, "Firefox", script, scriptName, scriptArgs); | 
 |  45 } | 
 |  46  | 
 |  47 module.exports = function(script, scriptName, ...scriptArgs) | 
 |  48 { | 
 |  49   return ensureFirefox(FIREFOX_VERSION).then(firefoxPath => | 
 |  50   { | 
 |  51     return runScript(firefoxPath, script, scriptName, scriptArgs) | 
 |  52       .then(result => | 
 |  53       { | 
 |  54         return result; | 
 |  55       }).catch(error => | 
 |  56       { | 
 |  57         throw error; | 
 |  58       }); | 
 |  59   }); | 
 |  60 }; | 
| OLD | NEW |