Skip to content

Commit

Permalink
Merge pull request #658 from catchpoint/fix_firefox_set_pref
Browse files Browse the repository at this point in the history
Fix firefox driver_set_pref
  • Loading branch information
mjkozicki authored Apr 18, 2024
2 parents 9c0c533 + 7efb2d8 commit 2fce1dd
Showing 1 changed file with 4 additions and 12 deletions.
16 changes: 4 additions & 12 deletions internal/firefox.py
Original file line number Diff line number Diff line change
Expand Up @@ -261,20 +261,12 @@ def driver_set_pref(self, key, value):
"""Set a Firefox pref at runtime"""
if self.driver is not None:
try:
script = 'const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm");'
script += 'Services.prefs.'
if isinstance(value, bool):
script += 'setBoolPref'
elif isinstance(value, (str, unicode)):
script += 'setStringPref'
else:
script += 'setIntPref'
script += '({0}, {1});'.format(json.dumps(key), json.dumps(value))
logging.debug(script)
script = 'const { Preferences } = ChromeUtils.importESModule("resource://gre/modules/Preferences.sys.mjs");'
script += f'Preferences.set({json.dumps(key)}, {json.dumps(value)});'
self.driver.set_context(self.driver.CONTEXT_CHROME)
self.driver.execute_script(script)
except Exception:
logging.exception("Error setting pref")
except Exception as err:
logging.exception("Error setting pref %s => %s: %s", key, value, err)
finally:
self.driver.set_context(self.driver.CONTEXT_CONTENT)

Expand Down

0 comments on commit 2fce1dd

Please sign in to comment.