diff --git a/r2/r2/controllers/post.py b/r2/r2/controllers/post.py index 143d372c3..1e5629136 100644 --- a/r2/r2/controllers/post.py +++ b/r2/r2/controllers/post.py @@ -96,6 +96,7 @@ class PostController(ApiController): pref_threaded_messages = VBoolean("threaded_messages"), pref_collapse_read_messages = VBoolean("collapse_read_messages"), pref_private_feeds = VBoolean("private_feeds"), + pref_local_js = VBoolean('local_js'), pref_show_adbox = VBoolean("show_adbox"), pref_show_sponsors = VBoolean("show_sponsors"), pref_show_sponsorships = VBoolean("show_sponsorships"), diff --git a/r2/r2/lib/js.py b/r2/r2/lib/js.py index c277769cb..b9d593dd9 100755 --- a/r2/r2/lib/js.py +++ b/r2/r2/lib/js.py @@ -169,7 +169,7 @@ class JQuery(Module): def use(self): from r2.lib.template_helpers import static - if c.secure: + if c.secure or c.user.pref_local_js: return script_tag.format(src=static("jquery.js")) else: ext = ".js" if g.uncompressedJS else ".min.js" diff --git a/r2/r2/models/account.py b/r2/r2/models/account.py index 5a9fcbbcf..ad6c7e977 100644 --- a/r2/r2/models/account.py +++ b/r2/r2/models/account.py @@ -68,6 +68,7 @@ class Account(Thing): pref_threaded_messages = True, pref_collapse_read_messages = False, pref_private_feeds = True, + pref_local_js = False, pref_show_adbox = True, pref_show_sponsors = True, # sponsored links pref_show_sponsorships = True, diff --git a/r2/r2/templates/prefoptions.html b/r2/r2/templates/prefoptions.html index 3e7b6031d..26bd16390 100644 --- a/r2/r2/templates/prefoptions.html +++ b/r2/r2/templates/prefoptions.html @@ -279,6 +279,16 @@ ${_("details")} ) +
+ ${checkbox(_("load core JS libraries from reddit servers"), "local_js")} + + + ( + + ${_("details")} + + ) + %endif