set_user_agent: undo override when called with null or no argument
[conkeror.git] / modules / user-agent.js
blob5bb7267110dc73435c51193e5c275f2113c5b265
1 /**
2  * (C) Copyright 2007-2010 John J. Foerch
3  * (C) Copyright 2007-2008 Jeremy Maitin-Shepard
4  *
5  * Use, modification, and distribution are subject to the terms specified in the
6  * COPYING file.
7 **/
9 default_pref("general.useragent.extra.conkeror", "Conkeror/"+version);
11 /**
12  * set_user_agent overrides the user agent string globally with whatever
13  * string is passed to it.  If called with null or no argument, any
14  * current override is undone, reverting to Conkeror's default user agent
15  * string.  The override is performed (rather non-conventionally) with a
16  * default pref instead of a user pref, which allows the override to be
17  * done cleanly from the rc, without interference by persisting prefs in
18  * the profile.
19  */
20 function set_user_agent (str) {
21     const p = "general.useragent.override";
22     if (str == null) {
23         var br=preferences.getDefaultBranch(p);
24         br.deleteBranch("");
25         user_pref(p, "");
26         clear_pref(p);
27     } else
28         session_pref(p, str);